$revision = $page->revisions()->where('id', '=', $revisionId)->first();
$page->fill($revision->toArray());
$content = new PageContent($page);
- $content->setNewHTML($page->html);
+ $content->setNewHTML($revision->html);
$page->updated_by = user()->id;
$page->refreshSlug();
$page->save();
<?php namespace BookStack\Http\Controllers;
+use BookStack\Entities\Managers\PageContent;
use BookStack\Entities\Repos\PageRepo;
use BookStack\Exceptions\NotFoundException;
use BookStack\Facades\Activity;
}
$page->fill($revision->toArray());
+ // TODO - Refactor PageContent so we don't need to juggle this
+ $page->html = $revision->html;
+ $page->html = (new PageContent($page))->render();
$this->setPageTitle(trans('entities.pages_revision_named', ['pageName' => $page->getShortName()]));
return view('pages.revision', [
$diff = (new Htmldiff)->diff($prevContent, $revision->html);
$page->fill($revision->toArray());
+ // TODO - Refactor PageContent so we don't need to juggle this
+ $page->html = $revision->html;
+ $page->html = (new PageContent($page))->render();
$this->setPageTitle(trans('entities.pages_revision_named', ['pageName'=>$page->getShortName()]));
return view('pages.revision', [
$revisionView->assertSee('new content');
}
+ public function test_page_revision_preview_shows_content_of_revision()
+ {
+ $this->asEditor();
+
+ $pageRepo = app(PageRepo::class);
+ $page = Page::first();
+ $pageRepo->update($page, ['name' => 'updated page', 'html' => '<p>new revision content</p>', 'summary' => 'page revision testing']);
+ $pageRevision = $page->revisions->last();
+ $pageRepo->update($page, ['name' => 'updated page', 'html' => '<p>Updated content</p>', 'summary' => 'page revision testing 2']);
+
+ $revisionView = $this->get($page->getUrl() . '/revisions/' . $pageRevision->id);
+ $revisionView->assertStatus(200);
+ $revisionView->assertSee('new revision content');
+ }
+
public function test_page_revision_restore_updates_content()
{
$this->asEditor();