]> BookStack Code Mirror - bookstack/blobdiff - app/Http/Controllers/PageController.php
Changes as per code review, and fixes failing test cases.
[bookstack] / app / Http / Controllers / PageController.php
index 4cfd4c8328a7e39b8339a4dee5e3808643b468c2..e3079047cac436c13873cdf8876841d98a23f165 100644 (file)
@@ -459,7 +459,7 @@ class PageController extends Controller
      * Deletes a revision using the id of the specified revision.
      * @param string $bookSlug
      * @param string $pageSlug
-     * @param int $revisionId
+     * @param int $revId
      * @throws NotFoundException
      * @throws BadRequestException
      * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
@@ -467,7 +467,7 @@ class PageController extends Controller
     public function destroyRevision($bookSlug, $pageSlug, $revId)
     {
         $page = $this->entityRepo->getBySlug('page', $pageSlug, $bookSlug);
-        $this->checkOwnablePermission('page-update', $page);
+        $this->checkOwnablePermission('page-delete', $page);
 
         $revision = $page->revisions()->where('id', '=', $revId)->first();
         if ($revision === null) {
@@ -475,12 +475,12 @@ class PageController extends Controller
         }
 
         // Get the current revision for the page
-        $current = $revision->getCurrent();
+        $currentRevision = $page->getCurrentRevision();
 
         // Check if its the latest revision, cannot delete latest revision.
-        if (intval($current->id) === intval($revId)) {
+        if (intval($currentRevision->id) === intval($revId)) {
             session()->flash('error', trans('entities.revision_cannot_delete_latest'));
-            return view('pages/revisions', ['page' => $page, 'book' => $page->book, 'current' => $page]);
+            return response()->view('pages/revisions', ['page' => $page, 'book' => $page->book, 'current' => $page], 400);
         }
 
         $revision->delete();