]> BookStack Code Mirror - bookstack/commitdiff
Refined design and text for entity permission changes
authorDan Brown <redacted>
Tue, 11 Oct 2022 14:41:21 +0000 (15:41 +0100)
committerDan Brown <redacted>
Tue, 11 Oct 2022 14:41:21 +0000 (15:41 +0100)
resources/sass/_components.scss
resources/sass/_forms.scss
resources/views/books/permissions.blade.php
resources/views/chapters/permissions.blade.php
resources/views/form/entity-permissions.blade.php
resources/views/pages/permissions.blade.php
resources/views/shelves/permissions.blade.php
routes/web.php

index 42477982a65b3330817e4aa1cf87591f96244089..2aba3bd748b938b93f16d21997fac98cad17c2d4 100644 (file)
@@ -880,7 +880,8 @@ body.flexbox-support #entity-selector-wrap .popup-body .form-group {
   gap: $-s;
   line-height: normal;
   .svg-icon {
-    height: 16px;
+    height: 26px;
+    width: 26px;
     margin: 0;
   }
   .avatar {
@@ -902,10 +903,11 @@ body.flexbox-support #entity-selector-wrap .popup-body .form-group {
   white-space: nowrap;
 }
 .dropdown-search-toggle-select-caret {
-  font-size: 1.5rem;
   line-height: 0;
   margin-left: auto;
   margin-top: -2px;
+  display: flex;
+  align-items: center;
 }
 
 .dropdown-search-dropdown {
index 5c1c8b2e81b6f1e9b81ef191e290a65d375b3204..7e0f72355f3ee1f07275e07260483ecf8f168dea 100644 (file)
@@ -207,8 +207,8 @@ select {
   -moz-appearance: none;
   appearance: none;
   background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23666666'><polygon points='0,0 100,0 50,50'/></svg>");
-  background-size: 12px;
-  background-position: calc(100% - 20px) 70%;
+  background-size: 10px 12px;
+  background-position: calc(100% - 20px) 64%;
   background-repeat: no-repeat;
 
   @include rtl {
index d72042d42f5efe3d1ec4d4abfb97f0aa7f74e3d9..2e43338cd30202a3a8ba0152960a12f01e7584d4 100644 (file)
@@ -14,9 +14,8 @@
             ]])
         </div>
 
-        <main class="card content-wrap">
-            <h1 class="list-heading">{{ trans('entities.books_permissions') }}</h1>
-            @include('form.entity-permissions', ['model' => $book])
+        <main class="card content-wrap auto-height">
+            @include('form.entity-permissions', ['model' => $book, 'title' => trans('entities.books_permissions')])
         </main>
     </div>
 
index 6b4e219384a746e22841b27c60fbff24a9c48e37..acdaf0ab919fb5f4e7f0f3a17b74f5c4a95bce82 100644 (file)
@@ -15,9 +15,8 @@
             ]])
         </div>
 
-        <main class="card content-wrap">
-            <h1 class="list-heading">{{ trans('entities.chapters_permissions') }}</h1>
-            @include('form.entity-permissions', ['model' => $chapter])
+        <main class="card content-wrap auto-height">
+            @include('form.entity-permissions', ['model' => $chapter, 'title' => trans('entities.chapters_permissions')])
         </main>
     </div>
 
index a6955d33c00fae041669b7873303c8dbe9b99a49..5e6503e0ed2bbfaece593a65002b49b50fe4392f 100644 (file)
@@ -8,21 +8,39 @@
     {!! csrf_field() !!}
     <input type="hidden" name="_method" value="PUT">
 
-    <div class="grid half left-focus v-center">
+    <div class="grid half left-focus v-end gap-m wrap">
         <div>
-            <p class="mb-none mt-m">{{ trans('entities.permissions_intro') }}</p>
+            <h1 class="list-heading">{{ $title }}</h1>
+{{--            <p class="mb-none mt-m">{{ trans('entities.permissions_intro') }}</p>--}}
+            <p class="text-muted mb-s">
+                Set permissions here to override the default permissions provided by user roles.
+
+                @if($model instanceof \BookStack\Entities\Models\Book)
+                <br>
+                Permissions set on books will automatically cascade to child chapters and pages, unless
+                they have their own permissions defined.
+                @endif
+
+                @if($model instanceof \BookStack\Entities\Models\Chapter)
+                    <br>
+                    Permissions set on chapters will automatically cascade to child pages, unless
+                    they have their own permissions defined.
+                @endif
+            </p>
+
+            @if($model instanceof \BookStack\Entities\Models\Bookshelf)
+                <p class="text-warn">{{ trans('entities.shelves_permissions_cascade_warning') }}</p>
+            @endif
         </div>
-        <div>
-            <div class="form-group">
+        <div class="flex-container-row justify-flex-end">
+            <div class="form-group mb-m">
                 <label for="owner">{{ trans('entities.permissions_owner') }}</label>
                 @include('form.user-select', ['user' => $model->ownedBy, 'name' => 'owned_by'])
             </div>
         </div>
     </div>
 
-    @if($model instanceof \BookStack\Entities\Models\Bookshelf)
-        <p class="text-warn">{{ trans('entities.shelves_permissions_cascade_warning') }}</p>
-    @endif
+    <hr>
 
     <div refs="entity-permissions@role-container" class="content-permissions mt-m mb-m">
         @foreach($data->permissionsWithRoles() as $permission)
