From 44a898a2108708a5f8301a0c5b05a58d32db759b Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Mon, 16 Jan 2012 18:24:59 +0000 Subject: [PATCH] Display the position of the current issue in the query results. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8663 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/controllers/issues_controller.rb | 4 ++++ app/views/issues/show.html.erb | 3 +++ test/functional/issues_controller_test.rb | 6 ++++++ 3 files changed, 13 insertions(+) diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index 8cd34d08e..358faf507 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -330,6 +330,10 @@ private limit = 500 issue_ids = @query.issue_ids(:order => sort_clause, :limit => (limit + 1), :include => [:assigned_to, :tracker, :priority, :category, :fixed_version]) if (idx = issue_ids.index(@issue.id)) && idx < limit + if issue_ids.size < 500 + @issue_position = idx + 1 + @issue_count = issue_ids.size + end @prev_issue_id = issue_ids[idx - 1] if idx > 0 @next_issue_id = issue_ids[idx + 1] if idx < (issue_ids.size - 1) end diff --git a/app/views/issues/show.html.erb b/app/views/issues/show.html.erb index a0bbf61fe..8c8c9070a 100644 --- a/app/views/issues/show.html.erb +++ b/app/views/issues/show.html.erb @@ -9,6 +9,9 @@ "\xc2\xab #{l(:label_previous)}", issue_path(@prev_issue_id), :title => "##{@prev_issue_id}" %> | + <% if @issue_position && @issue_count %> + <%= "#{@issue_position}/#{@issue_count}" %> | + <% end %> <%= link_to_if @next_issue_id, "#{l(:label_next)} \xc2\xbb", issue_path(@next_issue_id), diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb index 391b8f839..13002c296 100644 --- a/test/functional/issues_controller_test.rb +++ b/test/functional/issues_controller_test.rb @@ -928,6 +928,8 @@ class IssuesControllerTest < ActionController::TestCase assert_response :success assert_nil assigns(:prev_issue_id) assert_nil assigns(:next_issue_id) + + assert_no_tag 'div', :attributes => {:class => /next-prev-links/} end def test_show_should_display_prev_next_links_with_query_in_session @@ -943,8 +945,12 @@ class IssuesControllerTest < ActionController::TestCase assert_equal 2, assigns(:prev_issue_id) assert_equal 5, assigns(:next_issue_id) + assert_tag 'div', :attributes => {:class => /next-prev-links/} assert_tag 'a', :attributes => {:href => '/issues/2'}, :content => /Previous/ assert_tag 'a', :attributes => {:href => '/issues/5'}, :content => /Next/ + + count = Issue.open.visible.count + assert_tag 'span', :attributes => {:class => 'position'}, :content => "3/#{count}" end def test_show_should_display_prev_next_links_with_saved_query_in_session