Fix routes for experiments my modules [SCI-10207]

This commit is contained in:
Anton 2024-02-16 12:01:20 +01:00
parent c0e754d184
commit 54428ff4f1
3 changed files with 21 additions and 2 deletions

View file

@ -74,6 +74,8 @@ class ExperimentsController < ApplicationController
.select('COUNT(DISTINCT comments.id) as task_comments_count')
.select('my_modules.*').group(:id)
end
save_view_type('canvas')
end
def my_modules
@ -456,6 +458,12 @@ class ExperimentsController < ApplicationController
params.require(:experiment).require(:view_type)
end
def save_view_type(view_type)
view_state = @experiment.current_view_state(current_user)
view_state.state['my_modules']['view_type'] = view_type
view_state.save!
end
def check_read_permissions
current_team_switch(@experiment.project.team) if current_team != @experiment.project.team
render_403 unless can_read_experiment?(@experiment) ||

View file

@ -38,6 +38,7 @@ class MyModulesController < ApplicationController
meta: pagination_dict(my_modules)
end
format.html do
save_view_type('table')
render 'my_modules/index'
end
end
@ -573,6 +574,12 @@ class MyModulesController < ApplicationController
end
end
def save_view_type(view_type)
view_state = @experiment.current_view_state(current_user)
view_state.state['my_modules']['view_type'] = view_type
view_state.save!
end
def log_activity(type_of, my_module = nil, message_items = {})
my_module ||= @my_module
message_items = { my_module: my_module.id }.merge(message_items)

View file

@ -376,7 +376,9 @@ Rails.application.routes.draw do
end
get 'project_folders/:project_folder_id', to: 'projects#index', as: :project_folder_projects
resources :experiments, only: %i(index update) do
get 'projects/:project_id', to: 'experiments#index'
get 'projects/:project_id/experiments', to: 'experiments#index', as: :experiments
resources :experiments, only: %i(update) do
collection do
get 'inventory_assigning_experiment_filter'
get 'clone_modal', action: :clone_modal
@ -421,7 +423,9 @@ Rails.application.routes.draw do
# Show action is a popup (JSON) for individual module in full-zoom canvas,
# as well as 'module info' page for single module (HTML)
resources :my_modules, path: '/modules', only: [:show, :update, :index] do
get 'experiments/:experiment_id/table', to: 'my_modules#index'
get 'experiments/:experiment_id/modules', to: 'my_modules#index', as: :my_modules
resources :my_modules, path: '/modules', only: [:show, :update] do
post 'save_table_state', on: :collection, defaults: { format: 'json' }
collection do