]> source.dussan.org Git - redmine.git/commitdiff
Merged r15852 and r15863 (#23839).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 2 Oct 2016 10:07:03 +0000 (10:07 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 2 Oct 2016 10:07:03 +0000 (10:07 +0000)
git-svn-id: http://svn.redmine.org/redmine/branches/3.3-stable@15864 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/models/query.rb
test/integration/issues_test.rb

index 8fab46669c2373b1c80989c17f486a1f8cb9e674..2d646a295fd10692728dd4aa03b6bf6dec07a960 100644 (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 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
index fb80002049803234fa312fd15f7033cf68cbb8d9..ef3660f33bb22f8516690146fd7088e8161a431d 100644 (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'