mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-11-01 09:07:21 +08:00
Implement backend for inventory item assignment to tasks [SCI-8248] (#5367)
Implement backend for inventory item assignment to tasks [SCI-8248]
This commit is contained in:
parent
38ae8ff743
commit
b1ccd5839b
4 changed files with 50 additions and 8 deletions
|
|
@ -8,8 +8,9 @@ class ExperimentsController < ApplicationController
|
|||
include Rails.application.routes.url_helpers
|
||||
|
||||
before_action :load_project, only: %i(new create archive_group restore_group)
|
||||
before_action :load_experiment, except: %i(new create archive_group restore_group)
|
||||
before_action :check_read_permissions, except: %i(edit archive clone move new create archive_group restore_group)
|
||||
before_action :load_experiment, except: %i(new create archive_group restore_group experiment_filter)
|
||||
before_action :check_read_permissions, except: %i(edit archive clone move new create
|
||||
archive_group restore_group experiment_filter)
|
||||
before_action :check_canvas_read_permissions, only: %i(canvas)
|
||||
before_action :check_create_permissions, only: %i(new create)
|
||||
before_action :check_manage_permissions, only: %i(edit batch_clone_my_modules)
|
||||
|
|
@ -430,6 +431,20 @@ class ExperimentsController < ApplicationController
|
|||
end
|
||||
end
|
||||
|
||||
def experiment_filter
|
||||
project = Project.readable_by_user(current_user).find_by(id: params[:project_id])
|
||||
return render_404 if project.blank?
|
||||
|
||||
experiments = project.experiments
|
||||
.readable_by_user(current_user)
|
||||
.search(current_user, false, params[:query], 1, current_team)
|
||||
.pluck(:id, :name)
|
||||
|
||||
return render plain: [].to_json if experiments.blank?
|
||||
|
||||
render json: experiments
|
||||
end
|
||||
|
||||
def actions_dropdown
|
||||
if stale?([@experiment, @experiment.project])
|
||||
render json: {
|
||||
|
|
|
|||
|
|
@ -7,14 +7,14 @@ class MyModulesController < ApplicationController
|
|||
include ApplicationHelper
|
||||
include MyModulesHelper
|
||||
|
||||
before_action :load_vars, except: %i(restore_group create new save_table_state)
|
||||
before_action :load_vars, except: %i(restore_group create new save_table_state my_module_filter)
|
||||
before_action :load_experiment, only: %i(create new)
|
||||
before_action :check_create_permissions, only: %i(new create)
|
||||
before_action :check_archive_permissions, only: %i(update)
|
||||
before_action :check_manage_permissions, only: %i(
|
||||
description due_date update_description update_protocol_description update_protocol
|
||||
)
|
||||
before_action :check_read_permissions, except: %i(create new update update_description
|
||||
before_action :check_read_permissions, except: %i(create new update update_description my_module_filter
|
||||
update_protocol_description restore_group save_table_state)
|
||||
before_action :check_update_state_permissions, only: :update_state
|
||||
before_action :set_inline_name_editing, only: %i(protocols results activities archive)
|
||||
|
|
@ -442,6 +442,20 @@ class MyModulesController < ApplicationController
|
|||
render json: { provisioning_status: @my_module.provisioning_status }
|
||||
end
|
||||
|
||||
def my_module_filter
|
||||
experiment = Experiment.readable_by_user(current_user).find_by(id: params[:experiment_id])
|
||||
return render_404 if experiment.blank?
|
||||
|
||||
my_modules = experiment.my_modules
|
||||
.readable_by_user(current_user)
|
||||
.search(current_user, false, params[:query], 1, current_team)
|
||||
.pluck(:id, :name)
|
||||
|
||||
return render plain: [].to_json if my_modules.blank?
|
||||
|
||||
render json: my_modules
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def load_vars
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ class ProjectsController < ApplicationController
|
|||
sidebar experiments_cards view_type actions_dropdown create_tag)
|
||||
before_action :load_current_folder, only: %i(index cards new show)
|
||||
before_action :check_view_permissions, except: %i(index cards new create edit update archive_group restore_group
|
||||
users_filter actions_dropdown)
|
||||
users_filter actions_dropdown project_filter)
|
||||
before_action :check_create_permissions, only: %i(new create)
|
||||
before_action :check_manage_permissions, only: :edit
|
||||
before_action :load_exp_sort_var, only: :show
|
||||
|
|
@ -107,6 +107,16 @@ class ProjectsController < ApplicationController
|
|||
}
|
||||
end
|
||||
|
||||
def project_filter
|
||||
projects = Project.readable_by_user(current_user)
|
||||
.search(current_user, false, params[:query], 1, current_team)
|
||||
.pluck(:id, :name)
|
||||
|
||||
return render plain: [].to_json if projects.blank?
|
||||
|
||||
render json: projects
|
||||
end
|
||||
|
||||
def new
|
||||
@project = current_team.projects.new(project_folder: current_folder)
|
||||
respond_to do |format|
|
||||
|
|
|
|||
|
|
@ -317,8 +317,8 @@ Rails.application.routes.draw do
|
|||
end
|
||||
resources :experiments, only: %i(new create), defaults: { format: 'json' } do
|
||||
collection do
|
||||
post 'archive_group' # archive group of experements
|
||||
post 'restore_group' # restore group of experementss
|
||||
post 'archive_group' # archive group of experiments
|
||||
post 'restore_group' # restore group of experiments
|
||||
end
|
||||
end
|
||||
member do
|
||||
|
|
@ -332,6 +332,7 @@ Rails.application.routes.draw do
|
|||
end
|
||||
|
||||
collection do
|
||||
get 'project_filter'
|
||||
get 'cards', to: 'projects#cards'
|
||||
get 'users_filter'
|
||||
post 'archive_group'
|
||||
|
|
@ -354,6 +355,7 @@ Rails.application.routes.draw do
|
|||
|
||||
resources :experiments, only: %i(show edit update) do
|
||||
collection do
|
||||
get 'experiment_filter'
|
||||
get 'edit', action: :edit
|
||||
get 'clone_modal', action: :clone_modal
|
||||
get 'move_modal', action: :move_modal
|
||||
|
|
@ -382,7 +384,7 @@ Rails.application.routes.draw do
|
|||
post 'clone' # clone experiment
|
||||
get 'move_modal' # return modal with move options
|
||||
post 'move' # move experiment
|
||||
get 'fetch_workflow_img' # Get udated workflow img
|
||||
get 'fetch_workflow_img' # Get updated workflow img
|
||||
get 'modules/new', to: 'my_modules#new'
|
||||
post 'modules', to: 'my_modules#create'
|
||||
post 'restore_my_modules', to: 'my_modules#restore_group'
|
||||
|
|
@ -398,6 +400,7 @@ Rails.application.routes.draw do
|
|||
# as well as 'module info' page for single module (HTML)
|
||||
resources :my_modules, path: '/modules', only: [:show, :update] do
|
||||
post 'save_table_state', on: :collection, defaults: { format: 'json' }
|
||||
get 'module_filter', to: 'my_modules#my_module_filter', on: :collection, defaults: { format: 'json' }
|
||||
|
||||
member do
|
||||
get :permissions
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue