52 lines
1.5 KiB
PHP
52 lines
1.5 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace BookStack\Http\Controllers;
|
||
|
|
||
|
use BookStack\Actions\Activity;
|
||
|
use Illuminate\Http\Request;
|
||
|
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'),
|
||
|
'date_from' => $request->get('date_from', ''),
|
||
|
'date_to' => $request->get('date_to', ''),
|
||
|
];
|
||
|
|
||
|
$query = Activity::query()
|
||
|
->with(['entity', 'user'])
|
||
|
->orderBy($listDetails['sort'], $listDetails['order']);
|
||
|
|
||
|
if ($listDetails['event']) {
|
||
|
$query->where('key', '=', $listDetails['event']);
|
||
|
}
|
||
|
|
||
|
if ($listDetails['date_from']) {
|
||
|
$query->where('created_at', '>=', $listDetails['date_from']);
|
||
|
}
|
||
|
if ($listDetails['date_to']) {
|
||
|
$query->where('created_at', '<=', $listDetails['date_to']);
|
||
|
}
|
||
|
|
||
|
$activities = $query->paginate(100);
|
||
|
$activities->appends($listDetails);
|
||
|
|
||
|
$keys = DB::table('activities')->select('key')->distinct()->pluck('key');
|
||
|
$this->setPageTitle(trans('settings.audit'));
|
||
|
return view('settings.audit', [
|
||
|
'activities' => $activities,
|
||
|
'listDetails' => $listDetails,
|
||
|
'activityKeys' => $keys,
|
||
|
]);
|
||
|
}
|
||
|
}
|