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 @@ -
<%= t('experiments.canvas.popups.comments_tab') %>
-
- <%= render partial: 'shared/comments/comments', locals: { - object: @my_module, - comments: comments, - can_create_comments: can_create_my_module_comments?(@my_module), - create_url: my_module_my_module_comments_path(@my_module, format: :json), - more_url: my_module_my_module_comments_path(@my_module, format: :json, from: comments.first&.id) - } %> diff --git a/app/views/project_comments/_index.html.erb b/app/views/project_comments/_index.html.erb deleted file mode 100644 index 22f783ee8..000000000 --- a/app/views/project_comments/_index.html.erb +++ /dev/null @@ -1,10 +0,0 @@ -
<%= t('projects.index.comment_tab') %>
-
- <%= render partial: 'shared/comments/comments', locals: { - object: @project, - comments: comments, - can_create_comments: can_create_project_comments?(@project), - create_url: project_project_comments_path(@project, format: :json), - more_url: project_project_comments_path(@project, format: :json, from: comments.first&.id) - } %> - diff --git a/app/views/reports/elements/_comment_element.html.erb b/app/views/reports/elements/_comment_element.html.erb new file mode 100644 index 000000000..d457f3e66 --- /dev/null +++ b/app/views/reports/elements/_comment_element.html.erb @@ -0,0 +1,26 @@ +
+
+ + <% base64_encoded = defined?(export_all) && export_all %> + <%= image_tag user_avatar_absolute_url(comment.user, :icon_small, base64_encoded), class: 'avatar' %> + +
+
+
<%= comment.user.full_name %>
+
+
<%= l(comment.created_at, format: :full) %>
+
+
+
<%= custom_auto_link(comment.message, team: current_team, simple_format: true) %>
+
+
+
+
diff --git a/app/views/reports/elements/_result_comments_element.html.erb b/app/views/reports/elements/_result_comments_element.html.erb index 6069f1051..8b2616916 100644 --- a/app/views/reports/elements/_result_comments_element.html.erb +++ b/app/views/reports/elements/_result_comments_element.html.erb @@ -15,8 +15,8 @@
diff --git a/app/views/reports/elements/_step_comments_element.html.erb b/app/views/reports/elements/_step_comments_element.html.erb index ebf0bd186..ad0f87bbf 100644 --- a/app/views/reports/elements/_step_comments_element.html.erb +++ b/app/views/reports/elements/_step_comments_element.html.erb @@ -12,8 +12,8 @@
diff --git a/app/views/result_comments/_index.html.erb b/app/views/result_comments/_index.html.erb deleted file mode 100644 index 967151352..000000000 --- a/app/views/result_comments/_index.html.erb +++ /dev/null @@ -1,16 +0,0 @@ -
- -
-

- <%=t('my_modules.results.comments_tab') %> - (<%= comments.count %>) -

-
- - <%= render partial: 'shared/comments/comments', locals: { - object: result, - comments: comments, - can_create_comments: can_create_my_module_result_comments?(@my_module), - create_url: result_result_comments_path(result, format: :json), - more_url: result_result_comments_path(result, format: :json, from: comments.first&.id) - } %> diff --git a/app/views/shared/comments/_comments.html.erb b/app/views/shared/comments/_comments.html.erb deleted file mode 100644 index 808964ae7..000000000 --- a/app/views/shared/comments/_comments.html.erb +++ /dev/null @@ -1,27 +0,0 @@ -
> - <% per_page = Constants::COMMENTS_SEARCH_LIMIT %> -
- <% if comments.size == per_page %> - - <% end %> -
- <%= render partial: 'shared/comments/list', locals: { comments: comments} %> - <% comments.mark_as_seen_by(current_user, object) %> -
-
- <% if can_create_comments %> -
- <%= text_area_tag 'message', '', placeholder: t('general.comment_placeholder_new'), - class: 'form-control smart-text-area textarea-sm', - data: { 'atwho-edit' => '' } %> - - -
- <% end %> -
diff --git a/app/views/shared/comments/_item.html.erb b/app/views/shared/comments/_item.html.erb deleted file mode 100644 index 42fba76be..000000000 --- a/app/views/shared/comments/_item.html.erb +++ /dev/null @@ -1,55 +0,0 @@ -<% report = false unless defined?(report) %> -<% readonly = false unless defined?(readonly) %> -<% edit_mode = (!readonly && comment_editable?(comment)) %> -
-
- - <% if report %> - <% base64_encoded = defined?(export_all) && export_all %> - <%= image_tag user_avatar_absolute_url(comment.user, :icon_small, base64_encoded), class: 'avatar' %> - <% else %> - <%= image_tag avatar_path(comment.user, :icon_small), class: 'avatar' %> - <% end %> - -
-
-
<%= comment.user.full_name %>
-
-
<%= l(comment.created_at, format: :full) %>
- <% if edit_mode %> -
-
- <%= t('general.save') %> - -
-
- <%= t('general.edit') %> - - - -
-
- <% end %> -
-
-
<%= custom_auto_link(comment.message, team: current_team, simple_format: true) %>
- <% if edit_mode %> - <%= text_area_tag 'message', comment.message, disabled: true, class: 'smart-text-area hidden' %> - <% end %> -
-
-
-
diff --git a/app/views/shared/comments/_list.html.erb b/app/views/shared/comments/_list.html.erb deleted file mode 100644 index 411acd5e9..000000000 --- a/app/views/shared/comments/_list.html.erb +++ /dev/null @@ -1,4 +0,0 @@ -<% comments.each do |comment| %> - <%= render partial: 'shared/comments/item', - locals: { comment: comment } %> -<% end %> diff --git a/config/routes.rb b/config/routes.rb index 22fa1ec2c..4208db53e 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -326,9 +326,6 @@ Rails.application.routes.draw do end resources :projects, except: [:destroy] do - resources :project_comments, - path: '/comments', - only: %i(create index update destroy) # Activities popup (JSON) for individual project in projects index, # as well as all activities page for single project (HTML) resources :project_activities, path: '/activities', only: [:index] @@ -467,10 +464,6 @@ Rails.application.routes.draw do resource :shareable_link, controller: :my_module_shareable_links, only: %i(show create update destroy) - resources :my_module_comments, - path: '/comments', - only: %i(create index update destroy) - get :repositories_dropdown_list, controller: :my_module_repositories get :repositories_list_html, controller: :my_module_repositories @@ -569,9 +562,6 @@ Rails.application.routes.draw do resources :step_orderable_elements do post :reorder, on: :collection end - resources :step_comments, - path: '/comments', - only: %i(create index update destroy) resources :tables, controller: 'step_elements/tables', only: %i(create destroy update) do member do get :move_targets