diff --git a/app/controllers/my_module_comments_controller.rb b/app/controllers/my_module_comments_controller.rb deleted file mode 100644 index 55c0e5c8b..000000000 --- a/app/controllers/my_module_comments_controller.rb +++ /dev/null @@ -1,71 +0,0 @@ -# frozen_string_literal: true - -class MyModuleCommentsController < ApplicationController - include ActionView::Helpers::TextHelper - include InputSanitizeHelper - include ApplicationHelper - include CommentHelper - - before_action :load_vars - before_action :load_comment, only: %i(update destroy) - before_action :check_view_permissions, only: :index - before_action :check_create_permissions, only: :create - before_action :check_manage_permissions, only: %i(update destroy) - - def index - comments = @my_module.last_comments(@last_comment_id, @per_page) - unless comments.blank? - more_url = url_for(my_module_my_module_comments_url(@my_module, format: :json, from: comments.first.id)) - end - comment_index_helper(comments, more_url, @last_comment_id.positive? ? nil : '/my_module_comments/index') - end - - def create - @comment = TaskComment.new( - message: comment_params[:message], - user: current_user, - my_module: @my_module - ) - comment_create_helper(@comment) - end - - def update - old_text = @comment.message - @comment.message = comment_params[:message] - comment_update_helper(@comment, old_text) - end - - def destroy - comment_destroy_helper(@comment) - end - - private - - def load_vars - @last_comment_id = params[:from].to_i - @per_page = Constants::COMMENTS_SEARCH_LIMIT - @my_module = MyModule.find_by(id: params[:my_module_id]) - - render_404 unless @my_module - end - - def load_comment - @comment = @my_module.task_comments.find(params[:id]) - end - - def check_view_permissions - render_403 unless can_read_my_module?(@my_module) - end - - def check_create_permissions - render_403 unless can_create_my_module_comments?(@my_module) - end - - def check_manage_permissions - render_403 unless can_manage_my_module_comment?(@comment) - end - - def comment_params - params.require(:comment).permit(:message) - end -end diff --git a/app/controllers/project_comments_controller.rb b/app/controllers/project_comments_controller.rb deleted file mode 100644 index b4444d811..000000000 --- a/app/controllers/project_comments_controller.rb +++ /dev/null @@ -1,66 +0,0 @@ -# frozen_string_literal: true - -class ProjectCommentsController < ApplicationController - include ActionView::Helpers::TextHelper - include InputSanitizeHelper - include ApplicationHelper - include CommentHelper - - before_action :load_vars - before_action :check_view_permissions, only: :index - before_action :check_create_permissions, only: :create - before_action :check_manage_permissions, only: %i(update destroy) - - def index - comments = @project.last_comments(@last_comment_id, @per_page) - more_url = project_project_comments_url(@project, format: :json, from: comments.first.id) unless comments.blank? - comment_index_helper(comments, more_url, @last_comment_id.positive? ? nil : '/project_comments/index') - end - - def create - @comment = ProjectComment.new( - message: comment_params[:message], - user: current_user, - project: @project - ) - comment_create_helper(@comment) - end - - def update - old_text = @comment.message - @comment.message = comment_params[:message] - comment_update_helper(@comment, old_text) - end - - def destroy - comment_destroy_helper(@comment) - end - - private - - def load_vars - @last_comment_id = params[:from].to_i - @per_page = Constants::COMMENTS_SEARCH_LIMIT - @project = current_team.projects.find_by(id: params[:project_id]) - - render_404 unless @project - end - - def check_view_permissions - render_403 unless can_read_project?(@project) - end - - def check_create_permissions - render_403 unless can_create_project_comments?(@project) - end - - def check_manage_permissions - @comment = @project.project_comments.find_by(id: params[:id]) - render_403 unless @comment.present? && - can_manage_project_comment?(@comment) - end - - def comment_params - params.require(:comment).permit(:message) - end -end diff --git a/app/controllers/protocols_controller.rb b/app/controllers/protocols_controller.rb index 7a46b538f..8b524e40f 100644 --- a/app/controllers/protocols_controller.rb +++ b/app/controllers/protocols_controller.rb @@ -6,7 +6,6 @@ class ProtocolsController < ApplicationController include InputSanitizeHelper include ProtocolsIoHelper include TeamsHelper - include CommentHelper include ProtocolsExporterV2 before_action :check_create_permissions, only: %i( diff --git a/app/controllers/result_comments_controller.rb b/app/controllers/result_comments_controller.rb deleted file mode 100644 index aa872a384..000000000 --- a/app/controllers/result_comments_controller.rb +++ /dev/null @@ -1,68 +0,0 @@ -# frozen_string_literal: true - -class ResultCommentsController < ApplicationController - include ActionView::Helpers::TextHelper - include InputSanitizeHelper - include ApplicationHelper - include CommentHelper - - before_action :load_vars - - before_action :check_view_permissions, only: [:index] - before_action :check_add_permissions, only: [:create] - before_action :check_manage_permissions, only: %i(update destroy) - - def index - comments = @result.last_comments(@last_comment_id, @per_page) - more_url = result_result_comments_path(@result, format: :json, from: comments.first.id) unless comments.blank? - comment_index_helper(comments, more_url) - end - - def create - @comment = ResultComment.new( - message: comment_params[:message], - user: current_user, - result: @result - ) - comment_create_helper(@comment) - end - - def update - old_text = @comment.message - @comment.message = comment_params[:message] - comment_update_helper(@comment, old_text) - end - - def destroy - comment_destroy_helper(@comment) - end - - private - - def load_vars - @last_comment_id = params[:from].to_i - @per_page = Constants::COMMENTS_SEARCH_LIMIT - @result = Result.find_by_id(params[:result_id]) - @my_module = @result.my_module - - render_404 unless @result - end - - def check_view_permissions - render_403 unless can_read_my_module?(@my_module) - end - - def check_add_permissions - render_403 unless can_create_my_module_result_comments?(@my_module) - end - - def check_manage_permissions - @comment = @result.result_comments.find_by(id: params[:id]) - render_403 unless @comment.present? && - can_manage_result_comment?(@comment) - end - - def comment_params - params.require(:comment).permit(:message) - end -end diff --git a/app/controllers/step_comments_controller.rb b/app/controllers/step_comments_controller.rb deleted file mode 100644 index c7ecfa5f0..000000000 --- a/app/controllers/step_comments_controller.rb +++ /dev/null @@ -1,89 +0,0 @@ -# frozen_string_literal: true - -class StepCommentsController < ApplicationController - include ActionView::Helpers::TextHelper - include InputSanitizeHelper - include ApplicationHelper - include CommentHelper - - before_action :load_vars - - before_action :check_view_permissions, only: [:index] - before_action :check_add_permissions, only: [:create] - before_action :check_update_permissions, only: %i(update) - before_action :check_destroy_permissions, only: %i(destroy) - - def index - comments = @step.last_comments(@last_comment_id, @per_page) - more_url = step_step_comments_path(@step, format: :json, from: comments.first.id) unless comments.blank? - comment_index_helper(comments, more_url) - end - - def create - @comment = StepComment.new( - message: comment_params[:message], - user: current_user, - step: @step - ) - comment_create_helper(@comment) - end - - def update - old_text = @comment.message - @comment.message = comment_params[:message] - comment_update_helper(@comment, old_text) - end - - def destroy - comment_destroy_helper(@comment) - end - - private - - def load_vars - @last_comment_id = params[:from].to_i - @per_page = Constants::COMMENTS_SEARCH_LIMIT - @step = Step.find_by_id(params[:step_id]) - @protocol = @step&.protocol - - render_404 unless @step && @protocol - end - - def check_view_permissions - render_403 unless can_read_protocol_in_module?(@protocol) - end - - def check_add_permissions - render_403 unless can_create_my_module_comments?(@protocol.my_module) - end - - def check_destroy_permissions - @comment = @step.step_comments.find_by(id: params[:id]) - render_403 unless @comment.present? && - can_delete_comment_in_my_module_steps?(@comment) - end - - def check_update_permissions - @comment = @step.step_comments.find_by(id: params[:id]) - render_403 unless @comment.present? && - can_update_comment_in_my_module_steps?(@comment) - end - - def comment_params - params.require(:comment).permit(:message) - end - - def log_activity(type_of) - Activities::CreateActivityService - .call(activity_type: type_of, - owner: current_user, - subject: @protocol, - team: @step.my_module.team, - project: @step.my_module.project, - message_items: { - my_module: @step.my_module.id, - step: @step.id, - step_position: { id: @step.id, value_for: 'position_plus_one' } - }) - end -end diff --git a/app/helpers/comment_helper.rb b/app/helpers/comment_helper.rb index 9f173750a..f6a5ae93e 100644 --- a/app/helpers/comment_helper.rb +++ b/app/helpers/comment_helper.rb @@ -1,31 +1,6 @@ # frozen_string_literal: true module CommentHelper - def comment_action_url(comment) - case comment.type - when 'StepComment' - step_step_comment_path(comment.step, comment, format: :json) - when 'ResultComment' - result_result_comment_path(comment.result, comment, format: :json) - when 'ProjectComment' - project_project_comment_path(comment.project, comment, format: :json) - when 'TaskComment' - my_module_my_module_comment_path(comment.my_module, comment, format: :json) - end - end - - def comment_index_helper(comments, more_url, partial = nil) - partial ||= 'shared/comments/list' - render json: { - perPage: @per_page, - resultsNumber: comments.size, - moreUrl: more_url, - html: render_to_string( - partial: partial, locals: { comments: comments }, formats: :html - ) - } - end - def comment_create_helper(comment, partial = 'item') if comment.save case comment.type diff --git a/app/views/my_module_comments/_index.html.erb b/app/views/my_module_comments/_index.html.erb deleted file mode 100644 index e9b1e29e5..000000000 --- a/app/views/my_module_comments/_index.html.erb +++ /dev/null @@ -1,9 +0,0 @@ -