diff --git a/app/Entities/PageRevision.php b/app/Entities/PageRevision.php index d30147bfc..acdec2802 100644 --- a/app/Entities/PageRevision.php +++ b/app/Entities/PageRevision.php @@ -62,4 +62,5 @@ class PageRevision extends Model { return $type === 'revision'; } + } diff --git a/app/Http/Controllers/BookshelfController.php b/app/Http/Controllers/BookshelfController.php index 5c2898786..8db362f3c 100644 --- a/app/Http/Controllers/BookshelfController.php +++ b/app/Http/Controllers/BookshelfController.php @@ -40,15 +40,15 @@ class BookshelfController extends Controller $recents = $this->signedIn ? $this->entityRepo->getRecentlyViewed('bookshelf', 4, 0) : false; $popular = $this->entityRepo->getPopular('bookshelf', 4, 0); $new = $this->entityRepo->getRecentlyCreated('bookshelf', 4, 0); - $shelvesViewType = setting()->getUser($this->currentUser, 'bookshelves_view_type', config('app.views.bookshelves', 'grid')); + $view = setting()->getUser($this->currentUser, 'bookshelves_view_type', config('app.views.bookshelves', 'grid')); $this->setPageTitle(trans('entities.shelves')); - return view('shelves/index', [ + return view('shelves.index', [ 'shelves' => $shelves, 'recents' => $recents, 'popular' => $popular, 'new' => $new, - 'shelvesViewType' => $shelvesViewType + 'view' => $view ]); } @@ -61,7 +61,7 @@ class BookshelfController extends Controller $this->checkPermission('bookshelf-create-all'); $books = $this->entityRepo->getAll('book', false, 'update'); $this->setPageTitle(trans('entities.shelves_create')); - return view('shelves/create', ['books' => $books]); + return view('shelves.create', ['books' => $books]); } /** @@ -100,7 +100,7 @@ class BookshelfController extends Controller Views::add($bookshelf); $this->setPageTitle($bookshelf->getShortName()); - return view('shelves/show', [ + return view('shelves.show', [ 'shelf' => $bookshelf, 'books' => $books, 'activity' => Activity::entityActivity($bookshelf, 20, 0) @@ -126,7 +126,7 @@ class BookshelfController extends Controller }); $this->setPageTitle(trans('entities.shelves_edit_named', ['name' => $bookshelf->getShortName()])); - return view('shelves/edit', [ + return view('shelves.edit', [ 'shelf' => $bookshelf, 'books' => $books, 'shelfBooks' => $shelfBooks, @@ -170,7 +170,7 @@ class BookshelfController extends Controller $this->checkOwnablePermission('bookshelf-delete', $bookshelf); $this->setPageTitle(trans('entities.shelves_delete_named', ['name' => $bookshelf->getShortName()])); - return view('shelves/delete', ['shelf' => $bookshelf]); + return view('shelves.delete', ['shelf' => $bookshelf]); } /** diff --git a/app/Http/Controllers/ChapterController.php b/app/Http/Controllers/ChapterController.php index 20ab96133..45ecbb5d5 100644 --- a/app/Http/Controllers/ChapterController.php +++ b/app/Http/Controllers/ChapterController.php @@ -214,13 +214,14 @@ class ChapterController extends Controller * @param $bookSlug * @param $chapterSlug * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @throws \BookStack\Exceptions\NotFoundException */ - public function showRestrict($bookSlug, $chapterSlug) + public function showPermissions($bookSlug, $chapterSlug) { $chapter = $this->entityRepo->getBySlug('chapter', $chapterSlug, $bookSlug); $this->checkOwnablePermission('restrictions-manage', $chapter); $roles = $this->userRepo->getRestrictableRoles(); - return view('chapters/restrictions', [ + return view('chapters.permissions', [ 'chapter' => $chapter, 'roles' => $roles ]); @@ -232,8 +233,10 @@ class ChapterController extends Controller * @param $chapterSlug * @param Request $request * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector + * @throws \BookStack\Exceptions\NotFoundException + * @throws \Throwable */ - public function restrict($bookSlug, $chapterSlug, Request $request) + public function permissions($bookSlug, $chapterSlug, Request $request) { $chapter = $this->entityRepo->getBySlug('chapter', $chapterSlug, $bookSlug); $this->checkOwnablePermission('restrictions-manage', $chapter); diff --git a/app/Http/Controllers/PageController.php b/app/Http/Controllers/PageController.php index b68655241..875cca60a 100644 --- a/app/Http/Controllers/PageController.php +++ b/app/Http/Controllers/PageController.php @@ -61,7 +61,7 @@ class PageController extends Controller // Otherwise show the edit view if they're a guest $this->setPageTitle(trans('entities.pages_new')); - return view('pages/guest-create', ['parent' => $parent]); + return view('pages.guest-create', ['parent' => $parent]); } /** @@ -110,7 +110,7 @@ class PageController extends Controller $this->setPageTitle(trans('entities.pages_edit_draft')); $draftsEnabled = $this->signedIn; - return view('pages/edit', [ + return view('pages.edit', [ 'page' => $draft, 'book' => $draft->book, 'isDraft' => true, @@ -184,7 +184,7 @@ class PageController extends Controller Views::add($page); $this->setPageTitle($page->getShortName()); - return view('pages/show', [ + return view('pages.show', [ 'page' => $page,'book' => $page->book, 'current' => $page, 'sidebarTree' => $sidebarTree, @@ -239,7 +239,7 @@ class PageController extends Controller } $draftsEnabled = $this->signedIn; - return view('pages/edit', [ + return view('pages.edit', [ 'page' => $page, 'book' => $page->book, 'current' => $page, @@ -317,7 +317,7 @@ class PageController extends Controller $page = $this->pageRepo->getPageBySlug($pageSlug, $bookSlug); $this->checkOwnablePermission('page-delete', $page); $this->setPageTitle(trans('entities.pages_delete_named', ['pageName'=>$page->getShortName()])); - return view('pages/delete', ['book' => $page->book, 'page' => $page, 'current' => $page]); + return view('pages.delete', ['book' => $page->book, 'page' => $page, 'current' => $page]); } @@ -333,7 +333,7 @@ class PageController extends Controller $page = $this->pageRepo->getById('page', $pageId, true); $this->checkOwnablePermission('page-update', $page); $this->setPageTitle(trans('entities.pages_delete_draft_named', ['pageName'=>$page->getShortName()])); - return view('pages/delete', ['book' => $page->book, 'page' => $page, 'current' => $page]); + return view('pages.delete', ['book' => $page->book, 'page' => $page, 'current' => $page]); } /** @@ -377,12 +377,13 @@ class PageController extends Controller * @param string $bookSlug * @param string $pageSlug * @return \Illuminate\View\View + * @throws NotFoundException */ public function showRevisions($bookSlug, $pageSlug) { $page = $this->pageRepo->getPageBySlug($pageSlug, $bookSlug); $this->setPageTitle(trans('entities.pages_revisions_named', ['pageName'=>$page->getShortName()])); - return view('pages/revisions', ['page' => $page, 'book' => $page->book, 'current' => $page]); + return view('pages.revisions', ['page' => $page, 'current' => $page]); } /** @@ -403,9 +404,10 @@ class PageController extends Controller $page->fill($revision->toArray()); $this->setPageTitle(trans('entities.pages_revision_named', ['pageName' => $page->getShortName()])); - return view('pages/revision', [ + return view('pages.revision', [ 'page' => $page, 'book' => $page->book, + 'diff' => null, 'revision' => $revision ]); } @@ -432,7 +434,7 @@ class PageController extends Controller $page->fill($revision->toArray()); $this->setPageTitle(trans('entities.pages_revision_named', ['pageName'=>$page->getShortName()])); - return view('pages/revision', [ + return view('pages.revision', [ 'page' => $page, 'book' => $page->book, 'diff' => $diff, @@ -482,12 +484,12 @@ class PageController extends Controller // Check if its the latest revision, cannot delete latest revision. if (intval($currentRevision->id) === intval($revId)) { session()->flash('error', trans('entities.revision_cannot_delete_latest')); - return response()->view('pages/revisions', ['page' => $page, 'book' => $page->book, 'current' => $page], 400); + return response()->view('pages.revisions', ['page' => $page, 'book' => $page->book, 'current' => $page], 400); } $revision->delete(); session()->flash('success', trans('entities.revision_delete_success')); - return view('pages/revisions', ['page' => $page, 'book' => $page->book, 'current' => $page]); + return view('pages.revisions', ['page' => $page, 'book' => $page->book, 'current' => $page]); } /** @@ -538,8 +540,9 @@ class PageController extends Controller */ public function showRecentlyCreated() { + // TODO - Still exist? $pages = $this->pageRepo->getRecentlyCreatedPaginated('page', 20)->setPath(baseUrl('/pages/recently-created')); - return view('pages/detailed-listing', [ + return view('pages.detailed-listing', [ 'title' => trans('entities.recently_created_pages'), 'pages' => $pages ]); @@ -551,30 +554,14 @@ class PageController extends Controller */ public function showRecentlyUpdated() { + // TODO - Still exist? $pages = $this->pageRepo->getRecentlyUpdatedPaginated('page', 20)->setPath(baseUrl('/pages/recently-updated')); - return view('pages/detailed-listing', [ + return view('pages.detailed-listing', [ 'title' => trans('entities.recently_updated_pages'), 'pages' => $pages ]); } - /** - * Show the Restrictions view. - * @param string $bookSlug - * @param string $pageSlug - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View - */ - public function showRestrict($bookSlug, $pageSlug) - { - $page = $this->pageRepo->getPageBySlug($pageSlug, $bookSlug); - $this->checkOwnablePermission('restrictions-manage', $page); - $roles = $this->userRepo->getRestrictableRoles(); - return view('pages/restrictions', [ - 'page' => $page, - 'roles' => $roles - ]); - } - /** * Show the view to choose a new parent to move a page into. * @param string $bookSlug @@ -587,7 +574,7 @@ class PageController extends Controller $page = $this->pageRepo->getPageBySlug($pageSlug, $bookSlug); $this->checkOwnablePermission('page-update', $page); $this->checkOwnablePermission('page-delete', $page); - return view('pages/move', [ + return view('pages.move', [ 'book' => $page->book, 'page' => $page ]); @@ -645,7 +632,7 @@ class PageController extends Controller $page = $this->pageRepo->getPageBySlug($pageSlug, $bookSlug); $this->checkOwnablePermission('page-update', $page); session()->flashInput(['name' => $page->name]); - return view('pages/copy', [ + return view('pages.copy', [ 'book' => $page->book, 'page' => $page ]); @@ -690,6 +677,24 @@ class PageController extends Controller return redirect($pageCopy->getUrl()); } + /** + * Show the Permissions view. + * @param string $bookSlug + * @param string $pageSlug + * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @throws NotFoundException + */ + public function showPermissions($bookSlug, $pageSlug) + { + $page = $this->pageRepo->getPageBySlug($pageSlug, $bookSlug); + $this->checkOwnablePermission('restrictions-manage', $page); + $roles = $this->userRepo->getRestrictableRoles(); + return view('pages.permissions', [ + 'page' => $page, + 'roles' => $roles + ]); + } + /** * Set the permissions for this page. * @param string $bookSlug @@ -697,8 +702,9 @@ class PageController extends Controller * @param Request $request * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector * @throws NotFoundException + * @throws \Throwable */ - public function restrict($bookSlug, $pageSlug, Request $request) + public function permissions($bookSlug, $pageSlug, Request $request) { $page = $this->pageRepo->getPageBySlug($pageSlug, $bookSlug); $this->checkOwnablePermission('restrictions-manage', $page); diff --git a/resources/assets/sass/_grid.scss b/resources/assets/sass/_grid.scss index 302b66707..dfe02fab1 100644 --- a/resources/assets/sass/_grid.scss +++ b/resources/assets/sass/_grid.scss @@ -205,6 +205,9 @@ div[class^="col-"] img { &.left-focus { grid-template-columns: 2fr 1fr; } + &.right-focus { + grid-template-columns: 1fr 2fr; + } &.large-gap { grid-column-gap: $-xl; grid-row-gap: $-xl; @@ -266,7 +269,7 @@ div[class^="col-"] img { .grid.third { grid-template-columns: 1fr 1fr; } - .grid.left-focus { + .grid.left-focus, .grid.right-focus { grid-template-columns: 1fr; } } diff --git a/resources/lang/en/entities.php b/resources/lang/en/entities.php index 2a64f57a3..bf0e2172d 100644 --- a/resources/lang/en/entities.php +++ b/resources/lang/en/entities.php @@ -202,6 +202,8 @@ return [ 'pages_revisions_created_by' => 'Created By', 'pages_revisions_date' => 'Revision Date', 'pages_revisions_number' => '#', + 'pages_revisions_numbered' => 'Revision #:id', + 'pages_revisions_numbered_changes' => 'Revision #:id Changes', 'pages_revisions_changelog' => 'Changelog', 'pages_revisions_changes' => 'Changes', 'pages_revisions_current' => 'Current Version', diff --git a/resources/views/books/index.blade.php b/resources/views/books/index.blade.php index 0c2eea88b..e21dfc7a8 100644 --- a/resources/views/books/index.blade.php +++ b/resources/views/books/index.blade.php @@ -44,7 +44,7 @@ {{ trans('entities.books_create') }} @endif - @include('books.view-toggle', ['view' => $view]) + @include('partials.view-toggle', ['view' => $view, 'type' => 'book']) diff --git a/resources/views/chapters/delete.blade.php b/resources/views/chapters/delete.blade.php index 727b4c9bb..c2580883d 100644 --- a/resources/views/chapters/delete.blade.php +++ b/resources/views/chapters/delete.blade.php @@ -1,29 +1,32 @@ @extends('simple-layout') -@section('toolbar') -
-
{{ trans('entities.chapters_delete_explain', ['chapterName' => $chapter->name]) }}
-{{ trans('entities.chapters_delete_confirm') }}
+-
-
-
{{ $page->draft ? trans('entities.pages_delete_draft_confirm'): trans('entities.pages_delete_confirm') }}
-+ + {{ $page->draft ? trans('entities.pages_delete_draft_confirm'): trans('entities.pages_delete_confirm') }} + +
+ + {{--TODO - Looks strange--}} + +-
-
-
{{ trans('entities.pages_revisions_number') }} | +{{ trans('entities.pages_name') }} | +{{ trans('entities.pages_revisions_created_by') }} | +{{ trans('entities.pages_revisions_date') }} | +{{ trans('entities.pages_revisions_changelog') }} | +{{ trans('common.actions') }} | +||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
{{ trans('entities.pages_revisions_number') }} | -{{ trans('entities.pages_name') }} | -{{ trans('entities.pages_revisions_created_by') }} | -{{ trans('entities.pages_revisions_date') }} | -{{ trans('entities.pages_revisions_changelog') }} | -{{ trans('common.actions') }} | -||||||||
{{ $revision->revision_number == 0 ? '' : $revision->revision_number }} | -{{ $revision->name }} | -
- @if($revision->createdBy)
- |
- @if($revision->createdBy) {{ $revision->createdBy->name }} @else {{ trans('common.deleted_user') }} @endif | -{{ $revision->created_at->format('jS F, Y H:i:s') }} ({{ $revision->created_at->diffForHumans() }}) |
- {{ $revision->summary }} | -- {{ trans('entities.pages_revisions_changes') }} + | {{ $revision->revision_number == 0 ? '' : $revision->revision_number }} | +{{ $revision->name }} | +
+ @if($revision->createdBy)
+ |
+ @if($revision->createdBy) {{ $revision->createdBy->name }} @else {{ trans('common.deleted_user') }} @endif | +{{ $revision->created_at->format('jS F, Y H:i:s') }} ({{ $revision->created_at->diffForHumans() }}) |
+ {{ $revision->summary }} | +
+ {{ trans('entities.pages_revisions_changes') }}
+ |
+
+
+ @if ($index === 0)
+ {{ trans('entities.pages_revisions_current') }}
+ @else
+ {{ trans('entities.pages_revisions_preview') }}
|
+ {{ trans('entities.pages_revisions_restore') }}
+ |
+
+ {{ trans('common.delete') }}
+
+ @endif
+
|
+
{{ trans('entities.pages_revisions_none') }}
- @endif -{{ trans('entities.pages_revisions_none') }}
+ @endif-