diff --git a/app/views/issues/_trackers_description.html.erb b/app/views/issues/_trackers_description.html.erb
index 63c3619..a021141 100644
--- a/app/views/issues/_trackers_description.html.erb
+++ b/app/views/issues/_trackers_description.html.erb
@@ -4,10 +4,19 @@
<% trackers.each do |tracker| %>
<% if tracker.description.present? %>
- - <%= tracker.name %>
+ - <%= content_tag 'a', tracker.name, :onclick => "selectTracker('#{tracker.id}'); return false;", :href => '#', :title => l(:text_select_apply_tracker) %>
- <%= tracker.description %>
<% end %>
<% end %>
<% end %>
+<%= javascript_tag do %>
+ function selectTracker(id) {
+ var target = $('#issue_tracker_id');
+ target.attr("selected", false);
+ target.find('option[value="' + id + '"]').prop('selected', true);
+ target.trigger('change');
+ hideModal('#trackers_description h3');
+ }
+<% end %>
diff --git a/test/system/issues_test.rb b/test/system/issues_test.rb
index 944640c..f608e69 100644
--- a/test/system/issues_test.rb
+++ b/test/system/issues_test.rb
@@ -338,4 +338,19 @@ class IssuesTest < ApplicationSystemTestCase
subjects = csv.map {|row| row[subject_index]}
assert_equal subjects.sort, subjects
end
+
+ def test_issue_trackers_description_should_select_tracker
+ log_user('admin', 'admin')
+
+ visit '/issues/1'
+ page.first(:link, 'Edit').click
+ page.click_link('View all trackers description')
+ assert page.has_css?('#trackers_description')
+ within('#trackers_description') do
+ click_link('Feature')
+ end
+
+ assert !page.has_css?('#trackers_description')
+ assert_equal "2", page.find('select#issue_tracker_id').value
+ end
end