]> BookStack Code Mirror - bookstack/blobdiff - app/Http/Controllers/AuditLogController.php
Cleaned testing service provider usage
[bookstack] / app / Http / Controllers / AuditLogController.php
index eb6eecc944ec0ba29567b2147b5d88af4f39d437..ec3f3697534fcabe6e74ddf4759e610160bcca75 100644 (file)
@@ -8,18 +8,19 @@ use Illuminate\Support\Facades\DB;
 
 class AuditLogController extends Controller
 {
-
     public function index(Request $request)
     {
         $this->checkPermission('settings-manage');
         $this->checkPermission('users-manage');
 
         $listDetails = [
-            'order' => $request->get('order', 'desc'),
-            'event' => $request->get('event', ''),
-            'sort' => $request->get('sort', 'created_at'),
+            'order'     => $request->get('order', 'desc'),
+            'event'     => $request->get('event', ''),
+            'sort'      => $request->get('sort', 'created_at'),
             'date_from' => $request->get('date_from', ''),
-            'date_to' => $request->get('date_to', ''),
+            'date_to'   => $request->get('date_to', ''),
+            'user'      => $request->get('user', ''),
+            'ip'        => $request->get('ip', ''),
         ];
 
         $query = Activity::query()
@@ -27,13 +28,16 @@ class AuditLogController extends Controller
                 'entity' => function ($query) {
                     $query->withTrashed();
                 },
-                'user'
+                'user',
             ])
             ->orderBy($listDetails['sort'], $listDetails['order']);
 
         if ($listDetails['event']) {
             $query->where('type', '=', $listDetails['event']);
         }
+        if ($listDetails['user']) {
+            $query->where('user_id', '=', $listDetails['user']);
+        }
 
         if ($listDetails['date_from']) {
             $query->where('created_at', '>=', $listDetails['date_from']);
@@ -41,15 +45,19 @@ class AuditLogController extends Controller
         if ($listDetails['date_to']) {
             $query->where('created_at', '<=', $listDetails['date_to']);
         }
+        if ($listDetails['ip']) {
+            $query->where('ip', 'like', $listDetails['ip'] . '%');
+        }
 
         $activities = $query->paginate(100);
         $activities->appends($listDetails);
 
         $types = DB::table('activities')->select('type')->distinct()->pluck('type');
         $this->setPageTitle(trans('settings.audit'));
+
         return view('settings.audit', [
-            'activities' => $activities,
-            'listDetails' => $listDetails,
+            'activities'    => $activities,
+            'listDetails'   => $listDetails,
             'activityTypes' => $types,
         ]);
     }