]> BookStack Code Mirror - bookstack/blob - resources/views/form/entity-permissions.blade.php
Added users to permission form interface
[bookstack] / resources / views / form / entity-permissions.blade.php
1 <?php
2   /** @var \BookStack\Auth\Permissions\PermissionFormData $data */
3 ?>
4 <form component="entity-permissions"
5       option:entity-permissions:entity-type="{{ $model->getType() }}"
6       action="{{ $model->getUrl('/permissions') }}"
7       method="POST">
8     {!! csrf_field() !!}
9     <input type="hidden" name="_method" value="PUT">
10
11     <div class="grid half left-focus v-end gap-m wrap">
12         <div>
13             <h1 class="list-heading">{{ $title }}</h1>
14             <p class="text-muted mb-s">
15                 {{ trans('entities.permissions_desc') }}
16
17                 @if($model instanceof \BookStack\Entities\Models\Book)
18                     <br> {{ trans('entities.permissions_book_cascade') }}
19                 @elseif($model instanceof \BookStack\Entities\Models\Chapter)
20                     <br> {{ trans('entities.permissions_chapter_cascade') }}
21                 @endif
22             </p>
23
24             @if($model instanceof \BookStack\Entities\Models\Bookshelf)
25                 <p class="text-warn">{{ trans('entities.shelves_permissions_cascade_warning') }}</p>
26             @endif
27         </div>
28         <div class="flex-container-row justify-flex-end">
29             <div class="form-group mb-m">
30                 <label for="owner">{{ trans('entities.permissions_owner') }}</label>
31                 @include('form.user-select', ['user' => $model->ownedBy, 'name' => 'owned_by'])
32             </div>
33         </div>
34     </div>
35
36     <hr>
37
38     <div refs="entity-permissions@user-container" class="item-list mt-m mb-m">
39         @foreach($data->permissionsWithUsers() as $permission)
40             @include('form.entity-permissions-row', [
41                 'permission' => $permission,
42                 'modelType' => 'user',
43                 'modelId' => $permission->user->id,
44                 'modelName' => $permission->user->name,
45                 'modelDescription' => '',
46                 'entityType' => $model->getType(),
47                 'inheriting' => false,
48             ])
49         @endforeach
50     </div>
51
52     <div class="flex-container-row justify-flex-end mb-xl">
53         <div refs="entity-permissions@user-select-container" class="flex-container-row items-center gap-m">
54             <label for="user_select" class="m-none p-none"><span class="bold">{{ trans('entities.permissions_user_override') }}</span></label>
55             @include('form.user-select', ['name' => 'user_select', 'user' => null])
56         </div>
57     </div>
58
59     <div refs="entity-permissions@role-container" class="item-list mt-m mb-m">
60         @foreach($data->permissionsWithRoles() as $permission)
61             @include('form.entity-permissions-row', [
62                 'permission' => $permission,
63                 'modelType' => 'role',
64                 'modelId' => $permission->role->id,
65                 'modelName' => $permission->role->display_name,
66                 'modelDescription' => $permission->role->description,
67                 'entityType' => $model->getType(),
68                 'inheriting' => false,
69             ])
70         @endforeach
71     </div>
72
73     <div class="flex-container-row justify-flex-end mb-xl">
74         <div class="flex-container-row items-center gap-m">
75             <label for="role_select" class="m-none p-none"><span class="bold">{{ trans('entities.permissions_role_override') }}</span></label>
76             <select name="role_select" id="role_select" refs="entity-permissions@role-select">
77                 <option value="">{{ trans('common.select') }}</option>
78                 @foreach($data->rolesNotAssigned() as $role)
79                     <option value="{{ $role->id }}">{{ $role->display_name }}</option>
80                 @endforeach
81             </select>
82         </div>
83     </div>
84
85     <div class="item-list mt-m mb-xl">
86         @include('form.entity-permissions-row', [
87                 'modelType' => 'fallback',
88                 'modelId' => 0,
89                 'modelName' => trans('entities.permissions_role_everyone_else'),
90                 'modelDescription' => trans('entities.permissions_role_everyone_else_desc'),
91                 'permission' => $data->everyoneElseEntityPermission(),
92                 'entityType' => $model->getType(),
93                 'inheriting' => $data->everyoneElseInheriting(),
94             ])
95     </div>
96
97     <hr class="mb-m">
98
99     <div class="text-right">
100         <a href="{{ $model->getUrl() }}" class="button outline">{{ trans('common.cancel') }}</a>
101         <button type="submit" class="button">{{ trans('entities.permissions_save') }}</button>
102     </div>
103 </form>