From 00d99ee2963df152bb1cf896f9a42eba9dbd8dd2 Mon Sep 17 00:00:00 2001 From: Alex Kriuchykhin Date: Tue, 24 Jan 2023 15:47:53 +0100 Subject: [PATCH] Fix user assigning to teams with existing team sharing records [SCI-7720] (#4879) --- app/models/team_shared_object.rb | 1 - .../user_assignments/create_team_user_assignments_service.rb | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/app/models/team_shared_object.rb b/app/models/team_shared_object.rb index ecbbd5766..ae54eae5e 100644 --- a/app/models/team_shared_object.rb +++ b/app/models/team_shared_object.rb @@ -3,7 +3,6 @@ class TeamSharedObject < ApplicationRecord enum permission_level: Extends::SHARED_OBJECTS_PERMISSION_LEVELS.except(:not_shared) - after_create :assign_shared_inventories, if: -> { shared_object.is_a?(Repository) } before_destroy :unassign_unshared_items, if: -> { shared_object.is_a?(Repository) } before_destroy :unassign_unshared_inventories, if: -> { shared_object.is_a?(Repository) } diff --git a/app/services/user_assignments/create_team_user_assignments_service.rb b/app/services/user_assignments/create_team_user_assignments_service.rb index f4a7bfbd4..97ce5503a 100644 --- a/app/services/user_assignments/create_team_user_assignments_service.rb +++ b/app/services/user_assignments/create_team_user_assignments_service.rb @@ -68,7 +68,7 @@ module UserAssignments end def create_or_update_user_assignment(object, role = nil) - new_user_assignment = object.user_assignments.find_or_initialize_by(user: @user) + new_user_assignment = object.user_assignments.find_or_initialize_by(user: @user, team: object.team) return if new_user_assignment.manually_assigned? new_user_assignment.user_role = role || @user_role