]> source.dussan.org Git - redmine.git/commitdiff
Fixed that time entries should be sorted by date and created_on (#11178).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 16 Jun 2012 20:09:12 +0000 (20:09 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 16 Jun 2012 20:09:12 +0000 (20:09 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9837 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/timelog_controller.rb
test/functional/timelog_controller_test.rb

index dab2e073191f61491c9c5b180bd36cc862262af8..30d6cc28ac45fe98b88625ea18604ec444faad9e 100644 (file)
@@ -39,7 +39,7 @@ class TimelogController < ApplicationController
 
   def index
     sort_init 'spent_on', 'desc'
-    sort_update 'spent_on' => 'spent_on',
+    sort_update 'spent_on' => ['spent_on', "#{TimeEntry.table_name}.created_on"],
                 'user' => 'user_id',
                 'activity' => 'activity_id',
                 'project' => "#{Project.table_name}.name",
index c972fc2ab76b6d5a9ed331377c0447992cf37e5c..3e159c39d4ff07935d6e7092c0f66939c7d1bcbf 100644 (file)
@@ -568,6 +568,20 @@ class TimelogControllerTest < ActionController::TestCase
       :attributes => {:action => "/projects/ecookbook/issues/1/time_entries", :id => 'query_form'}
   end
 
+  def test_index_should_sort_by_spent_on_and_created_on
+    t1 = TimeEntry.create!(:user => User.find(1), :project => Project.find(1), :hours => 1, :spent_on => '2012-06-16', :created_on => '2012-06-16 20:00:00', :activity_id => 10)
+    t2 = TimeEntry.create!(:user => User.find(1), :project => Project.find(1), :hours => 1, :spent_on => '2012-06-16', :created_on => '2012-06-16 20:05:00', :activity_id => 10)
+    t3 = TimeEntry.create!(:user => User.find(1), :project => Project.find(1), :hours => 1, :spent_on => '2012-06-15', :created_on => '2012-06-16 20:10:00', :activity_id => 10)
+
+    get :index, :project_id => 1, :from => '2012-06-15', :to => '2012-06-16'
+    assert_response :success
+    assert_equal [t2, t1, t3], assigns(:entries)
+
+    get :index, :project_id => 1, :from => '2012-06-15', :to => '2012-06-16', :sort => 'spent_on'
+    assert_response :success
+    assert_equal [t3, t1, t2], assigns(:entries)
+  end
+
   def test_index_atom_feed
     get :index, :project_id => 1, :format => 'atom'
     assert_response :success