@@ -36,8 +54,8 @@
     </div>
 
     <div class="flex-container-row justify-flex-end mb-xl">
-        <div>
-            <label for="role_select">Override permissions for role</label>
+        <div class="flex-container-row items-center gap-m">
+            <label for="role_select" class="m-none p-none"><span class="bold">Override permissions for role</span></label>
             <select name="role_select" id="role_select" refs="entity-permissions@role-select">
                 <option value="">{{ trans('common.select') }}</option>
                 @foreach($data->rolesNotAssigned() as $role)
@@ -56,6 +74,8 @@
             ])
     </div>
 
+    <hr class="mb-m">
+
     <div class="text-right">
         <a href="{{ $model->getUrl() }}" class="button outline">{{ trans('common.cancel') }}</a>
         <button type="submit" class="button">{{ trans('entities.permissions_save') }}</button>
index 792015e28bb3a405975e3f12b1888ba662c9eb4a..93e14ee0da0d40f75bc31efd502a4338fb16ba12 100644 (file)
@@ -16,9 +16,8 @@
             ]])
         </div>
 
-        <main class="card content-wrap">
-            <h1 class="list-heading">{{ trans('entities.pages_permissions') }}</h1>
-            @include('form.entity-permissions', ['model' => $page])
+        <main class="card content-wrap auto-height">
+            @include('form.entity-permissions', ['model' => $page, 'title' => trans('entities.pages_permissions')])
         </main>
     </div>
 
index a26325518d6ac5294c38c1a89e5c7a1fdeb117c0..e79b34096ea73c46959daa026652c9fa6dd81a2f 100644 (file)
@@ -2,7 +2,7 @@
 
 @section('body')
 
-    <div class="container small">
+    <div class="container">
 
         <div class="my-s">
             @include('entities.breadcrumbs', ['crumbs' => [
         </div>
 
         <div class="card content-wrap auto-height">
-            <h1 class="list-heading">{{ trans('entities.shelves_permissions') }}</h1>
-            @include('form.entity-permissions', ['model' => $shelf])
+            @include('form.entity-permissions', ['model' => $shelf, 'title' => trans('entities.shelves_permissions')])
         </div>
 
-        <div class="card content-wrap auto-height">
-            <h2 class="list-heading">{{ trans('entities.shelves_copy_permissions_to_books') }}</h2>
-            <p>{{ trans('entities.shelves_copy_permissions_explain') }}</p>
-            <form action="{{ $shelf->getUrl('/copy-permissions') }}" method="post" class="text-right">
+        <div class="card content-wrap auto-height flex-container-row items-center gap-x-xl wrap">
+            <div class="flex">
+                <h2 class="list-heading">{{ trans('entities.shelves_copy_permissions_to_books') }}</h2>
+                <p>{{ trans('entities.shelves_copy_permissions_explain') }}</p>
+            </div>
+            <form action="{{ $shelf->getUrl('/copy-permissions') }}" method="post" class="flex text-right">
                 {{ csrf_field() }}
                 <button class="button">{{ trans('entities.shelves_copy_permissions') }}</button>
             </form>
index 5fdfda3f09bddc5b5e1d80fe37304c08bbd33607..1cffbfd7d8d20c7d5779d30a69980e0fc760fe2f 100644 (file)
@@ -139,12 +139,12 @@ Route::middleware('auth')->group(function () {
     Route::post('/books/{bookSlug}/chapter/{chapterSlug}/copy', [ChapterController::class, 'copy']);
     Route::get('/books/{bookSlug}/chapter/{chapterSlug}/edit', [ChapterController::class, 'edit']);
     Route::post('/books/{bookSlug}/chapter/{chapterSlug}/convert-to-book', [ChapterController::class, 'convertToBook']);
-    Route::get('/books/{bookSlug}/chapter/{chapterSlug}/permissions', [PermissionsController::class, 'showForPage']);
+    Route::get('/books/{bookSlug}/chapter/{chapterSlug}/permissions', [PermissionsController::class, 'showForChapter']);
     Route::get('/books/{bookSlug}/chapter/{chapterSlug}/export/pdf', [ChapterExportController::class, 'pdf']);
     Route::get('/books/{bookSlug}/chapter/{chapterSlug}/export/html', [ChapterExportController::class, 'html']);
     Route::get('/books/{bookSlug}/chapter/{chapterSlug}/export/markdown', [ChapterExportController::class, 'markdown']);
     Route::get('/books/{bookSlug}/chapter/{chapterSlug}/export/plaintext', [ChapterExportController::class, 'plainText']);
-    Route::put('/books/{bookSlug}/chapter/{chapterSlug}/permissions', [PermissionsController::class, 'updateForPage']);
+    Route::put('/books/{bookSlug}/chapter/{chapterSlug}/permissions', [PermissionsController::class, 'updateForChapter']);
     Route::get('/books/{bookSlug}/chapter/{chapterSlug}/references', [ReferenceController::class, 'chapter']);
     Route::get('/books/{bookSlug}/chapter/{chapterSlug}/delete', [ChapterController::class, 'showDelete']);
     Route::delete('/books/{bookSlug}/chapter/{chapterSlug}', [ChapterController::class, 'destroy']);
Morty Proxy This is a proxified and sanitized view of the page, visit original site.