summaryrefslogtreecommitdiff
path: root/lib/gitlab/search_results.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/search_results.rb')
-rw-r--r--lib/gitlab/search_results.rb11
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/gitlab/search_results.rb b/lib/gitlab/search_results.rb
index 3d5f64ce05b..06d8dca2f70 100644
--- a/lib/gitlab/search_results.rb
+++ b/lib/gitlab/search_results.rb
@@ -7,7 +7,7 @@ module Gitlab
DEFAULT_PAGE = 1
DEFAULT_PER_PAGE = 20
- attr_reader :current_user, :query
+ attr_reader :current_user, :query, :filters
# Limit search results by passed projects
# It allows us to search only for projects user has access to
@@ -19,11 +19,12 @@ module Gitlab
# query
attr_reader :default_project_filter
- def initialize(current_user, limit_projects, query, default_project_filter: false)
+ def initialize(current_user, query, limit_projects = nil, default_project_filter: false, filters: {})
@current_user = current_user
- @limit_projects = limit_projects || Project.all
@query = query
+ @limit_projects = limit_projects || Project.all
@default_project_filter = default_project_filter
+ @filters = filters
end
def objects(scope, page: nil, per_page: DEFAULT_PER_PAGE, without_count: true, preload_method: nil)
@@ -186,10 +187,12 @@ module Gitlab
params[:sort] = 'updated_desc'
if query =~ /#(\d+)\z/
- params[:iids] = $1
+ params[:iids] = Regexp.last_match(1)
else
params[:search] = query
end
+
+ params[:state] = filters[:state] if filters.key?(:state)
end
end