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