From: Dan Brown Date: Fri, 21 Sep 2018 14:29:52 +0000 (+0100) Subject: Merge pull request #947 from BookStackApp/bookshelves X-Git-Tag: v0.24.0~1^2~16^2~11 X-Git-Url: http://source.bookstackapp.com/bookstack/commitdiff_plain/131fcae4c761ed2fa5ecc0e42d3e2f5c38f28dd8?hp=-c Merge pull request #947 from BookStackApp/bookshelves Bookshelves --- 131fcae4c761ed2fa5ecc0e42d3e2f5c38f28dd8 diff --combined resources/assets/sass/_lists.scss index e8d131b52,0afed4b36..0bf6be4c3 --- a/resources/assets/sass/_lists.scss +++ b/resources/assets/sass/_lists.scss @@@ -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; @@@ -382,10 -382,6 +382,10 @@@ width: 16px; } } + button { + width: 100%; + text-align: left; + } li.border-bottom { border-bottom: 1px solid #DDD; } @@@ -412,32 -408,3 +412,3 @@@ } } - .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; - } - } diff --combined resources/lang/en/entities.php index c99887401,44ab2c9cc..4f110b724 --- a/resources/lang/en/entities.php +++ b/resources/lang/en/entities.php @@@ -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 */ @@@ -199,6 -230,7 +230,7 @@@ '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 @@@ -206,6 -238,7 +238,7 @@@ '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)', @@@ -265,11 -298,4 +298,11 @@@ '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 70cb3c130,4bdd5fc09..d3c5f46d3 --- a/routes/web.php +++ b/routes/web.php @@@ -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 @@@ -160,6 -175,7 +175,7 @@@ 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');