diff --git a/app/models/concerns/project_operable.rb b/app/models/concerns/project_operable.rb index bdce2fda2..10b03cf72 100644 --- a/app/models/concerns/project_operable.rb +++ b/app/models/concerns/project_operable.rb @@ -130,7 +130,7 @@ module ProjectOperable team_user = member.team_user $gitea_client.delete_teams_members_by_id_username(team_user.team.gtid, team_user.user&.login) rescue nil # 移除旧的 $gitea_client.put_teams_members_by_id_username(team&.gtid, team_user.user&.login) rescue nil # 新增新的 - team_user.update_attributes!({team_id: team.id}) + team_user.update_attributes!({team_id: team.id}) unless team.team_users.exists?(user_id: member.user_id) # 确保组织成员中有该用户 OrganizationUser.build(self.user_id, user_id) @@ -150,7 +150,7 @@ module ProjectOperable team_user = member.team_user $gitea_client.delete_teams_members_by_id_username(team_user.team.gtid, team_user.user&.login) rescue nil # 移除旧的 $gitea_client.put_teams_members_by_id_username(team&.gtid, team_user.user&.login) rescue nil # 新增新的 - team_user.update_attributes!({team_id: team.id}) + team_user.update_attributes!({team_id: team.id}) unless team.team_users.exists?(user_id: member.user_id) OrganizationUser.build(self.user_id, user_id) when 'Reporter' @@ -170,7 +170,7 @@ module ProjectOperable team_user = member.team_user $gitea_client.delete_teams_members_by_id_username(team_user.team.gtid, team_user.user&.login) rescue nil # 移除旧的 $gitea_client.put_teams_members_by_id_username(team&.gtid, team_user.user&.login) rescue nil # 新增新的 - team_user.update_attributes!({team_id: team.id}) + team_user.update_attributes!({team_id: team.id}) unless team.team_users.exists?(user_id: member.user_id) # 确保组织成员中有该用户 OrganizationUser.build(self.user_id, user_id)