mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-09-12 16:14:58 +08:00
Fixed sample deletion on experiments level. Minor refactoring. [SCI-848]
This commit is contained in:
parent
09ef3b3ad5
commit
5d104981fd
6 changed files with 21 additions and 16 deletions
|
@ -4,7 +4,7 @@ module SampleActions
|
||||||
|
|
||||||
def delete_samples
|
def delete_samples
|
||||||
check_destroy_samples_permissions
|
check_destroy_samples_permissions
|
||||||
|
|
||||||
if params[:sample_ids].present?
|
if params[:sample_ids].present?
|
||||||
counter_user = 0
|
counter_user = 0
|
||||||
counter_other_users = 0
|
counter_other_users = 0
|
||||||
|
@ -14,30 +14,32 @@ module SampleActions
|
||||||
if sample and can_delete_sample(sample)
|
if sample and can_delete_sample(sample)
|
||||||
sample.destroy
|
sample.destroy
|
||||||
counter_user += 1
|
counter_user += 1
|
||||||
else
|
else
|
||||||
counter_other_users += 1
|
counter_other_users += 1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if counter_user > 0
|
if counter_user > 0
|
||||||
if counter_other_users > 0
|
if counter_other_users > 0
|
||||||
flash[:success] = t("samples.destroy.contains_other_samples_flash",
|
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
|
else
|
||||||
flash[:success] = t("samples.destroy.success_flash",
|
flash[:success] = t('samples.destroy.success_flash',
|
||||||
sample_number: counter_user)
|
sample_number: counter_user)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
flash[:notice] = t("samples.destroy.no_deleted_samples_flash",
|
flash[:notice] = t('samples.destroy.no_deleted_samples_flash',
|
||||||
other_samples_number: counter_other_users)
|
other_samples_number: counter_other_users)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
flash[:notice] = t("samples.destroy.no_sample_selected_flash")
|
flash[:notice] = t('samples.destroy.no_sample_selected_flash')
|
||||||
end
|
end
|
||||||
|
|
||||||
if params[:controller] == "my_modules"
|
if params[:controller] == "my_modules"
|
||||||
redirect_to samples_my_module_path(@my_module)
|
redirect_to samples_my_module_path(@my_module)
|
||||||
elsif params[:controller] == "projects"
|
elsif params[:controller] == "projects"
|
||||||
redirect_to samples_project_path(@project)
|
redirect_to samples_project_path(@project)
|
||||||
|
elsif params[:controller] == "experiments"
|
||||||
|
redirect_to samples_experiment_path(@experiment)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
class ExperimentsController < ApplicationController
|
class ExperimentsController < ApplicationController
|
||||||
|
include SampleActions
|
||||||
include PermissionHelper
|
include PermissionHelper
|
||||||
include OrganizationsHelper
|
include OrganizationsHelper
|
||||||
|
|
||||||
before_action :set_experiment,
|
before_action :set_experiment,
|
||||||
except: [:new, :create]
|
except: [:new, :create]
|
||||||
before_action :set_project,
|
before_action :set_project,
|
||||||
only: [:new, :create, :samples_index,
|
only: [:new, :create, :samples_index, :samples, :module_archive,
|
||||||
:samples, :module_archive, :clone_modal,
|
:clone_modal, :move_modal, :delete_samples]
|
||||||
:move_modal]
|
|
||||||
before_action :check_view_permissions,
|
before_action :check_view_permissions,
|
||||||
only: [:canvas, :module_archive]
|
only: [:canvas, :module_archive]
|
||||||
before_action :check_module_archive_permissions,
|
before_action :check_module_archive_permissions,
|
||||||
|
@ -20,6 +20,9 @@ class ExperimentsController < ApplicationController
|
||||||
# except parameter could be used but it is not working.
|
# except parameter could be used but it is not working.
|
||||||
layout :choose_layout
|
layout :choose_layout
|
||||||
|
|
||||||
|
# Action defined in SampleActions
|
||||||
|
DELETE_SAMPLES = I18n.t('samples.delete_samples')
|
||||||
|
|
||||||
def new
|
def new
|
||||||
@experiment = Experiment.new
|
@experiment = Experiment.new
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
|
|
|
@ -30,7 +30,7 @@ class MyModulesController < ApplicationController
|
||||||
UNASSIGN_SAMPLES = 'Unassign'
|
UNASSIGN_SAMPLES = 'Unassign'
|
||||||
|
|
||||||
# Action defined in SampleActions
|
# Action defined in SampleActions
|
||||||
DELETE_SAMPLES = 'Delete'
|
DELETE_SAMPLES = I18n.t('samples.delete_samples')
|
||||||
|
|
||||||
def show
|
def show
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
|
|
|
@ -21,7 +21,7 @@ class ProjectsController < ApplicationController
|
||||||
layout :choose_layout
|
layout :choose_layout
|
||||||
|
|
||||||
# Action defined in SampleActions
|
# Action defined in SampleActions
|
||||||
DELETE_SAMPLES = I18n.t("samples.delete_samples")
|
DELETE_SAMPLES = I18n.t('samples.delete_samples')
|
||||||
|
|
||||||
def index
|
def index
|
||||||
if params[:organization]
|
if params[:organization]
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
module SamplesHelper
|
module SamplesHelper
|
||||||
|
|
||||||
def can_add_samples
|
def can_add_samples
|
||||||
module_page? && can_add_samples_to_module(@my_module)
|
module_page? && can_add_samples_to_module(@my_module)
|
||||||
end
|
end
|
||||||
|
@ -31,7 +30,8 @@ module SamplesHelper
|
||||||
assign_samples_my_module_path(@my_module)
|
assign_samples_my_module_path(@my_module)
|
||||||
elsif project_page?
|
elsif project_page?
|
||||||
delete_samples_project_path(@project)
|
delete_samples_project_path(@project)
|
||||||
|
elsif experiment_page?
|
||||||
|
delete_samples_experiment_path(@experiment)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -182,7 +182,7 @@ Rails.application.routes.draw do
|
||||||
post 'samples_index'
|
post 'samples_index'
|
||||||
post :delete_samples,
|
post :delete_samples,
|
||||||
constraints: CommitParamRouting.new(
|
constraints: CommitParamRouting.new(
|
||||||
MyModulesController::DELETE_SAMPLES
|
ExperimentsController::DELETE_SAMPLES
|
||||||
),
|
),
|
||||||
action: :delete_samples
|
action: :delete_samples
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Reference in a new issue