1
0
mirror of https://github.com/meineerde/redmine.git synced 2025-12-29 03:39:38 +00:00

Issue auto complete should return last 10 issues (#31994).

Patch by Marius BALTEANU.


git-svn-id: http://svn.redmine.org/redmine/trunk@18449 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Go MAEDA 2019-09-11 06:39:00 +00:00
parent dc657cb2c0
commit 3ba5e04f5e
2 changed files with 22 additions and 8 deletions

View File

@ -25,20 +25,18 @@ class AutoCompletesController < ApplicationController
q = (params[:q] || params[:term]).to_s.strip
status = params[:status].to_s
issue_id = params[:issue_id].to_s
scope = Issue.cross_project_scope(@project, params[:scope]).visible
scope = scope.open(status == 'o') if status.present?
scope = scope.where.not(:id => issue_id.to_i) if issue_id.present?
if q.present?
scope = Issue.cross_project_scope(@project, params[:scope]).visible
if status.present?
scope = scope.open(status == 'o')
end
if issue_id.present?
scope = scope.where.not(:id => issue_id.to_i)
end
if q.match(/\A#?(\d+)\z/)
issues << scope.find_by_id($1.to_i)
end
issues += scope.like(q).order(:id => :desc).limit(10).to_a
issues.compact!
else
issues += scope.order(:id => :desc).limit(10).to_a
end
render :json => format_issues_json(issues)

View File

@ -150,4 +150,20 @@ class AutoCompletesControllerTest < Redmine::ControllerTest
assert_response :success
assert_include 'application/json', response.headers['Content-Type']
end
def test_auto_complete_without_term_should_return_last_10_updated_issues
# There are 9 issues generated by fixtures
# and we need two more to test the 10 limit
%w(1..2).each do
Issue.generate!
end
get :issues
assert_response :success
json = ActiveSupport::JSON.decode(response.body)
assert_equal 10, json.count
assert_equal Issue.last.id, json.first['id'].to_i
end
end