Fixed inaccessible revisions, added regression tests

Fixes #309
This commit is contained in:
Dan Brown
2017-02-25 12:29:01 +00:00
parent 4a2a539c08
commit 387047f262
5 changed files with 68 additions and 17 deletions

View File

@ -369,10 +369,13 @@ class PageController extends Controller
public function showRevision($bookSlug, $pageSlug, $revisionId)
{
$page = $this->entityRepo->getBySlug('page', $pageSlug, $bookSlug);
$revision = $this->entityRepo->getById('page_revision', $revisionId, false);
$revision = $page->revisions()->where('id', '=', $revisionId)->first();
if ($revision === null) {
abort(404);
}
$page->fill($revision->toArray());
$this->setPageTitle(trans('entities.pages_revision_named', ['pageName'=>$page->getShortName()]));
$this->setPageTitle(trans('entities.pages_revision_named', ['pageName' => $page->getShortName()]));
return view('pages/revision', [
'page' => $page,
@ -390,7 +393,10 @@ class PageController extends Controller
public function showRevisionChanges($bookSlug, $pageSlug, $revisionId)
{
$page = $this->entityRepo->getBySlug('page', $pageSlug, $bookSlug);
$revision = $this->entityRepo->getById('page_revision', $revisionId);
$revision = $page->revisions()->where('id', '=', $revisionId)->first();
if ($revision === null) {
abort(404);
}
$prev = $revision->getPrevious();
$prevContent = ($prev === null) ? '' : $prev->html;