From b964bfd31e278560cf52eb6733954478f1b42ef1 Mon Sep 17 00:00:00 2001 From: Miha Mencin Date: Thu, 2 Dec 2021 16:54:43 +0100 Subject: [PATCH 1/3] [SCI-6322] use correct user when creating templates, create assignment on experiments and tasks --- app/services/team_importer.rb | 8 +++++++- app/services/templates_service.rb | 5 +++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/services/team_importer.rb b/app/services/team_importer.rb index 7bc0a14f6..c62152091 100644 --- a/app/services/team_importer.rb +++ b/app/services/team_importer.rb @@ -189,7 +189,13 @@ class TeamImporter end update_smart_annotations_in_project(project) - + + # handle the permissions for newly created experiment + user = User.find(user_id) + UserAssignments::GenerateUserAssignmentsJob.perform_later(experiment, user) + experiment.my_modules.each do |my_module| + UserAssignments::GenerateUserAssignmentsJob.perform_later(my_module, user) + end puts "Imported experiment: #{experiment.id}" return experiment end diff --git a/app/services/templates_service.rb b/app/services/templates_service.rb index 78a4d20fe..8bdb18caf 100644 --- a/app/services/templates_service.rb +++ b/app/services/templates_service.rb @@ -26,8 +26,9 @@ class TemplatesService ) end end - owner = tmpl_project.user_projects - .where(role: 'owner') + owner_role_id = UserRole.find_by(name: I18n.t('user_roles.predefined.owner')).id + owner = tmpl_project.user_assignments + .where(user_role_id: owner_role_id) .order(:created_at) .first&.user return unless owner.present? From 9031f5b2c5445c8a9a3e6fad73ca45ca1e3befe3 Mon Sep 17 00:00:00 2001 From: Miha Mencin Date: Thu, 2 Dec 2021 17:04:28 +0100 Subject: [PATCH 2/3] replace perform_later with perform_now, so we can catch a possible arror during the transaction --- app/services/team_importer.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/services/team_importer.rb b/app/services/team_importer.rb index c62152091..b89c812c6 100644 --- a/app/services/team_importer.rb +++ b/app/services/team_importer.rb @@ -192,9 +192,9 @@ class TeamImporter # handle the permissions for newly created experiment user = User.find(user_id) - UserAssignments::GenerateUserAssignmentsJob.perform_later(experiment, user) + UserAssignments::GenerateUserAssignmentsJob.perform_now(experiment, user) experiment.my_modules.each do |my_module| - UserAssignments::GenerateUserAssignmentsJob.perform_later(my_module, user) + UserAssignments::GenerateUserAssignmentsJob.perform_now(my_module, user) end puts "Imported experiment: #{experiment.id}" return experiment From cd0dc454f59a473e19def7823320f745c5d35952 Mon Sep 17 00:00:00 2001 From: Miha Mencin Date: Thu, 2 Dec 2021 17:14:01 +0100 Subject: [PATCH 3/3] Fix the code style --- app/services/team_importer.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/services/team_importer.rb b/app/services/team_importer.rb index b89c812c6..35ae086b9 100644 --- a/app/services/team_importer.rb +++ b/app/services/team_importer.rb @@ -189,11 +189,11 @@ class TeamImporter end update_smart_annotations_in_project(project) - + # handle the permissions for newly created experiment user = User.find(user_id) UserAssignments::GenerateUserAssignmentsJob.perform_now(experiment, user) - experiment.my_modules.each do |my_module| + experiment.my_modules.find_each do |my_module| UserAssignments::GenerateUserAssignmentsJob.perform_now(my_module, user) end puts "Imported experiment: #{experiment.id}"