diff --git a/app/controllers/search_controller.rb b/app/controllers/search_controller.rb index 37ac37cac..8ae53e7ff 100644 --- a/app/controllers/search_controller.rb +++ b/app/controllers/search_controller.rb @@ -39,7 +39,7 @@ class SearchController < ApplicationController end # quick jump to an issue - if (m = @question.match(/^#?(\d+)$/)) && (issue = Issue.visible.find_by_id(m[1].to_i)) + if !api_request? && (m = @question.match(/^#?(\d+)$/)) && (issue = Issue.visible.find_by_id(m[1].to_i)) redirect_to issue_path(issue) return end diff --git a/test/integration/api_test/search_test.rb b/test/integration/api_test/search_test.rb index 65d4654d8..951fb45a9 100644 --- a/test/integration/api_test/search_test.rb +++ b/test/integration/api_test/search_test.rb @@ -91,4 +91,9 @@ class Redmine::ApiTest::SearchTest < Redmine::ApiTest::Base assert_equal 4, json['limit'] assert_equal issue[8..10], json['results'].map {|r| r['id']} end + + test "GET /search.xml should not quick jump to the issue with given id" do + get '/search.xml', :params => {:q => '3'} + assert_response :success + end end