]> BookStack Code Mirror - bookstack/blob - resources/views/settings/audit.blade.php
Fixes padding issues of the sidebar's items
[bookstack] / resources / views / settings / audit.blade.php
1 @extends('layouts.simple')
2
3 @section('body')
4 <div class="container">
5
6     <div class="grid left-focus v-center no-row-gap">
7         <div class="py-m">
8             @include('settings.parts.navbar', ['selected' => 'audit'])
9         </div>
10     </div>
11
12     <div class="card content-wrap auto-height">
13         <h2 class="list-heading">{{ trans('settings.audit') }}</h2>
14         <p class="text-muted">{{ trans('settings.audit_desc') }}</p>
15
16         <div class="flex-container-row">
17             <div component="dropdown" class="list-sort-type dropdown-container mr-m">
18                 <label for="">{{ trans('settings.audit_event_filter') }}</label>
19                 <button refs="dropdown@toggle" aria-haspopup="true" aria-expanded="false" aria-label="{{ trans('common.sort_options') }}" class="input-base text-left">{{ $listDetails['event'] ?: trans('settings.audit_event_filter_no_filter') }}</button>
20                 <ul refs="dropdown@menu" class="dropdown-menu">
21                     <li @if($listDetails['event'] === '') class="active" @endif><a href="{{ sortUrl('/settings/audit', $listDetails, ['event' => '']) }}">{{ trans('settings.audit_event_filter_no_filter') }}</a></li>
22                     @foreach($activityTypes as $type)
23                         <li @if($type === $listDetails['event']) class="active" @endif><a href="{{ sortUrl('/settings/audit', $listDetails, ['event' => $type]) }}">{{ $type }}</a></li>
24                     @endforeach
25                 </ul>
26             </div>
27
28             <form action="{{ url('/settings/audit') }}" method="get" class="flex-container-row mr-m">
29                 @if(!empty($listDetails['event']))
30                     <input type="hidden" name="event" value="{{ $listDetails['event'] }}">
31                 @endif
32
33                 @foreach(['date_from', 'date_to'] as $filterKey)
34                     <div class="mr-m">
35                         <label for="audit_filter_{{ $filterKey }}">{{ trans('settings.audit_' . $filterKey) }}</label>
36                         <input id="audit_filter_{{ $filterKey }}"
37                                component="submit-on-change"
38                                type="date"
39                                name="{{ $filterKey }}"
40                                value="{{ $listDetails[$filterKey] ?? '' }}">
41                     </div>
42                 @endforeach
43
44                 <div class="form-group ml-auto"
45                      component="submit-on-change"
46                      option:submit-on-change:filter='[name="user"]'>
47                     <label for="owner">{{ trans('settings.audit_table_user') }}</label>
48                     @include('form.user-select', ['user' => $listDetails['user'] ? \BookStack\Auth\User::query()->find($listDetails['user']) : null, 'name' => 'user', 'compact' =>  true])
49                 </div>
50             </form>
51         </div>
52
53         <hr class="mt-l mb-s">
54
55         {{ $activities->links() }}
56
57         <table class="table">
58             <tbody>
59             <tr>
60                 <th>{{ trans('settings.audit_table_user') }}</th>
61                 <th>
62                     <a href="{{ sortUrl('/settings/audit', $listDetails, ['sort' => 'key']) }}">{{ trans('settings.audit_table_event') }}</a>
63                 </th>
64                 <th>{{ trans('settings.audit_table_related') }}</th>
65                 <th>{{ trans('settings.audit_table_ip') }}</th>
66                 <th>
67                     <a href="{{ sortUrl('/settings/audit', $listDetails, ['sort' => 'created_at']) }}">{{ trans('settings.audit_table_date') }}</a></th>
68             </tr>
69             @foreach($activities as $activity)
70                 <tr>
71                     <td>
72                         @include('settings.parts.table-user', ['user' => $activity->user, 'user_id' => $activity->user_id])
73                     </td>
74                     <td>{{ $activity->type }}</td>
75                     <td width="40%">
76                         @if($activity->entity)
77                             <a href="{{ $activity->entity->getUrl() }}" class="table-entity-item">
78                                 <span role="presentation" class="icon text-{{$activity->entity->getType()}}">@icon($activity->entity->getType())</span>
79                                 <div class="text-{{ $activity->entity->getType() }}">
80                                     {{ $activity->entity->name }}
81                                 </div>
82                             </a>
83                         @elseif($activity->detail && $activity->isForEntity())
84                             <div class="px-m">
85                                 {{ trans('settings.audit_deleted_item') }} <br>
86                                 {{ trans('settings.audit_deleted_item_name', ['name' => $activity->detail]) }}
87                             </div>
88                         @elseif($activity->detail)
89                             <div class="px-m">{{ $activity->detail }}</div>
90                         @endif
91                     </td>
92                     <td>{{ $activity->ip }}</td>
93                     <td>{{ $activity->created_at }}</td>
94                 </tr>
95             @endforeach
96             </tbody>
97         </table>
98
99         {{ $activities->links() }}
100     </div>
101
102 </div>
103 @stop