Merged r15852 and r15863 (#23839).

git-svn-id: http://svn.redmine.org/redmine/branches/3.2-stable@15865 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2016-10-02 10:10:11 +00:00
parent 9a092547fb
commit 10ac3a9c8b
2 changed files with 42 additions and 1 deletions

View File

@@ -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 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}"

View File

@@ -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'