Add support for grouping by issue on timelog view (#32436).

Patch by Kouhei Sutou.

git-svn-id: http://svn.redmine.org/redmine/trunk@19063 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2019-11-10 07:56:47 +00:00
parent e23c480f22
commit 4a447dda09
2 changed files with 15 additions and 1 deletions

View File

@@ -30,7 +30,7 @@ class TimeEntryQuery < Query
QueryColumn.new(:author, :sortable => lambda {User.fields_for_order_statement}), QueryColumn.new(:author, :sortable => lambda {User.fields_for_order_statement}),
QueryColumn.new(:user, :sortable => lambda {User.fields_for_order_statement}, :groupable => true), QueryColumn.new(:user, :sortable => lambda {User.fields_for_order_statement}, :groupable => true),
QueryColumn.new(:activity, :sortable => "#{TimeEntryActivity.table_name}.position", :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, :tracker, :caption => :field_tracker, :sortable => "#{Tracker.table_name}.position"),
QueryAssociationColumn.new(:issue, :status, :caption => :field_status, :sortable => "#{IssueStatus.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"), QueryAssociationColumn.new(:issue, :category, :caption => :field_category, :sortable => "#{IssueCategory.table_name}.name"),

View File

@@ -1418,4 +1418,18 @@ class TimelogControllerTest < Redmine::ControllerTest
assert_select '+ span.count', :text => '2' assert_select '+ span.count', :text => '2'
end end
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 end