]> BookStack Code Mirror - bookstack/blob - resources/views/settings/audit.blade.php
Removed addition detail spacing in audit list
[bookstack] / resources / views / settings / audit.blade.php
1 @extends('layouts.simple')
2
3 @section('body')
4 <div class="container">
5
6     @include('settings.parts.navbar', ['selected' => 'audit'])
7
8     <div class="card content-wrap auto-height">
9         <h1 class="list-heading">{{ trans('settings.audit') }}</h1>
10         <p class="text-muted">{{ trans('settings.audit_desc') }}</p>
11
12         <form action="{{ url('/settings/audit') }}" method="get" class="flex-container-row wrap justify-flex-start gap-x-m gap-y-xs">
13
14             @foreach(request()->only(['order', 'sort']) as $key => $val)
15                 <input type="hidden" name="{{ $key }}" value="{{ $val }}">
16             @endforeach
17
18             <div component="dropdown" class="list-sort-type dropdown-container">
19                 <label for="">{{ trans('settings.audit_event_filter') }}</label>
20                 <button refs="dropdown@toggle"
21                         type="button"
22                         aria-haspopup="true"
23                         aria-expanded="false"
24                         aria-label="{{ trans('common.sort_options') }}"
25                         class="input-base text-left">{{ $filters['event'] ?: trans('settings.audit_event_filter_no_filter') }}</button>
26                 <ul refs="dropdown@menu" class="dropdown-menu">
27                     <li @if($filters['event'] === '') class="active" @endif><a href="{{ sortUrl('/settings/audit', array_filter(request()->except('page')), ['event' => '']) }}" class="text-item">{{ trans('settings.audit_event_filter_no_filter') }}</a></li>
28                     @foreach($activityTypes as $type)
29                         <li @if($type === $filters['event']) class="active" @endif><a href="{{ sortUrl('/settings/audit', array_filter(request()->except('page')), ['event' => $type]) }}" class="text-item">{{ $type }}</a></li>
30                     @endforeach
31                 </ul>
32             </div>
33
34             @if(!empty($filters['event']))
35                 <input type="hidden" name="event" value="{{ $filters['event'] }}">
36             @endif
37
38             @foreach(['date_from', 'date_to'] as $filterKey)
39                 <div class=>
40                     <label for="audit_filter_{{ $filterKey }}">{{ trans('settings.audit_' . $filterKey) }}</label>
41                     <input id="audit_filter_{{ $filterKey }}"
42                            component="submit-on-change"
43                            type="date"
44                            name="{{ $filterKey }}"
45                            value="{{ $filters[$filterKey] ?? '' }}">
46                 </div>
47             @endforeach
48
49             <div class="form-group"
50                  component="submit-on-change"
51                  option:submit-on-change:filter='[name="user"]'>
52                 <label for="owner">{{ trans('settings.audit_table_user') }}</label>
53                 @include('form.user-select', ['user' => $filters['user'] ? \BookStack\Auth\User::query()->find($filters['user']) : null, 'name' => 'user'])
54             </div>
55
56
57             <div class="form-group">
58                 <label for="ip">{{ trans('settings.audit_table_ip') }}</label>
59                 @include('form.text', ['name' => 'ip', 'model' => (object) $filters])
60                 <input type="submit" style="display: none">
61             </div>
62         </form>
63
64         <hr class="mt-m mb-s">
65
66         <div class="flex-container-row justify-space-between items-center wrap">
67             <div class="flex-2 min-width-xl">{{ $activities->links() }}</div>
68             <div class="flex-none min-width-m py-m">
69                 @include('common.sort', [...$listOptions->getSortControlData(), 'useQuery' => true])
70             </div>
71         </div>
72
73         <div class="item-list">
74             <div class="item-list-row flex-container-row items-center bold hide-under-m">
75                 <div class="flex-2 px-m py-xs flex-container-row items-center">{{ trans('settings.audit_table_user') }}</div>
76                 <div class="flex-2 px-m py-xs">{{ trans('settings.audit_table_event') }}</div>
77                 <div class="flex-3 px-m py-xs">{{ trans('settings.audit_table_related') }}</div>
78                 <div class="flex-container-row flex-3">
79                     <div class="flex px-m py-xs">{{ trans('settings.audit_table_ip') }}</div>
80                     <div class="flex-2 px-m py-xs text-right">{{ trans('settings.audit_table_date') }}</div>
81                 </div>
82             </div>
83             @foreach($activities as $activity)
84                 <div class="item-list-row flex-container-row items-center wrap py-xxs">
85                     <div class="flex-2 px-m py-xxs flex-container-row items-center min-width-m">
86                         @include('settings.parts.table-user', ['user' => $activity->user, 'user_id' => $activity->user_id])
87                     </div>
88                     <div class="flex-2 px-m py-xxs min-width-m"><strong class="mr-xs hide-over-m">{{ trans('settings.audit_table_event') }}:</strong> {{ $activity->type }}</div>
89                     <div class="flex-3 px-m py-xxs min-width-l">
90                         @if($activity->entity)
91                             <a href="{{ $activity->entity->getUrl() }}" class="flex-container-row items-center">
92                                 <span role="presentation" class="icon flex-none text-{{$activity->entity->getType()}}">@icon($activity->entity->getType())</span>
93                                 <div class="flex text-{{ $activity->entity->getType() }}">
94                                     {{ $activity->entity->name }}
95                                 </div>
96                             </a>
97                         @elseif($activity->detail && $activity->isForEntity())
98                             <div>
99                                 {{ trans('settings.audit_deleted_item') }} <br>
100                                 {{ trans('settings.audit_deleted_item_name', ['name' => $activity->detail]) }}
101                             </div>
102                         @elseif($activity->detail)
103                             <div>{{ $activity->detail }}</div>
104                         @endif
105                     </div>
106                     <div class="flex-container-row flex-3">
107                         <div class="flex px-m py-xxs min-width-xs"><strong class="mr-xs hide-over-m">{{ trans('settings.audit_table_ip') }}:<br></strong> {{ $activity->ip }}</div>
108                         <div class="flex-2 px-m py-xxs text-m-right min-width-xs"><strong class="mr-xs hide-over-m">{{ trans('settings.audit_table_date') }}:<br></strong> {{ $activity->created_at }}</div>
109                     </div>
110                 </div>
111             @endforeach
112         </div>
113
114         <div class="py-m">
115             {{ $activities->links() }}
116         </div>
117     </div>
118
119 </div>
120 @stop