diff --git a/app/models/time_entry_query.rb b/app/models/time_entry_query.rb index 5ca95ea916..eba4669958 100644 --- a/app/models/time_entry_query.rb +++ b/app/models/time_entry_query.rb @@ -30,7 +30,7 @@ class TimeEntryQuery < Query QueryColumn.new(:author, :sortable => lambda {User.fields_for_order_statement}), QueryColumn.new(:user, :sortable => lambda {User.fields_for_order_statement}, :groupable => true), QueryColumn.new(:activity, :sortable => "#{TimeEntryActivity.table_name}.position", :groupable => true), - QueryColumn.new(:issue, :sortable => "#{Issue.table_name}.id"), + QueryColumn.new(:issue, :sortable => "#{Issue.table_name}.id", :groupable => true), QueryAssociationColumn.new(:issue, :tracker, :caption => :field_tracker, :sortable => "#{Tracker.table_name}.position"), QueryAssociationColumn.new(:issue, :status, :caption => :field_status, :sortable => "#{IssueStatus.table_name}.position"), QueryAssociationColumn.new(:issue, :category, :caption => :field_category, :sortable => "#{IssueCategory.table_name}.name"), diff --git a/test/functional/timelog_controller_test.rb b/test/functional/timelog_controller_test.rb index 152912bd90..88bcf7921e 100644 --- a/test/functional/timelog_controller_test.rb +++ b/test/functional/timelog_controller_test.rb @@ -1385,4 +1385,18 @@ class TimelogControllerTest < Redmine::ControllerTest assert_select '+ span.count', :text => '2' end end + + def test_index_grouped_by_issue + get :index, :params => { + :set_filter => 1, + :group_by => 'issue' + } + assert_response :success + + assert_select 'tr.group span.name' do |elements| + target_element = elements[1] + assert_equal "Bug #1: Cannot print recipes", target_element.text + assert_select target_element, '+ span.count', :text => '2' + end + end end