git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10182 e93f8b46-1217-0410-a6f0-8f06a7374b81tags/2.1.0
@@ -22,7 +22,7 @@ class AutoCompletesController < ApplicationController | |||
@issues = [] | |||
q = (params[:q] || params[:term]).to_s.strip | |||
if q.present? | |||
scope = (params[:scope] == "all" ? Issue : @project.issues).visible | |||
scope = (params[:scope] == "all" || @project.nil? ? Issue : @project.issues).visible | |||
if q.match(/^\d+$/) | |||
@issues << scope.find_by_id(q.to_i) | |||
end | |||
@@ -35,7 +35,9 @@ class AutoCompletesController < ApplicationController | |||
private | |||
def find_project | |||
@project = Project.find(params[:project_id]) | |||
if params[:project_id].present? | |||
@project = Project.find(params[:project_id]) | |||
end | |||
rescue ActiveRecord::RecordNotFound | |||
render_404 | |||
end |
@@ -19,3 +19,5 @@ | |||
<% end %> | |||
<%= call_hook(:view_timelog_edit_form_bottom, { :time_entry => @time_entry, :form => f }) %> | |||
</div> | |||
<%= javascript_tag "observeAutocompleteField('time_entry_issue_id', '#{escape_javascript auto_complete_issues_path(:project_id => @project, :scope => (@project ? nil : 'all'))}')" %> |
@@ -40,6 +40,13 @@ class AutoCompletesControllerTest < ActionController::TestCase | |||
assert assigns(:issues).include?(Issue.find(13)) | |||
end | |||
def test_auto_complete_without_project_should_search_all_projects | |||
get :issues, :q => '13' | |||
assert_response :success | |||
assert_not_nil assigns(:issues) | |||
assert assigns(:issues).include?(Issue.find(13)) | |||
end | |||
def test_auto_complete_without_scope_all_should_not_search_other_projects | |||
get :issues, :project_id => 'ecookbook', :q => '13' | |||
assert_response :success |