Skip to content

Commit 7fa5405

Browse files
committed
Merge branch 'master' into release
2 parents 6725ddc + cc0ce7c commit 7fa5405

File tree

3 files changed

+29
-2
lines changed

3 files changed

+29
-2
lines changed

app/Repos/EntityRepo.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1058,7 +1058,7 @@ protected function activePageEditingQuery(Page $page, $minRange = null)
10581058
public function restorePageRevision(Page $page, Book $book, $revisionId)
10591059
{
10601060
$this->savePageRevision($page);
1061-
$revision = $this->getById('page_revision', $revisionId);
1061+
$revision = $page->revisions()->where('id', '=', $revisionId)->first();
10621062
$page->fill($revision->toArray());
10631063
$page->slug = $this->findSuitableSlug('page', $page->name, $page->id, $book->id);
10641064
$page->text = strip_tags($page->html);

resources/views/books/form.blade.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@
1111
</div>
1212

1313
<div class="form-group">
14-
<a href="{{ back()->getTargetUrl() }}" class="button muted">{{ trans('common.cancel') }}</a>
14+
<a href="{{ isset($book) ? $book->getUrl() : baseUrl('/books') }}" class="button muted">{{ trans('common.cancel') }}</a>
1515
<button type="submit" class="button pos">{{ trans('entities.books_save') }}</button>
1616
</div>

tests/Entity/PageContentTest.php

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,31 @@ public function test_page_revision_views_viewable()
5353
$revisionView->assertSee('new content');
5454
}
5555

56+
public function test_page_revision_restore_updates_content()
57+
{
58+
$this->asEditor();
59+
60+
$entityRepo = $this->app[EntityRepo::class];
61+
$page = Page::first();
62+
$entityRepo->updatePage($page, $page->book_id, ['name' => 'updated page abc123', 'html' => '<p>new contente def456</p>', 'summary' => 'initial page revision testing']);
63+
$entityRepo->updatePage($page, $page->book_id, ['name' => 'updated page again', 'html' => '<p>new content</p>', 'summary' => 'page revision testing']);
64+
$page = Page::find($page->id);
65+
66+
67+
$pageView = $this->get($page->getUrl());
68+
$pageView->assertDontSee('abc123');
69+
$pageView->assertDontSee('def456');
70+
71+
$revToRestore = $page->revisions()->where('name', 'like', '%abc123')->first();
72+
$restoreReq = $this->get($page->getUrl() . '/revisions/' . $revToRestore->id . '/restore');
73+
$page = Page::find($page->id);
74+
75+
$restoreReq->assertStatus(302);
76+
$restoreReq->assertRedirect($page->getUrl());
77+
78+
$pageView = $this->get($page->getUrl());
79+
$pageView->assertSee('abc123');
80+
$pageView->assertSee('def456');
81+
}
82+
5683
}

0 commit comments

Comments
 (0)