Adds autocomplete to issue field on time logging form.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10182 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
f82a7a35b0
commit
f1650b8ff4
|
@ -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
|
||||
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
|
||||
|
|
Loading…
Reference in New Issue