feat: inisialisasi project kit v2
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Inertia\Inertia;
|
||||
use Spatie\Activitylog\Models\Activity;
|
||||
|
||||
class ActivityLogController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$this->authorize('user.view');
|
||||
|
||||
$search = $request->input('search');
|
||||
$logName = $request->input('log_name');
|
||||
$event = $request->input('event');
|
||||
$perPage = (int) $request->input('per_page', 15);
|
||||
|
||||
$query = Activity::with('causer')->latest();
|
||||
|
||||
if ($search) {
|
||||
$query->where(function ($q) use ($search) {
|
||||
$q->where('description', 'like', "%{$search}%")
|
||||
->orWhere('log_name', 'like', "%{$search}%");
|
||||
});
|
||||
}
|
||||
|
||||
if ($logName) {
|
||||
$query->where('log_name', $logName);
|
||||
}
|
||||
|
||||
if ($event) {
|
||||
$query->where('event', $event);
|
||||
}
|
||||
|
||||
$activities = $query->paginate($perPage)->withQueryString();
|
||||
|
||||
$logNames = Activity::distinct()->pluck('log_name');
|
||||
$events = Activity::distinct()->whereNotNull('event')->pluck('event');
|
||||
|
||||
return Inertia::render('ActivityLogs/Index', [
|
||||
'activities' => [
|
||||
'data' => $activities->items(),
|
||||
'meta' => [
|
||||
'current_page' => $activities->currentPage(),
|
||||
'last_page' => $activities->lastPage(),
|
||||
'total' => $activities->total(),
|
||||
'per_page' => $activities->perPage(),
|
||||
],
|
||||
'links' => $activities->linkCollection()->toArray(),
|
||||
],
|
||||
'filters' => $request->only(['search', 'log_name', 'event', 'per_page']),
|
||||
'availableLogNames' => $logNames,
|
||||
'availableEvents' => $events,
|
||||
]);
|
||||
}
|
||||
|
||||
public function bulkDelete(Request $request)
|
||||
{
|
||||
$this->authorize('user.delete');
|
||||
|
||||
$ids = (array) $request->input('ids', []);
|
||||
|
||||
Activity::whereIn('id', $ids)->delete();
|
||||
|
||||
return back()->with('success', \count($ids) . ' logs deleted successfully.');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user