Fixed sample deletion on experiments level. Minor refactoring. [SCI-848]

This commit is contained in:
Matej Zrimšek 2017-01-06 12:56:14 +01:00
parent 09ef3b3ad5
commit 5d104981fd
6 changed files with 21 additions and 16 deletions

View file

@ -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

View file

@ -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|

View file

@ -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|

View file

@ -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]

View file

@ -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

View file

@ -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