From 8a78b8376b79235cce961bd9121c6e454ecad3cc Mon Sep 17 00:00:00 2001 From: Martin Artnik Date: Tue, 23 Nov 2021 10:56:28 +0100 Subject: [PATCH] Make all except public project assignments manual [SCI-6292] --- app/models/concerns/assignable.rb | 4 ++-- .../20210222123823_migrate_to_new_user_roles.rb | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/app/models/concerns/assignable.rb b/app/models/concerns/assignable.rb index 2a0633f76..60058a03f 100644 --- a/app/models/concerns/assignable.rb +++ b/app/models/concerns/assignable.rb @@ -41,7 +41,7 @@ module Assignable def create_users_assignments return if skip_user_assignments - role = if self.class == Project + role = if is_a?(Project) UserRole.find_by(name: I18n.t('user_roles.predefined.owner')) else permission_parent.user_assignments.find_by(user: created_by).user_role @@ -50,7 +50,7 @@ module Assignable UserAssignment.create!( user: created_by, assignable: self, - assigned: :automatically, + assigned: is_a?(Project) ? :manually : :automatically, user_role: role ) diff --git a/db/migrate/20210222123823_migrate_to_new_user_roles.rb b/db/migrate/20210222123823_migrate_to_new_user_roles.rb index 66248770b..862b0c36c 100644 --- a/db/migrate/20210222123823_migrate_to_new_user_roles.rb +++ b/db/migrate/20210222123823_migrate_to_new_user_roles.rb @@ -30,11 +30,11 @@ class MigrateToNewUserRoles < ActiveRecord::Migration[6.1] private - def new_user_assignment(user, assignable, user_role) + def new_user_assignment(user, assignable, user_role, assigned) UserAssignment.new( user: user, assignable: assignable, - assigned: :automatically, + assigned: assigned, user_role: user_role ) end @@ -52,11 +52,11 @@ class MigrateToNewUserRoles < ActiveRecord::Migration[6.1] unassigned_users = team.users.reject { |u| already_assigned_user_ids.include?(u.id) } unassigned_users.each do |user| - user_assignments << new_user_assignment(user, project, viewer_role) + user_assignments << new_user_assignment(user, project, viewer_role, :automatically) project.experiments.each do |experiment| - user_assignments << new_user_assignment(user, experiment, viewer_role) + user_assignments << new_user_assignment(user, experiment, viewer_role, :automatically) experiment.my_modules.each do |my_module| - user_assignments << new_user_assignment(user, my_module, viewer_role) + user_assignments << new_user_assignment(user, my_module, viewer_role, :automatically) end end end @@ -69,11 +69,11 @@ class MigrateToNewUserRoles < ActiveRecord::Migration[6.1] user_projects.includes(:user, :project).find_in_batches(batch_size: 100) do |user_project_batch| user_assignments = [] user_project_batch.each do |user_project| - user_assignments << new_user_assignment(user_project.user, user_project.project, user_role) + user_assignments << new_user_assignment(user_project.user, user_project.project, user_role, :manually) user_project.project.experiments.preload(:my_modules).each do |experiment| - user_assignments << new_user_assignment(user_project.user, experiment, user_role) + user_assignments << new_user_assignment(user_project.user, experiment, user_role, :automatically) experiment.my_modules.each do |my_module| - user_assignments << new_user_assignment(user_project.user, my_module, user_role) + user_assignments << new_user_assignment(user_project.user, my_module, user_role, :automatically) end end end