X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/756b55bbffedb6e5fde91f9fbc61f5a382f20705..refs/pull/2965/head:/app/Http/Controllers/PageController.php diff --git a/app/Http/Controllers/PageController.php b/app/Http/Controllers/PageController.php index 4818b5211..a94a61803 100644 --- a/app/Http/Controllers/PageController.php +++ b/app/Http/Controllers/PageController.php @@ -258,32 +258,14 @@ class PageController extends Controller 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, ]); }