]> BookStack Code Mirror - bookstack/commitdiff
Merge pull request #947 from BookStackApp/bookshelves
authorDan Brown <redacted>
Fri, 21 Sep 2018 14:29:52 +0000 (15:29 +0100)
committerGitHub <redacted>
Fri, 21 Sep 2018 14:29:52 +0000 (15:29 +0100)
Bookshelves

1  2 
resources/assets/sass/_lists.scss
resources/lang/en/entities.php
routes/web.php

index e8d131b52b9f1a954b5fd9dfac9882da3f9c39d8,0afed4b367d2e426120dc7cbe0a039e1f8622e25..0bf6be4c358e678fd3be5415ae397f4d9fed0204
@@@ -367,7 -367,7 +367,7 @@@ ul.pagination 
      padding: $-xs $-m;
      line-height: 1.2;
    }
 -  a {
 +  a, button {
      display: block;
      padding: $-xs $-m;
      color: #555;
        width: 16px;
      }
    }
 +  button {
 +    width: 100%;
 +    text-align: left;
 +  }
    li.border-bottom {
      border-bottom: 1px solid #DDD;
    }
    }
  }
  
- .book-grid-item .grid-card-content {
-   border-top: 0;
-   border-bottom-width: 2px;
-   h2 {
-     width: 100%;
-     font-size: 1.5em;
-     margin: 0 0 10px;
-   }
-   h2 a {
-     display: block;
-     width: 100%;
-     line-height: 1.2;
-     color: #009688;;
-     fill: #009688;;
-     text-decoration: none;
-   }
-   p {
-     font-size: .85em;
-     margin: 0;
-     line-height: 1.6em;
-   }
- }
- .book-grid-item .grid-card-footer {
-   p.small {
-     font-size: .8em;
-     margin: 0;
-   }
- }
index c998874011d4abc6fe60a9770ca1c16f474c940f,44ab2c9cc404fe3152c8c34d5b16cf4c109ea87d..4f110b72411a3b716ca28ed9e8c671c3a9f1a150
@@@ -64,6 -64,37 +64,37 @@@ return 
      'search_set_date' => 'Set Date',
      'search_update' => 'Update Search',
  
+     /**
+      * Shelves
+      */
+     'shelves' => 'Shelves',
+     'shelves_long' => 'Bookshelves',
+     'shelves_empty' => 'No shelves have been created',
+     'shelves_create' => 'Create New Shelf',
+     'shelves_popular' => 'Popular Shelves',
+     'shelves_new' => 'New Shelves',
+     'shelves_popular_empty' => 'The most popular shelves will appear here.',
+     'shelves_new_empty' => 'The most recently created shelves will appear here.',
+     'shelves_save' => 'Save Shelf',
+     'shelves_books' => 'Books on this shelf',
+     'shelves_add_books' => 'Add books to this shelf',
+     'shelves_drag_books' => 'Drag books here to add them to this shelf',
+     'shelves_empty_contents' => 'This shelf has no books assigned to it',
+     'shelves_edit_and_assign' => 'Edit shelf to assign books',
+     'shelves_edit_named' => 'Edit Bookshelf :name',
+     'shelves_edit' => 'Edit Bookshelf',
+     'shelves_delete' => 'Delete Bookshelf',
+     'shelves_delete_named' => 'Delete Bookshelf :name',
+     'shelves_delete_explain' => "This will delete the bookshelf with the name ':name'. Contained books will not be deleted.",
+     'shelves_delete_confirmation' => 'Are you sure you want to delete this bookshelf?',
+     'shelves_permissions' => 'Bookshelf Permissions',
+     'shelves_permissions_updated' => 'Bookshelf Permissions Updated',
+     'shelves_permissions_active' => 'Bookshelf Permissions Active',
+     'shelves_copy_permissions_to_books' => 'Copy Permissions to Books',
+     'shelves_copy_permissions' => 'Copy Permissions',
+     'shelves_copy_permissions_explain' => 'This will apply the current permission settings of this bookshelf to all books contained within. Before activating, ensure any changes to the permissions of this bookshelf have been saved.',
+     'shelves_copy_permission_success' => 'Bookshelf permissions copied to :count books',
      /**
       * Books
       */
          'message' => ':start :time. Take care not to overwrite each other\'s updates!',
      ],
      'pages_draft_discarded' => 'Draft discarded, The editor has been updated with the current page content',
