Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/members/group_member.rb')
-rw-r--r--app/models/members/group_member.rb13
1 files changed, 11 insertions, 2 deletions
diff --git a/app/models/members/group_member.rb b/app/models/members/group_member.rb
index ada89345a7f..52b9c3a80e3 100644
--- a/app/models/members/group_member.rb
+++ b/app/models/members/group_member.rb
@@ -5,11 +5,10 @@ class GroupMember < Member
include CreatedAtFilterable
SOURCE_TYPE = 'Namespace'
- SOURCE_TYPE_FORMAT = /\ANamespace\z/.freeze
+ SOURCE_TYPE_FORMAT = /\ANamespace\z/
belongs_to :group, foreign_key: 'source_id'
alias_attribute :namespace_id, :source_id
- delegate :update_two_factor_requirement, to: :user, allow_nil: true
# Make sure group member points only to group as it source
attribute :source_type, default: SOURCE_TYPE
@@ -26,6 +25,16 @@ class GroupMember < Member
attr_accessor :last_owner
+ def update_two_factor_requirement
+ return unless user
+
+ Gitlab::Database::QueryAnalyzers::PreventCrossDatabaseModification.temporary_ignore_tables_in_transaction(
+ %w[users user_details user_preferences], url: 'https://gitlab.com/gitlab-org/gitlab/-/issues/424288'
+ ) do
+ user.update_two_factor_requirement
+ end
+ end
+
# For those who get to see a modal with a role dropdown, here are the options presented
def self.permissible_access_level_roles(_, _)
# This method is a stopgap in preparation for https://gitlab.com/gitlab-org/gitlab/-/issues/364087