Class: Gitlab::GroupSearchResults

Inherits:
SearchResults show all
Defined in:
lib/gitlab/group_search_results.rb

Constant Summary

Constants inherited from SearchResults

SearchResults::COUNT_LIMIT, SearchResults::COUNT_LIMIT_MESSAGE, SearchResults::DEFAULT_PAGE, SearchResults::DEFAULT_PER_PAGE

Instance Attribute Summary collapse

Attributes inherited from SearchResults

#current_user, #default_project_filter, #filters, #limit_projects, #order_by, #query, #sort, #source

Instance Method Summary collapse

Methods inherited from SearchResults

#aggregations, #count_limit, #counts, #error, #failed?, #formatted_count, #formatted_limited_count, #highlight_map, #limited_issues_count, #limited_merge_requests_count, #limited_milestones_count, #limited_projects_count, #limited_users_count, #objects

Constructor Details

#initialize(current_user, query, limit_projects = nil, group:, **opts) ⇒ GroupSearchResults

Returns a new instance of GroupSearchResults.



7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/gitlab/group_search_results.rb', line 7

def initialize(current_user, query, limit_projects = nil, group:, **opts)
  @group = group
  super(
    current_user,
    query,
    limit_projects,
    default_project_filter: opts.fetch(:default_project_filter, false),
    order_by: opts.fetch(:order_by, nil),
    sort: opts.fetch(:sort, nil),
    filters: opts.fetch(:filters, {}),
    source: opts.fetch(:source, nil)
  )
end

Instance Attribute Details

#groupObject (readonly)

Returns the value of attribute group.



5
6
7
# File 'lib/gitlab/group_search_results.rb', line 5

def group
  @group
end

Instance Method Details

#issuable_paramsObject

rubocop:enable CodeReuse/ActiveRecord



32
33
34
# File 'lib/gitlab/group_search_results.rb', line 32

def issuable_params
  super.merge(group_id: group.id, include_subgroups: true)
end

#usersObject

rubocop:disable CodeReuse/ActiveRecord



22
23
24
25
26
27
28
29
# File 'lib/gitlab/group_search_results.rb', line 22

def users
  groups = group.self_and_hierarchy_intersecting_with_user_groups(current_user)
  members = GroupMember.where(group: groups).non_invite

  users = super

  users.where(id: members.select(:user_id))
end