From 5d104981fd5426fc9c2152465a54e2a8865d11f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Zrim=C5=A1ek?= Date: Fri, 6 Jan 2017 12:56:14 +0100 Subject: [PATCH 1/2] Fixed sample deletion on experiments level. Minor refactoring. [SCI-848] --- app/controllers/concerns/sample_actions.rb | 18 ++++++++++-------- app/controllers/experiments_controller.rb | 9 ++++++--- app/controllers/my_modules_controller.rb | 2 +- app/controllers/projects_controller.rb | 2 +- app/helpers/samples_helper.rb | 4 ++-- config/routes.rb | 2 +- 6 files changed, 21 insertions(+), 16 deletions(-) diff --git a/app/controllers/concerns/sample_actions.rb b/app/controllers/concerns/sample_actions.rb index 52ee3bb11..5ae16730e 100644 --- a/app/controllers/concerns/sample_actions.rb +++ b/app/controllers/concerns/sample_actions.rb @@ -4,7 +4,7 @@ module SampleActions def delete_samples check_destroy_samples_permissions - + if params[:sample_ids].present? counter_user = 0 counter_other_users = 0 @@ -14,30 +14,32 @@ module SampleActions if sample and can_delete_sample(sample) sample.destroy counter_user += 1 - else + else counter_other_users += 1 end end if counter_user > 0 if counter_other_users > 0 - flash[:success] = t("samples.destroy.contains_other_samples_flash", - sample_number: counter_user, other_samples_number: counter_other_users) + flash[:success] = t('samples.destroy.contains_other_samples_flash', + sample_number: counter_user, other_samples_number: counter_other_users) else - flash[:success] = t("samples.destroy.success_flash", + flash[:success] = t('samples.destroy.success_flash', sample_number: counter_user) end - else - flash[:notice] = t("samples.destroy.no_deleted_samples_flash", + else + flash[:notice] = t('samples.destroy.no_deleted_samples_flash', other_samples_number: counter_other_users) end else - flash[:notice] = t("samples.destroy.no_sample_selected_flash") + flash[:notice] = t('samples.destroy.no_sample_selected_flash') end if params[:controller] == "my_modules" redirect_to samples_my_module_path(@my_module) elsif params[:controller] == "projects" redirect_to samples_project_path(@project) + elsif params[:controller] == "experiments" + redirect_to samples_experiment_path(@experiment) end end diff --git a/app/controllers/experiments_controller.rb b/app/controllers/experiments_controller.rb index 8e1b4ebaf..b87d73b4b 100644 --- a/app/controllers/experiments_controller.rb +++ b/app/controllers/experiments_controller.rb @@ -1,13 +1,13 @@ class ExperimentsController < ApplicationController + include SampleActions include PermissionHelper include OrganizationsHelper before_action :set_experiment, except: [:new, :create] before_action :set_project, - only: [:new, :create, :samples_index, - :samples, :module_archive, :clone_modal, - :move_modal] + only: [:new, :create, :samples_index, :samples, :module_archive, + :clone_modal, :move_modal, :delete_samples] before_action :check_view_permissions, only: [:canvas, :module_archive] before_action :check_module_archive_permissions, @@ -20,6 +20,9 @@ class ExperimentsController < ApplicationController # except parameter could be used but it is not working. layout :choose_layout + # Action defined in SampleActions + DELETE_SAMPLES = I18n.t('samples.delete_samples') + def new @experiment = Experiment.new respond_to do |format| diff --git a/app/controllers/my_modules_controller.rb b/app/controllers/my_modules_controller.rb index 26334ca73..48c522955 100644 --- a/app/controllers/my_modules_controller.rb +++ b/app/controllers/my_modules_controller.rb @@ -30,7 +30,7 @@ class MyModulesController < ApplicationController UNASSIGN_SAMPLES = 'Unassign' # Action defined in SampleActions - DELETE_SAMPLES = 'Delete' + DELETE_SAMPLES = I18n.t('samples.delete_samples') def show respond_to do |format| diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 1eb41e537..eae0bb406 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -21,7 +21,7 @@ class ProjectsController < ApplicationController layout :choose_layout # Action defined in SampleActions - DELETE_SAMPLES = I18n.t("samples.delete_samples") + DELETE_SAMPLES = I18n.t('samples.delete_samples') def index if params[:organization] diff --git a/app/helpers/samples_helper.rb b/app/helpers/samples_helper.rb index e49aa58b0..64bc5ffcf 100644 --- a/app/helpers/samples_helper.rb +++ b/app/helpers/samples_helper.rb @@ -1,5 +1,4 @@ module SamplesHelper - def can_add_samples module_page? && can_add_samples_to_module(@my_module) end @@ -31,7 +30,8 @@ module SamplesHelper assign_samples_my_module_path(@my_module) elsif project_page? delete_samples_project_path(@project) + elsif experiment_page? + delete_samples_experiment_path(@experiment) end end - end diff --git a/config/routes.rb b/config/routes.rb index 69032ff52..5fd9cfa70 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -182,7 +182,7 @@ Rails.application.routes.draw do post 'samples_index' post :delete_samples, constraints: CommitParamRouting.new( - MyModulesController::DELETE_SAMPLES + ExperimentsController::DELETE_SAMPLES ), action: :delete_samples end From ec7a1cb4c0e88197d5bb4eb0323e87925a151a8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Zrim=C5=A1ek?= Date: Fri, 6 Jan 2017 14:13:30 +0100 Subject: [PATCH 2/2] Replaced remaining related hard-coded names with constants and generalized delete samples name fetching. Minor refactoring. [SCI-848] --- app/controllers/concerns/sample_actions.rb | 13 +++++++------ app/controllers/my_modules_controller.rb | 4 ++-- app/views/shared/_samples.html.erb | 3 ++- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/app/controllers/concerns/sample_actions.rb b/app/controllers/concerns/sample_actions.rb index 5ae16730e..84e0f98f6 100644 --- a/app/controllers/concerns/sample_actions.rb +++ b/app/controllers/concerns/sample_actions.rb @@ -21,24 +21,25 @@ module SampleActions if counter_user > 0 if counter_other_users > 0 flash[:success] = t('samples.destroy.contains_other_samples_flash', - sample_number: counter_user, other_samples_number: counter_other_users) + sample_number: counter_user, + other_samples_number: counter_other_users) else flash[:success] = t('samples.destroy.success_flash', - sample_number: counter_user) + sample_number: counter_user) end else flash[:notice] = t('samples.destroy.no_deleted_samples_flash', - other_samples_number: counter_other_users) + other_samples_number: counter_other_users) end else flash[:notice] = t('samples.destroy.no_sample_selected_flash') end - if params[:controller] == "my_modules" + if params[:controller] == 'my_modules' redirect_to samples_my_module_path(@my_module) - elsif params[:controller] == "projects" + elsif params[:controller] == 'projects' redirect_to samples_project_path(@project) - elsif params[:controller] == "experiments" + elsif params[:controller] == 'experiments' redirect_to samples_experiment_path(@experiment) end end diff --git a/app/controllers/my_modules_controller.rb b/app/controllers/my_modules_controller.rb index 48c522955..6f6d6b74b 100644 --- a/app/controllers/my_modules_controller.rb +++ b/app/controllers/my_modules_controller.rb @@ -26,8 +26,8 @@ class MyModulesController < ApplicationController layout "fluid" # Define submit actions constants (used in routing) - ASSIGN_SAMPLES = 'Assign' - UNASSIGN_SAMPLES = 'Unassign' + ASSIGN_SAMPLES = I18n.t('samples.assign_samples_to_module') + UNASSIGN_SAMPLES = I18n.t('samples.unassign_samples_to_module') # Action defined in SampleActions DELETE_SAMPLES = I18n.t('samples.delete_samples') diff --git a/app/views/shared/_samples.html.erb b/app/views/shared/_samples.html.erb index 095a34ed0..2270196e0 100644 --- a/app/views/shared/_samples.html.erb +++ b/app/views/shared/_samples.html.erb @@ -99,7 +99,8 @@ id="deleteSamplesButton" data-target="#deleteSamples" data-toggle="modal" disabled> <%= t'samples.delete_samples' %> - <%= submit_tag MyModulesController::DELETE_SAMPLES, :class => "hidden delete_samples_submit" %> + <%= submit_tag I18n.t('samples.delete_samples'), :class => "hidden + delete_samples_submit" %> <% end %>