From ffa4e02817479f1b657c69f640630c8d4c3b8a29 Mon Sep 17 00:00:00 2001 From: Go MAEDA Date: Sun, 24 Mar 2019 06:14:33 +0000 Subject: [PATCH] Group time entries by created date (#30233). Patch by Marius BALTEANU. git-svn-id: http://svn.redmine.org/redmine/trunk@18003 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/time_entry_query.rb | 2 +- test/functional/timelog_controller_test.rb | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/app/models/time_entry_query.rb b/app/models/time_entry_query.rb index 0c42206c0..f974ab6d9 100644 --- a/app/models/time_entry_query.rb +++ b/app/models/time_entry_query.rb @@ -25,7 +25,7 @@ class TimeEntryQuery < Query self.available_columns = [ 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), - QueryColumn.new(:created_on, :sortable => "#{TimeEntry.table_name}.created_on", :default_order => 'desc'), + TimestampQueryColumn.new(:created_on, :sortable => "#{TimeEntry.table_name}.created_on", :default_order => 'desc', :groupable => true), QueryColumn.new(:tweek, :sortable => ["#{TimeEntry.table_name}.spent_on", "#{TimeEntry.table_name}.created_on"], :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 4ab5b3d59..5c3319276 100644 --- a/test/functional/timelog_controller_test.rb +++ b/test/functional/timelog_controller_test.rb @@ -1371,4 +1371,18 @@ class TimelogControllerTest < Redmine::ControllerTest assert_not_nil line assert_include "#{issue.tracker} #1: #{issue.subject}", line end + + def test_index_grouped_by_created_on + skip unless TimeEntryQuery.new.groupable_columns.detect {|c| c.name == :created_on} + + get :index, :params => { + :set_filter => 1, + :group_by => 'created_on' + } + assert_response :success + + assert_select 'tr.group span.name', :text => '03/23/2007' do + assert_select '+ span.count', :text => '2' + end + end end