Mercurial > hg > soundsoftware-site
diff lib/redmine/helpers/time_report.rb @ 1517:dffacf8a6908 redmine-2.5
Update to Redmine SVN revision 13367 on 2.5-stable branch
author | Chris Cannam |
---|---|
date | Tue, 09 Sep 2014 09:29:00 +0100 |
parents | e248c7af89ec |
children |
line wrap: on
line diff
--- a/lib/redmine/helpers/time_report.rb Tue Sep 09 09:28:31 2014 +0100 +++ b/lib/redmine/helpers/time_report.rb Tue Sep 09 09:29:00 2014 +0100 @@ -45,10 +45,10 @@ unless @criteria.empty? time_columns = %w(tyear tmonth tweek spent_on) @hours = [] - @scope.sum(:hours, - :include => [:issue, :activity], - :group => @criteria.collect{|criteria| @available_criteria[criteria][:sql]} + time_columns, - :joins => @criteria.collect{|criteria| @available_criteria[criteria][:joins]}.compact).each do |hash, hours| + @scope.includes(:issue, :activity). + group(@criteria.collect{|criteria| @available_criteria[criteria][:sql]} + time_columns). + joins(@criteria.collect{|criteria| @available_criteria[criteria][:joins]}.compact). + sum(:hours).each do |hash, hours| h = {'hours' => hours} (@criteria + time_columns).each_with_index do |name, i| h[name] = hash[i] @@ -137,10 +137,11 @@ custom_fields += TimeEntryActivityCustomField.all # Add list and boolean custom fields as available criteria - custom_fields.select {|cf| %w(list bool).include? cf.field_format }.each do |cf| - @available_criteria["cf_#{cf.id}"] = {:sql => "#{cf.join_alias}.value", + custom_fields.select {|cf| %w(list bool).include?(cf.field_format) && !cf.multiple?}.each do |cf| + @available_criteria["cf_#{cf.id}"] = {:sql => cf.group_statement, :joins => cf.join_for_order_statement, :format => cf.field_format, + :custom_field => cf, :label => cf.name} end