Project

General

Profile

Feature #21450 » Add Total Estimated Time on Group Options.patch

Valdir Stiebe Junior, 2017-06-08 22:32

View differences:

issue_query.rb (working copy)
38 38
    QueryColumn.new(:total_estimated_hours,
39 39
      :sortable => "COALESCE((SELECT SUM(estimated_hours) FROM #{Issue.table_name} subtasks" +
40 40
        " WHERE subtasks.root_id = #{Issue.table_name}.root_id AND subtasks.lft >= #{Issue.table_name}.lft AND subtasks.rgt <= #{Issue.table_name}.rgt), 0)",
41
      :default_order => 'desc'),
41
      :default_order => 'desc', :totalable => true),
42 42
    QueryColumn.new(:done_ratio, :sortable => "#{Issue.table_name}.done_ratio", :groupable => true),
43 43
    QueryColumn.new(:created_on, :sortable => "#{Issue.table_name}.created_on", :default_order => 'desc'),
44 44
    QueryColumn.new(:closed_on, :sortable => "#{Issue.table_name}.closed_on", :default_order => 'desc'),
......
322 322
    map_total(scope.sum(:estimated_hours)) {|t| t.to_f.round(2)}
323 323
  end
324 324

  
325
  # Returns sum of all the issue's total estimated_hours
326
  def total_for_total_estimated_hours(scope)
327
	total = scope.sum("COALESCE((SELECT SUM(estimated_hours) FROM #{Issue.table_name} subtasks" +
328
        " WHERE subtasks.root_id = #{Issue.table_name}.root_id AND subtasks.lft >= #{Issue.table_name}.lft AND subtasks.rgt <= #{Issue.table_name}.rgt), 0)")
329

  
330
		
331
    map_total(total) {|t| t.to_f.round(2)}
332
  end
333

  
325 334
  # Returns sum of all the issue's time entries hours
326 335
  def total_for_spent_hours(scope)
327 336
    total = if group_by_column.try(:name) == :project
(1-1/2)