From a15f96aa686f72322a77fe31af5d4c2db385e95a Mon Sep 17 00:00:00 2001 From: Rob H Date: Wed, 7 Nov 2012 18:34:54 +1100 Subject: [PATCH] Fix for case where no group_buy_size_has been set. ie. = nil --- .../admin/reports_controller_decorator.rb | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/app/controllers/spree/admin/reports_controller_decorator.rb b/app/controllers/spree/admin/reports_controller_decorator.rb index 9ae942f731..93d9168ae8 100644 --- a/app/controllers/spree/admin/reports_controller_decorator.rb +++ b/app/controllers/spree/admin/reports_controller_decorator.rb @@ -99,7 +99,7 @@ Spree::Admin::ReportsController.class_eval do columns = [ proc { |lis| lis.first.variant.product.supplier.name }, proc { |lis| lis.first.variant.product.name }, - proc { |lis| lis.first.variant.product.group_buy_unit_size }, + proc { |lis| lis.first.variant.product.group_buy_unit_size || 0.0 }, proc { |lis| lis.first.variant.options_text }, proc { |lis| lis.first.variant.weight || 0 }, proc { |lis| lis.sum { |li| li.quantity } }, @@ -113,13 +113,13 @@ Spree::Admin::ReportsController.class_eval do sort_by: proc { |product| product.name }, summary_columns: [ proc { |lis| lis.first.variant.product.supplier.name }, proc { |lis| lis.first.variant.product.name }, - proc { |lis| lis.first.variant.product.group_buy_unit_size }, + proc { |lis| lis.first.variant.product.group_buy_unit_size || 0.0 }, proc { |lis| "" }, proc { |lis| "" }, proc { |lis| lis.sum { |li| li.quantity * li.variant.weight || 0 } }, proc { |lis| lis.sum { |li| (li.max_quantity || 0) * li.variant.weight || 0 } }, - proc { |lis| ( lis.first.variant.product.group_buy_unit_size.zero? ? 0 : ( lis.sum { |li| ( [li.max_quantity, li.quantity].max || 0 ) * li.variant.weight || 0 } / lis.first.variant.product.group_buy_unit_size ) ).floor }, - proc { |lis| lis.sum { |li| ( [li.max_quantity, li.quantity].max || 0 ) * li.variant.weight || 0 } - ( ( lis.first.variant.product.group_buy_unit_size.zero? ? 0 : ( lis.sum { |li| ( [li.max_quantity, li.quantity].max || 0 ) * li.variant.weight || 0 } / lis.first.variant.product.group_buy_unit_size ) ).floor * lis.first.variant.product.group_buy_unit_size ) } ] }, + proc { |lis| ( (lis.first.variant.product.group_buy_unit_size || 0).zero? ? 0 : ( lis.sum { |li| ( [li.max_quantity || 0, li.quantity || 0].max ) * li.variant.weight || 0 } / lis.first.variant.product.group_buy_unit_size ) ).floor }, + proc { |lis| lis.sum { |li| ( [li.max_quantity || 0, li.quantity || 0].max) * li.variant.weight || 0 } - ( ( (lis.first.variant.product.group_buy_unit_size || 0).zero? ? 0 : ( lis.sum { |li| ( [li.max_quantity || 0, li.quantity || 0].max) * li.variant.weight || 0 } / lis.first.variant.product.group_buy_unit_size ) ).floor * (lis.first.variant.product.group_buy_unit_size || 0) ) } ] }, { group_by: proc { |li| li.variant }, sort_by: proc { |variant| variant.options_text } } ] @@ -129,7 +129,7 @@ Spree::Admin::ReportsController.class_eval do columns = [ proc { |lis| lis.first.order.bill_address.firstname + " " + lis.first.order.bill_address.lastname }, proc { |lis| lis.first.variant.product.name }, - proc { |lis| lis.first.variant.product.group_buy_unit_size }, + proc { |lis| lis.first.variant.product.group_buy_unit_size || 0.0 }, proc { |lis| lis.first.variant.options_text }, proc { |lis| lis.first.variant.weight || 0 }, proc { |lis| lis.sum { |li| li.quantity } }, @@ -141,13 +141,13 @@ Spree::Admin::ReportsController.class_eval do sort_by: proc { |product| product.name }, summary_columns: [ proc { |lis| lis.first.order.bill_address.firstname + " " + lis.first.order.bill_address.lastname }, proc { |lis| lis.first.variant.product.name }, - proc { |lis| lis.first.variant.product.group_buy_unit_size }, + proc { |lis| lis.first.variant.product.group_buy_unit_size || 0.0 }, proc { |lis| "" }, proc { |lis| "" }, proc { |lis| lis.sum { |li| li.quantity * li.variant.weight || 0 } }, proc { |lis| lis.sum { |li| (li.max_quantity || 0) * li.variant.weight || 0 } }, - proc { |lis| ( lis.first.variant.product.group_buy_unit_size.zero? ? 0 : ( lis.sum { |li| ( [li.max_quantity, li.quantity].max || 0 ) * li.variant.weight || 0 } / lis.first.variant.product.group_buy_unit_size ) ).floor * lis.first.variant.product.group_buy_unit_size }, - proc { |lis| lis.sum { |li| ( [li.max_quantity, li.quantity].max || 0 ) * li.variant.weight || 0 } - ( ( lis.first.variant.product.group_buy_unit_size.zero? ? 0 : ( lis.sum { |li| ( [li.max_quantity, li.quantity].max || 0 ) * li.variant.weight || 0 } / lis.first.variant.product.group_buy_unit_size ) ).floor * lis.first.variant.product.group_buy_unit_size ) } ] }, + proc { |lis| ( (lis.first.variant.product.group_buy_unit_size || 0).zero? ? 0 : ( lis.sum { |li| ( [li.max_quantity || 0, li.quantity || 0].max ) * li.variant.weight || 0 } / lis.first.variant.product.group_buy_unit_size ) ).floor * (lis.first.variant.product.group_buy_unit_size || 0) }, + proc { |lis| lis.sum { |li| ( [li.max_quantity || 0, li.quantity || 0].max ) * li.variant.weight || 0 } - ( ( (lis.first.variant.product.group_buy_unit_size || 0).zero? ? 0 : ( lis.sum { |li| ( [li.max_quantity || 0, li.quantity || 0].max ) * li.variant.weight || 0 } / lis.first.variant.product.group_buy_unit_size ) ).floor * (lis.first.variant.product.group_buy_unit_size || 0) ) } ] }, { group_by: proc { |li| li.variant }, sort_by: proc { |variant| variant.options_text } }, { group_by: proc { |li| li.order }, @@ -188,7 +188,7 @@ Spree::Admin::ReportsController.class_eval do columns = [ proc { |lis| lis.first.variant.product.supplier.name }, proc { |lis| lis.first.variant.product.name }, - proc { |lis| lis.first.variant.product.group_buy_unit_size }, + proc { |lis| lis.first.variant.product.group_buy_unit_size || 0.0 }, proc { |lis| lis.first.variant.options_text }, proc { |lis| lis.first.variant.weight || 0 }, proc { |lis| lis.sum { |li| li.quantity } }, @@ -202,13 +202,13 @@ Spree::Admin::ReportsController.class_eval do sort_by: proc { |product| product.name }, summary_columns: [ proc { |lis| lis.first.variant.product.supplier.name }, proc { |lis| lis.first.variant.product.name }, - proc { |lis| lis.first.variant.product.group_buy_unit_size }, + proc { |lis| lis.first.variant.product.group_buy_unit_size || 0.0 }, proc { |lis| "" }, proc { |lis| "" }, proc { |lis| lis.sum { |li| li.quantity * li.variant.weight || 0 } }, proc { |lis| lis.sum { |li| (li.max_quantity || 0) * li.variant.weight || 0 } }, - proc { |lis| ( lis.first.variant.product.group_buy_unit_size.zero? ? 0 : ( lis.sum { |li| ( [li.max_quantity, li.quantity].max || 0 ) * li.variant.weight || 0 } / lis.first.variant.product.group_buy_unit_size ) ).floor }, - proc { |lis| lis.sum { |li| ( [li.max_quantity, li.quantity].max || 0 ) * li.variant.weight || 0 } - ( ( lis.first.variant.product.group_buy_unit_size.zero? ? 0 : ( lis.sum { |li| ( [li.max_quantity, li.quantity].max || 0 ) * li.variant.weight || 0 } / lis.first.variant.product.group_buy_unit_size ) ).floor * lis.first.variant.product.group_buy_unit_size ) } ] }, + proc { |lis| ( (lis.first.variant.product.group_buy_unit_size || 0).zero? ? 0 : ( lis.sum { |li| ( [li.max_quantity || 0, li.quantity || 0].max ) * li.variant.weight || 0 } / lis.first.variant.product.group_buy_unit_size ) ).floor }, + proc { |lis| lis.sum { |li| ( [li.max_quantity || 0, li.quantity || 0].max ) * li.variant.weight || 0 } - ( ( (lis.first.variant.product.group_buy_unit_size || 0).zero? ? 0 : ( lis.sum { |li| ( [li.max_quantity || 0, li.quantity || 0].max ) * li.variant.weight || 0 } / lis.first.variant.product.group_buy_unit_size ) ).floor * (lis.first.variant.product.group_buy_unit_size || 0) ) } ] }, { group_by: proc { |li| li.variant }, sort_by: proc { |variant| variant.options_text } } ]