diff --git a/app/Http/Controllers/PageController.php b/app/Http/Controllers/PageController.php index 630f888ed..b216c19a8 100644 --- a/app/Http/Controllers/PageController.php +++ b/app/Http/Controllers/PageController.php @@ -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()); } /** diff --git a/tests/Entity/EntityTest.php b/tests/Entity/EntityTest.php index 3d12ed749..97684ea4d 100644 --- a/tests/Entity/EntityTest.php +++ b/tests/Entity/EntityTest.php @@ -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()); + } + }