X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/31f5786e01fc5ed439f347c6979679612baca4fb..refs/pull/2902/head:/app/Http/Controllers/CommentController.php diff --git a/app/Http/Controllers/CommentController.php b/app/Http/Controllers/CommentController.php index 068358d72..dfe468f5f 100644 --- a/app/Http/Controllers/CommentController.php +++ b/app/Http/Controllers/CommentController.php @@ -1,8 +1,9 @@ -commentRepo = $commentRepo; - parent::__construct(); } /** - * Save a new comment for a Page + * Save a new comment for a Page. + * * @throws ValidationException */ - public function savePageComment(Request $request, int $pageId, int $commentId = null) + public function savePageComment(Request $request, int $pageId) { $this->validate($request, [ - 'text' => 'required|string', - 'html' => 'required|string', + 'text' => 'required|string', + 'parent_id' => 'nullable|integer', ]); $page = Page::visible()->find($pageId); @@ -35,8 +33,6 @@ class CommentController extends Controller return response('Not found', 404); } - $this->checkOwnablePermission('page-view', $page); - // Prevent adding comments to draft pages if ($page->draft) { return $this->jsonError(trans('errors.cannot_add_comment_to_draft'), 400); @@ -44,27 +40,28 @@ class CommentController extends Controller // Create a new comment. $this->checkPermission('comment-create-all'); - $comment = $this->commentRepo->create($page, $request->only(['html', 'text', 'parent_id'])); - Activity::add($page, 'commented_on', $page->book->id); + $comment = $this->commentRepo->create($page, $request->get('text'), $request->get('parent_id')); + return view('comments.comment', ['comment' => $comment]); } /** * Update an existing comment. + * * @throws ValidationException */ public function update(Request $request, int $commentId) { $this->validate($request, [ 'text' => 'required|string', - 'html' => 'required|string', ]); $comment = $this->commentRepo->getById($commentId); $this->checkOwnablePermission('page-view', $comment->entity); $this->checkOwnablePermission('comment-update', $comment); - $comment = $this->commentRepo->update($comment, $request->only(['html', 'text'])); + $comment = $this->commentRepo->update($comment, $request->get('text')); + return view('comments.comment', ['comment' => $comment]); } @@ -77,6 +74,7 @@ class CommentController extends Controller $this->checkOwnablePermission('comment-delete', $comment); $this->commentRepo->delete($comment); + return response()->json(['message' => trans('entities.comment_deleted')]); } }