diff --git a/public_html/js/Presenters/PostEditPresenter.js b/public_html/js/Presenters/PostEditPresenter.js index ff68189e..de139797 100644 --- a/public_html/js/Presenters/PostEditPresenter.js +++ b/public_html/js/Presenters/PostEditPresenter.js @@ -109,7 +109,7 @@ App.Presenters.PostEditPresenter = function( function editPost() { var $form = $target.find('form'); var formData = new FormData(); - formData.append('seenEditTime', post.lastEditTime); + formData.append('lastEditTime', post.lastEditTime); if (privileges.canChangeContent && postContent) { formData.append('content', postContent); diff --git a/src/FormData/PostEditFormData.php b/src/FormData/PostEditFormData.php index c4a68738..528f42ef 100644 --- a/src/FormData/PostEditFormData.php +++ b/src/FormData/PostEditFormData.php @@ -14,7 +14,7 @@ class PostEditFormData implements IValidatable public $relations; public $flags; - public $seenEditTime; + public $lastEditTime; public function __construct($inputReader = null) { @@ -29,7 +29,7 @@ class PostEditFormData implements IValidatable $this->tags = preg_split('/[\s+]/', $inputReader->tags); if ($inputReader->relations !== null) $this->relations = array_filter(preg_split('/[\s+]/', $inputReader->relations)); - $this->seenEditTime = $inputReader->seenEditTime; + $this->lastEditTime = $inputReader->lastEditTime; $this->flags = new \StdClass; $this->flags->loop = !empty($inputReader->loop); } diff --git a/src/Services/PostService.php b/src/Services/PostService.php index 3a6d211e..6141bd2b 100644 --- a/src/Services/PostService.php +++ b/src/Services/PostService.php @@ -140,7 +140,10 @@ class PostService { $this->validator->validate($formData); - if ($post->getLastEditTime() !== $formData->seenEditTime) + if (!$formData->lastEditTime) + throw new \DomainException('Last edit time was not provided; cannot edit post.'); + + if ($post->getLastEditTime() !== $formData->lastEditTime) throw new \DomainException('Someone has already edited this post in the meantime.'); $post->setLastEditTime($this->timeService->getCurrentTime());