diff options
Diffstat (limited to 'app/finders/members_finder.rb')
-rw-r--r-- | app/finders/members_finder.rb | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/app/finders/members_finder.rb b/app/finders/members_finder.rb index ea101cf1dcd..0faafa6df9c 100644 --- a/app/finders/members_finder.rb +++ b/app/finders/members_finder.rb @@ -70,11 +70,16 @@ class MembersFinder end def project_invited_groups - invited_groups_ids_including_ancestors = Gitlab::ObjectHierarchy - .new(project.invited_groups) - .base_and_ancestors - .public_or_visible_to_user(current_user) - .select(:id) + invited_groups_and_ancestors = if ::Feature.enabled?(:linear_members_finder_ancestor_scopes, current_user, default_enabled: :yaml) + project.invited_groups + .self_and_ancestors + else + Gitlab::ObjectHierarchy + .new(project.invited_groups) + .base_and_ancestors + end + + invited_groups_ids_including_ancestors = invited_groups_and_ancestors.public_or_visible_to_user(current_user).select(:id) GroupMember.with_source_id(invited_groups_ids_including_ancestors).non_minimal_access end |