diff --git a/app/controllers/comments_controller.rb b/app/controllers/comments_controller.rb index 15bf99fb..7e008d07 100644 --- a/app/controllers/comments_controller.rb +++ b/app/controllers/comments_controller.rb @@ -112,13 +112,13 @@ class CommentsController < ApplicationController def destroy @comments = Comment.where(file_id: params[:file_id], row: params[:row]) + authorize! @comments.delete_all respond_to do |format| #format.html { redirect_to comments_url, notice: 'Comments were successfully destroyed.' } format.html { head :no_content, notice: 'Comments were successfully destroyed.' } format.json { head :no_content } end - authorize! end private diff --git a/app/policies/comment_policy.rb b/app/policies/comment_policy.rb index 091ed5e2..84e7a0ed 100644 --- a/app/policies/comment_policy.rb +++ b/app/policies/comment_policy.rb @@ -1,6 +1,12 @@ class CommentPolicy < ApplicationPolicy def author? - @user == @record.author + if @record.is_a?(ActiveRecord::Relation) + flag = true + @record.all {|item| flag = (flag and item.author == @user)} + flag + else + @user == @record.author + end end private :author? diff --git a/app/views/request_for_comments/show.html.erb b/app/views/request_for_comments/show.html.erb index e0a76d31..0688820d 100644 --- a/app/views/request_for_comments/show.html.erb +++ b/app/views/request_for_comments/show.html.erb @@ -143,7 +143,7 @@ do not put a carriage return in the line below. it will be present in the presen commentModal.find('#removeAllButton').on('click', function(e){ var file_id = $(editor.container).data('file-id'); - deleteComment(file_id,row, editor); + deleteComment(file_id, row, editor); commentModal.modal('hide'); });