X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/ec775aec02c0887d5cf2dc23c938a75b7eaf67d2..06901b878f2c8057a6f9b7d2e0adfda425c68dee:/app/Entities/Controllers/PageController.php diff --git a/app/Entities/Controllers/PageController.php b/app/Entities/Controllers/PageController.php index 3187e6486..adafcdc7b 100644 --- a/app/Entities/Controllers/PageController.php +++ b/app/Entities/Controllers/PageController.php @@ -4,6 +4,8 @@ namespace BookStack\Entities\Controllers; use BookStack\Activity\Models\View; use BookStack\Activity\Tools\CommentTree; +use BookStack\Activity\Tools\UserEntityWatchOptions; +use BookStack\Entities\Models\Book; use BookStack\Entities\Models\Page; use BookStack\Entities\Repos\PageRepo; use BookStack\Entities\Tools\BookContents; @@ -24,16 +26,10 @@ use Throwable; class PageController extends Controller { - protected PageRepo $pageRepo; - protected ReferenceFetcher $referenceFetcher; - - /** - * PageController constructor. - */ - public function __construct(PageRepo $pageRepo, ReferenceFetcher $referenceFetcher) - { - $this->pageRepo = $pageRepo; - $this->referenceFetcher = $referenceFetcher; + public function __construct( + protected PageRepo $pageRepo, + protected ReferenceFetcher $referenceFetcher + ) { } /** @@ -76,7 +72,6 @@ class PageController extends Controller $page = $this->pageRepo->getNewDraftPage($parent); $this->pageRepo->publishDraft($page, [ 'name' => $request->get('name'), - 'html' => '', ]); return redirect($page->getUrl('/edit')); @@ -157,9 +152,10 @@ class PageController extends Controller 'sidebarTree' => $sidebarTree, 'commentTree' => $commentTree, 'pageNav' => $pageNav, + 'watchOptions' => new UserEntityWatchOptions(user(), $page), 'next' => $nextPreviousLocator->getNext(), 'previous' => $nextPreviousLocator->getPrevious(), - 'referenceCount' => $this->referenceFetcher->getPageReferenceCountToEntity($page), + 'referenceCount' => $this->referenceFetcher->getReferenceCountToEntity($page), ]); } @@ -263,11 +259,13 @@ class PageController extends Controller $page = $this->pageRepo->getBySlug($bookSlug, $pageSlug); $this->checkOwnablePermission('page-delete', $page); $this->setPageTitle(trans('entities.pages_delete_named', ['pageName' => $page->getShortName()])); + $usedAsTemplate = Book::query()->where('default_template_id', '=', $page->id)->count() > 0; return view('pages.delete', [ 'book' => $page->book, 'page' => $page, 'current' => $page, + 'usedAsTemplate' => $usedAsTemplate, ]); } @@ -281,11 +279,13 @@ class PageController extends Controller $page = $this->pageRepo->getById($pageId); $this->checkOwnablePermission('page-update', $page); $this->setPageTitle(trans('entities.pages_delete_draft_named', ['pageName' => $page->getShortName()])); + $usedAsTemplate = Book::query()->where('default_template_id', '=', $page->id)->count() > 0; return view('pages.delete', [ 'book' => $page->book, 'page' => $page, 'current' => $page, + 'usedAsTemplate' => $usedAsTemplate, ]); } @@ -395,7 +395,7 @@ class PageController extends Controller } catch (Exception $exception) { $this->showErrorNotification(trans('errors.selected_book_chapter_not_found')); - return redirect()->back(); + return redirect($page->getUrl('/move')); } return redirect($page->getUrl()); @@ -435,7 +435,7 @@ class PageController extends Controller if (is_null($newParent)) { $this->showErrorNotification(trans('errors.selected_book_chapter_not_found')); - return redirect()->back(); + return redirect($page->getUrl('/copy')); } $this->checkOwnablePermission('page-create', $newParent);