]> BookStack Code Mirror - bookstack/blob - resources/views/settings/roles/form.blade.php
d1a61f0cd3896d391465d4aca6c5d9f5be63301c
[bookstack] / resources / views / settings / roles / form.blade.php
1 {!! csrf_field() !!}
2
3 <div class="card content-wrap">
4     <h1 class="list-heading">{{ $title }}</h1>
5
6     <div class="setting-list">
7
8         <div class="grid half">
9             <div>
10                 <label class="setting-list-label">{{ trans('settings.role_details') }}</label>
11             </div>
12             <div>
13                 <div class="form-group">
14                     <label for="display_name">{{ trans('settings.role_name') }}</label>
15                     @include('form.text', ['name' => 'display_name'])
16                 </div>
17                 <div class="form-group">
18                     <label for="description">{{ trans('settings.role_desc') }}</label>
19                     @include('form.text', ['name' => 'description'])
20                 </div>
21                 <div class="form-group">
22                     @include('form.checkbox', ['name' => 'mfa_enforced', 'label' => trans('settings.role_mfa_enforced') ])
23                 </div>
24
25                 @if(config('auth.method') === 'ldap' || config('auth.method') === 'saml2')
26                     <div class="form-group">
27                         <label for="name">{{ trans('settings.role_external_auth_id') }}</label>
28                         @include('form.text', ['name' => 'external_auth_id'])
29                     </div>
30                 @endif
31             </div>
32         </div>
33
34         <div permissions-table>
35             <label class="setting-list-label">{{ trans('settings.role_system') }}</label>
36             <a href="#" permissions-table-toggle-all class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
37
38             <div class="toggle-switch-list grid half mt-m">
39                 <div>
40                     <div>@include('settings.roles.checkbox', ['permission' => 'restrictions-manage-all', 'label' => trans('settings.role_manage_entity_permissions')])</div>
41                     <div>@include('settings.roles.checkbox', ['permission' => 'restrictions-manage-own', 'label' => trans('settings.role_manage_own_entity_permissions')])</div>
42                     <div>@include('settings.roles.checkbox', ['permission' => 'templates-manage', 'label' => trans('settings.role_manage_page_templates')])</div>
43                     <div>@include('settings.roles.checkbox', ['permission' => 'access-api', 'label' => trans('settings.role_access_api')])</div>
44                 </div>
45                 <div>
46                     <div>@include('settings.roles.checkbox', ['permission' => 'settings-manage', 'label' => trans('settings.role_manage_settings')])</div>
47                     <div>@include('settings.roles.checkbox', ['permission' => 'users-manage', 'label' => trans('settings.role_manage_users')])</div>
48                     <div>@include('settings.roles.checkbox', ['permission' => 'user-roles-manage', 'label' => trans('settings.role_manage_roles')])</div>
49                     <p class="text-warn text-small mt-s mb-none">{{ trans('settings.roles_system_warning') }}</p>
50                 </div>
51             </div>
52         </div>
53
54         <div>
55             <label class="setting-list-label">{{ trans('settings.role_asset') }}</label>
56             <p>{{ trans('settings.role_asset_desc') }}</p>
57
58             @if (isset($role) && $role->system_name === 'admin')
59                 <p class="text-warn">{{ trans('settings.role_asset_admins') }}</p>
60             @endif
61
62             <table permissions-table class="table toggle-switch-list compact permissions-table">
63                 <tr>
64                     <th width="20%">
65                         <a href="#" permissions-table-toggle-all class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
66                     </th>
67                     <th width="20%" permissions-table-toggle-all-in-column>{{ trans('common.create') }}</th>
68                     <th width="20%" permissions-table-toggle-all-in-column>{{ trans('common.view') }}</th>
69                     <th width="20%" permissions-table-toggle-all-in-column>{{ trans('common.edit') }}</th>
70                     <th width="20%" permissions-table-toggle-all-in-column>{{ trans('common.delete') }}</th>
71                 </tr>
72                 <tr>
73                     <td>
74                         <div>{{ trans('entities.shelves_long') }}</div>
75                         <a href="#" permissions-table-toggle-all-in-row class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
76                     </td>
77                     <td>
78                         @include('settings.roles.checkbox', ['permission' => 'bookshelf-create-all', 'label' => trans('settings.role_all')])
79                     </td>
80                     <td>
81                         @include('settings.roles.checkbox', ['permission' => 'bookshelf-view-own', 'label' => trans('settings.role_own')])
82                         <br>
83                         @include('settings.roles.checkbox', ['permission' => 'bookshelf-view-all', 'label' => trans('settings.role_all')])
84                     </td>
85                     <td>
86                         @include('settings.roles.checkbox', ['permission' => 'bookshelf-update-own', 'label' => trans('settings.role_own')])
87                         <br>
88                         @include('settings.roles.checkbox', ['permission' => 'bookshelf-update-all', 'label' => trans('settings.role_all')])
89                     </td>
90                     <td>
91                         @include('settings.roles.checkbox', ['permission' => 'bookshelf-delete-own', 'label' => trans('settings.role_own')])
92                         <br>
93                         @include('settings.roles.checkbox', ['permission' => 'bookshelf-delete-all', 'label' => trans('settings.role_all')])
94                     </td>
95                 </tr>
96                 <tr>
97                     <td>
98                         <div>{{ trans('entities.books') }}</div>
99                         <a href="#" permissions-table-toggle-all-in-row class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
100                     </td>
101                     <td>
102                         @include('settings.roles.checkbox', ['permission' => 'book-create-all', 'label' => trans('settings.role_all')])
103                     </td>
104                     <td>
105                         @include('settings.roles.checkbox', ['permission' => 'book-view-own', 'label' => trans('settings.role_own')])
106                         <br>
107                         @include('settings.roles.checkbox', ['permission' => 'book-view-all', 'label' => trans('settings.role_all')])
108                     </td>
109                     <td>
110                         @include('settings.roles.checkbox', ['permission' => 'book-update-own', 'label' => trans('settings.role_own')])
111                         <br>
112                         @include('settings.roles.checkbox', ['permission' => 'book-update-all', 'label' => trans('settings.role_all')])
113                     </td>
114                     <td>
115                         @include('settings.roles.checkbox', ['permission' => 'book-delete-own', 'label' => trans('settings.role_own')])
116                         <br>
117                         @include('settings.roles.checkbox', ['permission' => 'book-delete-all', 'label' => trans('settings.role_all')])
118                     </td>
119                 </tr>
120                 <tr>
121                     <td>
122                         <div>{{ trans('entities.chapters') }}</div>
123                         <a href="#" permissions-table-toggle-all-in-row class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
124                     </td>
125                     <td>
126                         @include('settings.roles.checkbox', ['permission' => 'chapter-create-own', 'label' => trans('settings.role_own')])
127                         <br>
128                         @include('settings.roles.checkbox', ['permission' => 'chapter-create-all', 'label' => trans('settings.role_all')])
129                     </td>
130                     <td>
131                         @include('settings.roles.checkbox', ['permission' => 'chapter-view-own', 'label' => trans('settings.role_own')])
132                         <br>
133                         @include('settings.roles.checkbox', ['permission' => 'chapter-view-all', 'label' => trans('settings.role_all')])
134                     </td>
135                     <td>
136                         @include('settings.roles.checkbox', ['permission' => 'chapter-update-own', 'label' => trans('settings.role_own')])
137                         <br>
138                         @include('settings.roles.checkbox', ['permission' => 'chapter-update-all', 'label' => trans('settings.role_all')])
139                     </td>
140                     <td>
141                         @include('settings.roles.checkbox', ['permission' => 'chapter-delete-own', 'label' => trans('settings.role_own')])
142                         <br>
143                         @include('settings.roles.checkbox', ['permission' => 'chapter-delete-all', 'label' => trans('settings.role_all')])
144                     </td>
145                 </tr>
146                 <tr>
147                     <td>
148                         <div>{{ trans('entities.pages') }}</div>
149                         <a href="#" permissions-table-toggle-all-in-row class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
150                     </td>
151                     <td>
152                         @include('settings.roles.checkbox', ['permission' => 'page-create-own', 'label' => trans('settings.role_own')])
153                         <br>
154                         @include('settings.roles.checkbox', ['permission' => 'page-create-all', 'label' => trans('settings.role_all')])
155                     </td>
156                     <td>
157                         @include('settings.roles.checkbox', ['permission' => 'page-view-own', 'label' => trans('settings.role_own')])
158                         <br>
159                         @include('settings.roles.checkbox', ['permission' => 'page-view-all', 'label' => trans('settings.role_all')])
160                     </td>
161                     <td>
162                         @include('settings.roles.checkbox', ['permission' => 'page-update-own', 'label' => trans('settings.role_own')])
163                         <br>
164                         @include('settings.roles.checkbox', ['permission' => 'page-update-all', 'label' => trans('settings.role_all')])
165                     </td>
166                     <td>
167                         @include('settings.roles.checkbox', ['permission' => 'page-delete-own', 'label' => trans('settings.role_own')])
168                         <br>
169                         @include('settings.roles.checkbox', ['permission' => 'page-delete-all', 'label' => trans('settings.role_all')])
170                     </td>
171                 </tr>
172                 <tr>
173                     <td>
174                         <div>{{ trans('entities.images') }}</div>
175                         <a href="#" permissions-table-toggle-all-in-row class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
176                     </td>
177                     <td>@include('settings.roles.checkbox', ['permission' => 'image-create-all', 'label' => ''])</td>
178                     <td style="line-height:1.2;"><small class="faded">{{ trans('settings.role_controlled_by_asset') }}</small></td>
179                     <td>
180                         @include('settings.roles.checkbox', ['permission' => 'image-update-own', 'label' => trans('settings.role_own')])
181                         <br>
182                         @include('settings.roles.checkbox', ['permission' => 'image-update-all', 'label' => trans('settings.role_all')])
183                     </td>
184                     <td>
185                         @include('settings.roles.checkbox', ['permission' => 'image-delete-own', 'label' => trans('settings.role_own')])
186                         <br>
187                         @include('settings.roles.checkbox', ['permission' => 'image-delete-all', 'label' => trans('settings.role_all')])
188                     </td>
189                 </tr>
190                 <tr>
191                     <td>
192                         <div>{{ trans('entities.attachments') }}</div>
193                         <a href="#" permissions-table-toggle-all-in-row class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
194                     </td>
195                     <td>@include('settings.roles.checkbox', ['permission' => 'attachment-create-all', 'label' => ''])</td>
196                     <td style="line-height:1.2;"><small class="faded">{{ trans('settings.role_controlled_by_asset') }}</small></td>
197                     <td>
198                         @include('settings.roles.checkbox', ['permission' => 'attachment-update-own', 'label' => trans('settings.role_own')])
199                         <br>
200                         @include('settings.roles.checkbox', ['permission' => 'attachment-update-all', 'label' => trans('settings.role_all')])
201                     </td>
202                     <td>
203                         @include('settings.roles.checkbox', ['permission' => 'attachment-delete-own', 'label' => trans('settings.role_own')])
204                         <br>
205                         @include('settings.roles.checkbox', ['permission' => 'attachment-delete-all', 'label' => trans('settings.role_all')])
206                     </td>
207                 </tr>
208                 <tr>
209                     <td>
210                         <div>{{ trans('entities.comments') }}</div>
211                         <a href="#" permissions-table-toggle-all-in-row class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
212                     </td>
213                     <td>@include('settings.roles.checkbox', ['permission' => 'comment-create-all', 'label' => ''])</td>
214                     <td style="line-height:1.2;"><small class="faded">{{ trans('settings.role_controlled_by_asset') }}</small></td>
215                     <td>
216                         @include('settings.roles.checkbox', ['permission' => 'comment-update-own', 'label' => trans('settings.role_own')])
217                         <br>
218                         @include('settings.roles.checkbox', ['permission' => 'comment-update-all', 'label' => trans('settings.role_all')])
219                     </td>
220                     <td>
221                         @include('settings.roles.checkbox', ['permission' => 'comment-delete-own', 'label' => trans('settings.role_own')])
222                         <br>
223                         @include('settings.roles.checkbox', ['permission' => 'comment-delete-all', 'label' => trans('settings.role_all')])
224                     </td>
225                 </tr>
226             </table>
227         </div>
228     </div>
229
230     <div class="form-group text-right">
231         <a href="{{ url("/settings/roles") }}" class="button outline">{{ trans('common.cancel') }}</a>
232         @if (isset($role) && $role->id)
233             <a href="{{ url("/settings/roles/delete/{$role->id}") }}" class="button outline">{{ trans('settings.role_delete') }}</a>
234         @endif
235         <button type="submit" class="button">{{ trans('settings.role_save') }}</button>
236     </div>
237
238 </div>
239
240 <div class="card content-wrap auto-height">
241     <h2 class="list-heading">{{ trans('settings.role_users') }}</h2>
242     @if(isset($role) && count($role->users) > 0)
243         <div class="grid third">
244             @foreach($role->users as $user)
245                 <div class="user-list-item">
246                     <div>
247                         <img class="avatar small" src="{{ $user->getAvatar(40) }}" alt="{{ $user->name }}">
248                     </div>
249                     <div>
250                         @if(userCan('users-manage') || user()->id == $user->id)
251                             <a href="{{ url("/settings/users/{$user->id}") }}">
252                                 @endif
253                                 {{ $user->name }}
254                                 @if(userCan('users-manage') || user()->id == $user->id)
255                             </a>
256                         @endif
257                     </div>
258                 </div>
259             @endforeach
260         </div>
261     @else
262         <p class="text-muted">
263             {{ trans('settings.role_users_none') }}
264         </p>
265     @endif
266 </div>