+     'pages_specific' => 'Specific Page',
  
      /**
       * Editor sidebar
      'page_tags' => 'Page Tags',
      'chapter_tags' => 'Chapter Tags',
      'book_tags' => 'Book Tags',
+     'shelf_tags' => 'Shelf Tags',
      'tag' => 'Tag',
      'tags' =>  'Tags',
      'tag_value' => 'Tag Value (Optional)',
      'comment_updated_success' => 'Comment updated',
      'comment_delete_confirm' => 'Are you sure you want to delete this comment?',
      'comment_in_reply_to' => 'In reply to :commentId',
 +
 +    /**
 +     * Revision
 +     */
 +    'revision_delete_confirm' => 'Are you sure you want to delete this revision?',
 +    'revision_delete_success' => 'Revision deleted',
 +    'revision_cannot_delete_latest' => 'Cannot delete the latest revision.'
  ];
diff --combined routes/web.php
index 70cb3c130a8a4a496d4e7264248d0bcb757bdea5,4bdd5fc09b7a76b4be34a388df139da63ae99704..d3c5f46d3ccdce717e167d4e545b4f19639feb68
@@@ -14,6 -14,21 +14,21 @@@ Route::group(['middleware' => 'auth'], 
          Route::get('/recently-updated', 'PageController@showRecentlyUpdated');
      });
  
+     // Shelves
+     Route::get('/create-shelf', 'BookshelfController@create');
+     Route::group(['prefix' => 'shelves'], function() {
+         Route::get('/', 'BookshelfController@index');
+         Route::post('/', 'BookshelfController@store');
+         Route::get('/{slug}/edit', 'BookshelfController@edit');
+         Route::get('/{slug}/delete', 'BookshelfController@showDelete');
+         Route::get('/{slug}', 'BookshelfController@show');
+         Route::put('/{slug}', 'BookshelfController@update');
+         Route::delete('/{slug}', 'BookshelfController@destroy');
+         Route::get('/{slug}/permissions', 'BookshelfController@showRestrict');
+         Route::put('/{slug}/permissions', 'BookshelfController@restrict');
+         Route::post('/{slug}/copy-permissions', 'BookshelfController@copyPermissions');
+     });
      Route::get('/create-book', 'BookController@create');
      Route::group(['prefix' => 'books'], function () {
  
@@@ -61,7 -76,6 +76,7 @@@
          Route::get('/{bookSlug}/page/{pageSlug}/revisions/{revId}', 'PageController@showRevision');
          Route::get('/{bookSlug}/page/{pageSlug}/revisions/{revId}/changes', 'PageController@showRevisionChanges');
          Route::get('/{bookSlug}/page/{pageSlug}/revisions/{revId}/restore', 'PageController@restoreRevision');
 +        Route::delete('/{bookSlug}/page/{pageSlug}/revisions/{revId}/delete', 'PageController@destroyRevision');
  
          // Chapters
          Route::get('/{bookSlug}/chapter/{chapterSlug}/create-page', 'PageController@create');
@@@ -80,6 -94,7 +95,6 @@@
          Route::put('/{bookSlug}/chapter/{chapterSlug}/permissions', 'ChapterController@restrict');
          Route::get('/{bookSlug}/chapter/{chapterSlug}/delete', 'ChapterController@showDelete');
          Route::delete('/{bookSlug}/chapter/{chapterSlug}', 'ChapterController@destroy');
 -
      });
  
      // User Profile routes
          Route::get('/users/create', 'UserController@create');
          Route::get('/users/{id}/delete', 'UserController@delete');
          Route::patch('/users/{id}/switch-book-view', 'UserController@switchBookView');
+         Route::patch('/users/{id}/switch-shelf-view', 'UserController@switchShelfView');
          Route::post('/users/create', 'UserController@store');
          Route::get('/users/{id}', 'UserController@edit');
          Route::put('/users/{id}', 'UserController@update');