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/finders/members_finder.rb')
-rw-r--r--app/finders/members_finder.rb21
1 files changed, 11 insertions, 10 deletions
diff --git a/app/finders/members_finder.rb b/app/finders/members_finder.rb
index 1641219a14c..3c0714441b2 100644
--- a/app/finders/members_finder.rb
+++ b/app/finders/members_finder.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
class MembersFinder
- RELATIONS = %i[direct inherited descendants invited_groups].freeze
+ RELATIONS = %i[direct inherited descendants invited_groups shared_into_ancestors].freeze
DEFAULT_RELATIONS = %i[direct inherited].freeze
# Params can be any of the following:
@@ -31,11 +31,7 @@ class MembersFinder
attr_reader :project, :current_user, :group
def find_members(include_relations)
- project_members = if Feature.enabled?(:project_members_index_by_project_namespace, project)
- project.namespace_members
- else
- project.project_members
- end
+ project_members = project.namespace_members
if params[:active_without_invites_and_requests].present?
project_members = project_members.active_without_invites_and_requests
@@ -62,15 +58,20 @@ class MembersFinder
def group_union_members(include_relations)
[].tap do |members|
- members << direct_group_members(include_relations.include?(:descendants)) if group
+ members << direct_group_members(include_relations) if group
members << project_invited_groups if include_relations.include?(:invited_groups)
end
end
- def direct_group_members(include_descendants)
+ def direct_group_members(include_relations)
requested_relations = [:inherited, :direct]
- requested_relations << :descendants if include_descendants
- GroupMembersFinder.new(group).execute(include_relations: requested_relations).non_invite.non_minimal_access # rubocop: disable CodeReuse/Finder
+ requested_relations << :descendants if include_relations.include?(:descendants)
+ requested_relations << :shared_from_groups if include_relations.include?(:shared_into_ancestors)
+
+ GroupMembersFinder.new(group, current_user) # rubocop: disable CodeReuse/Finder
+ .execute(include_relations: requested_relations)
+ .non_invite
+ .non_minimal_access
end
def project_invited_groups