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:
authorNikita Verkhovin <vernik91@gmail.com>2015-05-17 20:32:58 +0300
committerNikita Verkhovin <vernik91@gmail.com>2015-05-18 10:09:13 +0300
commit241f5971ba657960a316fd3e43c7db5a6de41969 (patch)
tree2b58520a34edcc1069ef61e847a98fb0b46fa5d6 /app/controllers
parentc74b49c2e0a991c5d3ddaacbf8d2022891a36f3a (diff)
Add search issues/MR by number
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/projects/issues_controller.rb10
-rw-r--r--app/controllers/projects/merge_requests_controller.rb10
2 files changed, 18 insertions, 2 deletions
diff --git a/app/controllers/projects/issues_controller.rb b/app/controllers/projects/issues_controller.rb
index c524e1a0ea3..7d168aa827b 100644
--- a/app/controllers/projects/issues_controller.rb
+++ b/app/controllers/projects/issues_controller.rb
@@ -19,7 +19,15 @@ class Projects::IssuesController < Projects::ApplicationController
def index
terms = params['issue_search']
@issues = get_issues_collection
- @issues = @issues.full_search(terms) if terms.present?
+
+ if terms.present?
+ if terms =~ /\A#(\d+)\z/
+ @issues = @issues.where(iid: $1)
+ else
+ @issues = @issues.full_search(terms)
+ end
+ end
+
@issues = @issues.page(params[:page]).per(PER_PAGE)
respond_to do |format|
diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb
index 5b93e95866a..c7467e9b2f5 100644
--- a/app/controllers/projects/merge_requests_controller.rb
+++ b/app/controllers/projects/merge_requests_controller.rb
@@ -19,7 +19,15 @@ class Projects::MergeRequestsController < Projects::ApplicationController
def index
terms = params['issue_search']
@merge_requests = get_merge_requests_collection
- @merge_requests = @merge_requests.full_search(terms) if terms.present?
+
+ if terms.present?
+ if terms =~ /\A[#!](\d+)\z/
+ @merge_requests = @merge_requests.where(iid: $1)
+ else
+ @merge_requests = @merge_requests.full_search(terms)
+ end
+ end
+
@merge_requests = @merge_requests.page(params[:page]).per(PER_PAGE)
respond_to do |format|