From: Dan Brown Date: Mon, 16 Dec 2019 11:54:53 +0000 (+0000) Subject: Updated page delete to return to chapter if within one X-Git-Tag: v0.28.0~1^2~35 X-Git-Url: http://source.bookstackapp.com/bookstack/commitdiff_plain/017703ff1a697d825219a9fd9d68d778b12e8733 Updated page delete to return to chapter if within one - Added test to cover Closes #1715 --- 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()); + } + }