From 138b34329bd74de251c45f3e574f93273aa0c82d Mon Sep 17 00:00:00 2001 From: MAEDA Go Date: Sun, 20 Sep 2026 10:39:03 +0900 Subject: [PATCH] Add the "Updated" column to the spent time list to allow sorting time entries by updated_on. --- app/models/time_entry_query.rb | 1 + test/functional/timelog_controller_test.rb | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/app/models/time_entry_query.rb b/app/models/time_entry_query.rb index e1fe8f03b..a2513000d 100644 --- a/app/models/time_entry_query.rb +++ b/app/models/time_entry_query.rb @@ -25,6 +25,7 @@ class TimeEntryQuery < Query QueryColumn.new(:project, :sortable => "#{Project.table_name}.name", :groupable => true), QueryColumn.new(:spent_on, :sortable => ["#{TimeEntry.table_name}.spent_on", "#{TimeEntry.table_name}.created_on"], :default_order => 'desc', :groupable => true), TimestampQueryColumn.new(:created_on, :sortable => "#{TimeEntry.table_name}.created_on", :default_order => 'desc', :groupable => true), + TimestampQueryColumn.new(:updated_on, :sortable => "#{TimeEntry.table_name}.updated_on", :default_order => 'desc', :groupable => true), QueryColumn.new(:tweek, :sortable => ["#{TimeEntry.table_name}.tyear", "#{TimeEntry.table_name}.tweek"], :caption => :label_week), QueryColumn.new(:author, :sortable => lambda {User.fields_for_order_statement}), QueryColumn.new(:user, :sortable => lambda {User.fields_for_order_statement}, :groupable => true), diff --git a/test/functional/timelog_controller_test.rb b/test/functional/timelog_controller_test.rb index dad4bac4f..ff3a006e3 100644 --- a/test/functional/timelog_controller_test.rb +++ b/test/functional/timelog_controller_test.rb @@ -1192,6 +1192,23 @@ class TimelogControllerTest < Redmine::ControllerTest ) end + def test_index_should_sort_by_updated_on + TimeEntry.where(:id => 2).update_all(:updated_on => '2012-06-16 20:00:00') + + get( + :index, + :params => { + :project_id => 1, + :sort => 'updated_on:desc' + } + ) + assert_response :success + assert_equal( + %w(2 4 3 1), + css_select('input[name="ids[]"]').map {|e| e.attr(:value)} + ) + end + def test_index_should_sort_by_tweek_and_spent_on t1 = TimeEntry.generate!(:spent_on => '2012-06-10') # tyear:2012, tweek:23 t2 = TimeEntry.generate!(:spent_on => '2012-06-11') # tyear:2012, tweek:24 -- 2.55.0