From: Dan Brown Date: Tue, 12 Dec 2023 15:59:12 +0000 (+0000) Subject: Default templates: Fixed syntax for php8.0, added test X-Git-Tag: v23.12~1^2~9^2 X-Git-Url: http://source.bookstackapp.com/bookstack/commitdiff_plain/3af07addf6742454f2f984dac24147e2fe65fde3 Default templates: Fixed syntax for php8.0, added test Null accessor is akward in php8.0 and throws warnings, so removed. Added test to check template assingment handling on page delete. --- diff --git a/resources/views/books/parts/form.blade.php b/resources/views/books/parts/form.blade.php index 973bae987..e22be619d 100644 --- a/resources/views/books/parts/form.blade.php +++ b/resources/views/books/parts/form.blade.php @@ -49,7 +49,7 @@ @include('form.page-picker', [ 'name' => 'default_template_id', 'placeholder' => trans('entities.books_default_template_select'), - 'value' => $book?->default_template_id ?? null, + 'value' => $book->default_template_id ?? null, ]) diff --git a/tests/Entity/BookDefaultTemplateTest.php b/tests/Entity/BookDefaultTemplateTest.php index f23ba4a8e..d4cd5b2c3 100644 --- a/tests/Entity/BookDefaultTemplateTest.php +++ b/tests/Entity/BookDefaultTemplateTest.php @@ -159,6 +159,21 @@ class BookDefaultTemplateTest extends TestCase $this->assertEquals('', $latestPage->markdown); } + public function test_template_page_delete_removes_book_template_usage() + { + $templatePage = $this->entities->templatePage(); + $book = $this->bookUsingDefaultTemplate($templatePage); + + $book->refresh(); + $this->assertEquals($templatePage->id, $book->default_template_id); + + $this->asEditor()->delete($templatePage->getUrl()); + $this->asAdmin()->post('/settings/recycle-bin/empty'); + + $book->refresh(); + $this->assertEquals(null, $book->default_template_id); + } + protected function bookUsingDefaultTemplate(Page $page): Book { $book = $this->entities->book();