X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/a6633642232efd164d4708967ab59e498fbff896..refs/pull/3503/head:/app/Http/Controllers/AuditLogController.php diff --git a/app/Http/Controllers/AuditLogController.php b/app/Http/Controllers/AuditLogController.php index eb6eecc94..ec3f36975 100644 --- a/app/Http/Controllers/AuditLogController.php +++ b/app/Http/Controllers/AuditLogController.php @@ -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, ]); }