1
0
mirror of https://github.com/BookStackApp/BookStack.git synced 2025-07-30 04:23:11 +03:00

Changed when revisions are saved and update changelog input

Revisions are now saved when te page content is originally saved whereas before they were saved on the next update to the page.
This commit is contained in:
Dan Brown
2016-07-10 12:12:52 +01:00
parent 8a9a8dfae5
commit 7215392784
8 changed files with 73 additions and 31 deletions

View File

@ -147,7 +147,7 @@ class PageRepo extends EntityRepo
$draftPage->fill($input);
// Save page tags if present
if(isset($input['tags'])) {
if (isset($input['tags'])) {
$this->tagRepo->saveTagsToEntity($draftPage, $input['tags']);
}
@ -308,10 +308,9 @@ class PageRepo extends EntityRepo
*/
public function updatePage(Page $page, $book_id, $input)
{
// Save a revision before updating
if ($page->html !== $input['html'] || $page->name !== $input['name']) {
$this->saveRevision($page, $input['summary']);
}
// Hold the old details to compare later
$oldHtml = $page->html;
$oldName = $page->name;
// Prevent slug being updated if no name change
if ($page->name !== $input['name']) {
@ -319,7 +318,7 @@ class PageRepo extends EntityRepo
}
// Save page tags if present
if(isset($input['tags'])) {
if (isset($input['tags'])) {
$this->tagRepo->saveTagsToEntity($page, $input['tags']);
}
@ -335,6 +334,11 @@ class PageRepo extends EntityRepo
// Remove all update drafts for this user & page.
$this->userUpdateDraftsQuery($page, $userId)->delete();
// Save a revision after updating
if ($oldHtml !== $input['html'] || $oldName !== $input['name'] || $input['summary'] !== null) {
$this->saveRevision($page, $input['summary']);
}
return $page;
}
@ -360,6 +364,7 @@ class PageRepo extends EntityRepo
/**
* Saves a page revision into the system.
* @param Page $page
* @param null|string $summary
* @return $this
*/
public function saveRevision(Page $page, $summary = null)
@ -406,7 +411,7 @@ class PageRepo extends EntityRepo
$draft->fill($data);
if (setting('app-editor') !== 'markdown') $draft->markdown = '';
$draft->save();
return $draft;
}