]> BookStack Code Mirror - bookstack/blob - resources/views/form/entity-permissions-row.blade.php
Added interface for adding/removing roles in entity perms.
[bookstack] / resources / views / form / entity-permissions-row.blade.php
1 {{--
2 $role - The Role to display this row for.
3 $entityType - String identifier for type of entity having permissions applied.
4 $permission - The entity permission containing the permissions.
5 --}}
6
7 <div component="permissions-table" class="content-permissions-row flex-container-row justify-space-between wrap">
8     <div class="gap-x-m flex-container-row items-center px-l py-m flex">
9         <div class="text-large" title="{{ $role->id === 0 ? 'Everyone Else' : trans('common.role') }}">
10             @icon($role->id === 0 ? 'groups' : 'role')
11         </div>
12         <span>
13             <strong>{{ $role->display_name }}</strong> <br>
14             <small class="text-muted">{{ $role->description }}</small>
15         </span>
16         @if($role->id !== 0)
17             <button type="button"
18                 class="ml-auto flex-none text-small text-primary text-button hover-underline content-permissions-row-toggle-all hide-under-s"
19                 refs="permissions-table@toggle-all"
20                 ><strong>{{ trans('common.toggle_all') }}</strong></button>
21         @endif
22     </div>
23     @php
24         // TODO
25         $inheriting = ($role->id === 0);
26     @endphp
27     @if($role->id === 0)
28         <div class="px-l flex-container-row items-center" refs="entity-permissions@everyoneInherit">
29             @include('form.custom-checkbox', [
30                 'name' => 'entity-permissions-inherit',
31                 'label' => 'Inherit defaults',
32                 'value' => 'true',
33                 'checked' => $inheriting
34             ])
35         </div>
36     @endif
37     <div class="flex-container-row justify-space-between gap-x-xl wrap items-center">
38         <input type="hidden" name="permissions[{{ $role->id }}][active]" value="true">
39         <div class="px-l">
40             @include('form.custom-checkbox', [
41                 'name' =>  'permissions[' . $role->id . '][view]',
42                 'label' => trans('common.view'),
43                 'value' => 'true',
44                 'checked' => $permission->view,
45                 'disabled' => $inheriting
46             ])
47         </div>
48         @if($entityType !== 'page')
49             <div class="px-l">
50                 @include('form.custom-checkbox', [
51                     'name' =>  'permissions[' . $role->id . '][create]',
52                     'label' => trans('common.create'),
53                     'value' => 'true',
54                     'checked' => $permission->create,
55                     'disabled' => $inheriting
56                 ])
57             </div>
58         @endif
59         <div class="px-l">
60             @include('form.custom-checkbox', [
61                 'name' =>  'permissions[' . $role->id . '][update]',
62                 'label' => trans('common.update'),
63                 'value' => 'true',
64                 'checked' => $permission->update,
65                 'disabled' => $inheriting
66             ])
67         </div>
68         <div class="px-l">
69             @include('form.custom-checkbox', [
70                 'name' =>  'permissions[' . $role->id . '][delete]',
71                 'label' => trans('common.delete'),
72                 'value' => 'true',
73                 'checked' => $permission->delete,
74                 'disabled' => $inheriting
75             ])
76         </div>
77     </div>
78     @if($role->id !== 0)
79         <div class="flex-container-row items-center px-m py-s">
80             <button type="button"
81                     class="text-neg p-m icon-button"
82                     data-role-id="{{ $role->id }}"
83                     data-role-name="{{ $role->display_name }}"
84                     title="Remove Row">
85                 @icon('close') <span class="hide-over-m ml-xs">Remove Row</span>
86             </button>
87         </div>
88     @endif
89 </div>