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:
parent
dc657cb2c0
commit
3ba5e04f5e
@ -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)
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user