return $this->jsonError(trans('errors.guests_cannot_save_drafts'), 500);
}
- // Check for active editing or time conflict
- $warnings = [];
- $jsonResponseWarning = '';
- $editActivity = new PageEditActivity($page);
- if ($editActivity->hasActiveEditing()) {
- $warnings[] = $editActivity->activeEditingMessage();
- }
- $userDraft = $this->pageRepo->getUserDraft($page);
- if ($userDraft !== null) {
- if ($editActivity->hasPageBeenUpdatedSinceDraftSaved($userDraft)) {
- $warnings[] = $editActivity->getEditingActiveDraftMessage($userDraft);
- }
- }
- if (count($warnings) > 0) {
- $jsonResponseWarning = implode("\n", $warnings);
- }
-
$draft = $this->pageRepo->updatePageDraft($page, $request->only(['name', 'html', 'markdown']));
-
- $updateTime = $draft->updated_at->timestamp;
+ $warnings = (new PageEditActivity($page))->getWarningMessagesForDraft($draft);
return response()->json([
'status' => 'success',
'message' => trans('entities.pages_edit_draft_save_at'),
- 'warning' => $jsonResponseWarning,
- 'timestamp' => $updateTime,
+ 'warning' => implode("\n", $warnings),
+ 'timestamp' => $draft->updated_at->timestamp,
]);
}