]> BookStack Code Mirror - bookstack/commitdiff
Updated page delete to return to chapter if within one
authorDan Brown <redacted>
Mon, 16 Dec 2019 11:54:53 +0000 (11:54 +0000)
committerDan Brown <redacted>
Mon, 16 Dec 2019 11:54:53 +0000 (11:54 +0000)
- Added test to cover

Closes #1715

app/Http/Controllers/PageController.php
tests/Entity/EntityTest.php

index 630f888ed3e9dc0d16da96b622a03278b527cfb9..b216c19a8e7689a2e4797f12c9da8e2c92512c0b 100644 (file)
@@ -304,11 +304,12 @@ class PageController extends Controller
         $this->checkOwnablePermission('page-delete', $page);
 
         $book = $page->book;
+        $parent = $page->chapter ?? $book;
         $this->pageRepo->destroy($page);
         Activity::addMessage('page_delete', $page->name, $book->id);
 
         $this->showSuccessNotification(trans('entities.pages_delete_success'));
-        return redirect($book->getUrl());
+        return redirect($parent->getUrl());
     }
 
     /**
index 3d12ed7495943dcc75ef979d87d845a57c41ee47..97684ea4d66fc174e82c8c8b81b55a35488193d7 100644 (file)
@@ -315,4 +315,14 @@ class EntityTest extends BrowserKitTest
             ->seePageIs($book->getUrl());
     }
 
+    public function test_page_within_chapter_deletion_returns_to_chapter()
+    {
+        $chapter = Chapter::query()->first();
+        $page = $chapter->pages()->first();
+
+        $this->asEditor()->visit($page->getUrl('/delete'))
+            ->submitForm('Confirm')
+            ->seePageIs($chapter->getUrl());
+    }
+
 }