From 4430483bf4cfe5076977a8acf2b70820a5e29fe2 Mon Sep 17 00:00:00 2001 From: Oleksii Kriuchykhin Date: Mon, 21 Nov 2022 14:57:01 +0100 Subject: [PATCH] Add creation of assigned tags and designated users to task creation action [SCI-7444] --- app/controllers/my_modules_controller.rb | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/app/controllers/my_modules_controller.rb b/app/controllers/my_modules_controller.rb index 4924fe264..b54ee9077 100644 --- a/app/controllers/my_modules_controller.rb +++ b/app/controllers/my_modules_controller.rb @@ -34,10 +34,18 @@ class MyModulesController < ApplicationController y = max_xy ? (max_xy.y + 10) : 1 @my_module = @experiment.my_modules.new(my_module_params) @my_module.assign_attributes(created_by: current_user, last_modified_by: current_user, x: x, y: y) - if @my_module.save + @my_module.transaction do + if my_module_tags_params[:tag_ids].present? + @my_module.tags << @experiment.project.tags.where(id: my_module_tags_params[:tag_ids]) + end + if my_module_designated_users_params[:user_ids].present? + @my_module.designated_users << @experiment.users.where(id: my_module_designated_users_params[:user_ids]) + end + @my_module.save! redirect_to canvas_experiment_path(@experiment) if params[:my_module][:view_mode] == 'canvas' - else + rescue ActiveRecord::RecordInvalid render json: @my_module.errors, status: :unprocessable_entity + raise ActiveRecord::Rollback end end @@ -468,6 +476,14 @@ class MyModulesController < ApplicationController permitted_params end + def my_module_tags_params + params.require(:my_module).permit(tag_ids: []) + end + + def my_module_designated_users_params + params.require(:my_module).permit(user_ids: []) + end + def protocol_params params.require(:protocol).permit(:name, :description) end