diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2016-10-02 10:11:17 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2016-10-02 10:11:17 +0000 |
commit | ee37fc88c364a9ba867d3315daa93038329cacff (patch) | |
tree | d5d4ba8951f11ccf1c40b84eb9a5ef76b2ebb8a1 | |
parent | 7b13f181fcf0d758a37145080c46990ce95c8961 (diff) | |
download | redmine-ee37fc88c364a9ba867d3315daa93038329cacff.tar.gz redmine-ee37fc88c364a9ba867d3315daa93038329cacff.zip |
Merged r15852 and r15863 (#23839).
git-svn-id: http://svn.redmine.org/redmine/branches/3.1-stable@15866 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | app/models/query.rb | 2 | ||||
-rw-r--r-- | test/integration/issues_test.rb | 41 |
2 files changed, 42 insertions, 1 deletions
diff --git a/app/models/query.rb b/app/models/query.rb index fd5e2753b..800791fdf 100644 --- a/app/models/query.rb +++ b/app/models/query.rb @@ -512,7 +512,7 @@ class Query < ActiveRecord::Base # Returns the SQL sort order that should be prepended for grouping def group_by_sort_order if grouped? && (column = group_by_column) - order = (sort_criteria_order_for(column.name) || column.default_order).try(:upcase) + order = (sort_criteria_order_for(column.name) || column.default_order || 'asc').try(:upcase) column.sortable.is_a?(Array) ? column.sortable.collect {|s| "#{s} #{order}"} : "#{column.sortable} #{order}" diff --git a/test/integration/issues_test.rb b/test/integration/issues_test.rb index 4938cd956..5e49b4e6d 100644 --- a/test/integration/issues_test.rb +++ b/test/integration/issues_test.rb @@ -111,6 +111,47 @@ class IssuesTest < Redmine::IntegrationTest assert_equal 0, Issue.find(1).attachments.length end + def test_next_and_previous_links_should_be_displayed_after_query_grouped_and_sorted_by_version + with_settings :default_language => 'en' do + get '/projects/ecookbook/issues?set_filter=1&group_by=fixed_version&sort=priority:desc,fixed_version,id' + assert_response :success + assert_select 'td.id', :text => '5' + + get '/issues/5' + assert_response :success + assert_select '.next-prev-links .position', :text => '5 of 6' + end + end + + def test_next_and_previous_links_should_be_displayed_after_filter + with_settings :default_language => 'en' do + get '/projects/ecookbook/issues?set_filter=1&tracker_id=1' + assert_response :success + assert_select 'td.id', :text => '5' + + get '/issues/5' + assert_response :success + assert_select '.next-prev-links .position', :text => '3 of 5' + end + end + + def test_next_and_previous_links_should_be_displayed_after_saved_query + query = IssueQuery.create!(:name => 'Calendar Query', + :visibility => IssueQuery::VISIBILITY_PUBLIC, + :filters => {'tracker_id' => {:operator => '=', :values => ['1']}} + ) + + with_settings :default_language => 'en' do + get "/projects/ecookbook/issues?set_filter=1&query_id=#{query.id}" + assert_response :success + assert_select 'td.id', :text => '5' + + get '/issues/5' + assert_response :success + assert_select '.next-prev-links .position', :text => '6 of 8' + end + end + def test_other_formats_links_on_index get '/projects/ecookbook/issues' |