FIX #13 - UA table
This commit is contained in:
parent
8b99410b45
commit
bf1e3ff8c7
@ -13,37 +13,23 @@ class AuditLogController extends HashedStudyControllerBase
|
|||||||
public function popup()
|
public function popup()
|
||||||
{
|
{
|
||||||
$study = $this->getStudy();
|
$study = $this->getStudy();
|
||||||
$sql = <<<'SQL'
|
|
||||||
SELECT
|
|
||||||
aud.user_id,
|
|
||||||
usr.display_name AS user_name,
|
|
||||||
aud.category,
|
|
||||||
aud.activity,
|
|
||||||
aud.ip_addr,
|
|
||||||
aud.user_agent,
|
|
||||||
aud.orthanc_uuid,
|
|
||||||
aud.url,
|
|
||||||
aud.notes,
|
|
||||||
aud.created_at
|
|
||||||
FROM
|
|
||||||
audit_logs AS aud
|
|
||||||
INNER JOIN users AS usr ON aud.user_id = usr."id"
|
|
||||||
WHERE
|
|
||||||
aud.study_id = :id
|
|
||||||
ORDER BY
|
|
||||||
aud."id" DESC
|
|
||||||
SQL;
|
|
||||||
// $logs = DB::select($sql, ['id' => $study->id]);
|
|
||||||
$logs = DB::table('audit_logs')
|
$logs = DB::table('audit_logs')
|
||||||
->leftjoin('users', 'users.id', '=', 'audit_logs.user_id')
|
->leftjoin('users', 'users.id', '=', 'audit_logs.user_id')
|
||||||
->selectRaw('users.display_name as user_name, audit_logs.*')
|
->leftjoin('user_agents', 'user_agents.id', '=', 'audit_logs.user_agent_id')
|
||||||
|
->selectRaw('users.display_name as user_name, audit_logs.created_at as log_time, audit_logs.*, user_agents.*')
|
||||||
->orderByDesc('audit_logs.id')
|
->orderByDesc('audit_logs.id')
|
||||||
->where('audit_logs.study_id', $study->id)
|
->where('audit_logs.study_id', $study->id)
|
||||||
->get();
|
->get();
|
||||||
|
|
||||||
$logs->each(function ($log) {
|
$logs->each(function ($log) {
|
||||||
$log->category_name = Category::from($log->category)->name;
|
$log->category_name = Category::from($log->category)->name;
|
||||||
$log->activity_name = Str::slug(Activity::from($log->activity)->name);
|
$log->activity_name = Str::of(Activity::from($log->activity)->name)->slug('-')->replace('-', ' ')->title();
|
||||||
|
if (filled($log->user_agent)) {
|
||||||
|
$log->browser = "Browser: {$log->browser_name}\nDevice: {$log->device_type}\nPlatform: {$log->platform}";
|
||||||
|
} else {
|
||||||
|
$log->browser = null;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return view('staff.audit.popup', compact('study', 'logs'));
|
return view('staff.audit.popup', compact('study', 'logs'));
|
||||||
|
@ -41,6 +41,7 @@ public static function upsertBrowser(?string $ua = null): int
|
|||||||
'browser_version' => $browser->browserVersion(),
|
'browser_version' => $browser->browserVersion(),
|
||||||
'platform' => $browser->platformFamily(),
|
'platform' => $browser->platformFamily(),
|
||||||
'platform_version' => $browser->platformVersion(),
|
'platform_version' => $browser->platformVersion(),
|
||||||
|
'created_at' => now(),
|
||||||
];
|
];
|
||||||
DB::table('user_agents')->insert($params);
|
DB::table('user_agents')->insert($params);
|
||||||
|
|
||||||
|
@ -1,14 +1,21 @@
|
|||||||
<table class="table table-sm table-bordered table-responsive">
|
<img src="{{ asset('imgs/audit_64.png') }}" alt="">
|
||||||
|
<table class="table table-sm table-striped">
|
||||||
@foreach ($logs as $log)
|
@foreach ($logs as $log)
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ $log->created_at }}</td>
|
<td>{{ $log->log_time }}</td>
|
||||||
<td>{{ $log->user_name }}</td>
|
<td>{{ $log->user_name }}</td>
|
||||||
<td>{{ $log->category_name }}</td>
|
|
||||||
<td>{{ $log->activity_name }}</td>
|
<td>{{ $log->activity_name }}</td>
|
||||||
<td>{{ $log->ip_addr }}</td>
|
|
||||||
<td>{{ $log->notes }}</td>
|
<td>{{ $log->notes }}</td>
|
||||||
<td>
|
<td>
|
||||||
@include('_partials._img-tooltip', ['src' => asset('imgs/browser_64.png'), 'tip' => $log->user_agent, 'class' => 'msg-icon'])
|
@isset($log->ip_addr)
|
||||||
|
<a target="_blank" href="{{ 'https://ipinfo.io/'.$log->ip_addr }}">{{ $log->ip_addr }}</a>
|
||||||
|
@endisset
|
||||||
|
</td>
|
||||||
|
<td>{{ $log->category_name }}</td>
|
||||||
|
<td>
|
||||||
|
@isset($log->browser)
|
||||||
|
@include('_partials._img-tooltip', ['src' => asset('imgs/browser_64.png'), 'tip' => $log->browser, 'class' => 'msg-icon'])
|
||||||
|
@endisset
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
@isset($log->url)
|
@isset($log->url)
|
||||||
|
Loading…
Reference in New Issue
Block a user