From: Jean-Philippe Lang Date: Sun, 2 Oct 2016 10:07:03 +0000 (+0000) Subject: Merged r15852 and r15863 (#23839). X-Git-Tag: 3.3.1~11 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=2f37af12252e3eb3349f133e55a944f06096d6c4;p=redmine.git Merged r15852 and r15863 (#23839). git-svn-id: http://svn.redmine.org/redmine/branches/3.3-stable@15864 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/models/query.rb b/app/models/query.rb index 8fab46669..2d646a295 100644 --- a/app/models/query.rb +++ b/app/models/query.rb @@ -544,7 +544,7 @@ class Query < ActiveRecord::Base # Returns the SQL sort order that should be prepended for grouping def group_by_sort_order if 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) Array(column.sortable).map {|s| "#{s} #{order}"} end end diff --git a/test/integration/issues_test.rb b/test/integration/issues_test.rb index fb8000204..ef3660f33 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'