diff --git a/app/Http/Controllers/Issues/CommentController.php b/app/Http/Controllers/Issues/CommentController.php index d7f66e4..8288f3b 100644 --- a/app/Http/Controllers/Issues/CommentController.php +++ b/app/Http/Controllers/Issues/CommentController.php @@ -18,6 +18,8 @@ class CommentController extends Controller */ public function store(Request $request, Issue $issue) { + $this->authorize('comment-on', $issue); + $newComment = $request->validate([ 'body' => 'required|string|max:255', ]); diff --git a/app/Policies/Projects/IssuePolicy.php b/app/Policies/Projects/IssuePolicy.php index 9bd8c8d..7fe975a 100644 --- a/app/Policies/Projects/IssuePolicy.php +++ b/app/Policies/Projects/IssuePolicy.php @@ -14,4 +14,16 @@ class IssuePolicy { return true; } + + /** + * Determine whether the user can add comment to an issue. + * + * @param \App\Entities\Users\User $user + * @param \App\Entities\Projects\Issue $issue + * @return bool + */ + public function commentOn(User $user, Issue $issue) + { + return true; + } } diff --git a/resources/views/projects/issues/partials/comment-section.blade.php b/resources/views/projects/issues/partials/comment-section.blade.php index 949ec7a..dff082a 100644 --- a/resources/views/projects/issues/partials/comment-section.blade.php +++ b/resources/views/projects/issues/partials/comment-section.blade.php @@ -8,8 +8,10 @@ @endforeach +@can('comment-on', $issue) {{ Form::open(['route' => ['issues.comments.store', $issue]]) }} {!! FormField::textarea('body', ['required' => true, 'label' => false, 'placeholder' => __('comment.create_text')]) !!} {{ Form::submit(__('comment.create'), ['class' => 'btn btn-success pull-right']) }} {{ Form::close() }}