diff --git a/app/services/orders/handle_fees_service.rb b/app/services/orders/handle_fees_service.rb index aaaa1636a9..20baf0887d 100644 --- a/app/services/orders/handle_fees_service.rb +++ b/app/services/orders/handle_fees_service.rb @@ -29,7 +29,10 @@ module Orders def create_or_update_line_item_fees! order.line_items.includes(:variant).each do |line_item| # No fee associated with the line item so we just create them - next create_line_item_fees!(line_item) if line_item.enterprise_fee_adjustments.blank? + if line_item.enterprise_fee_adjustments.blank? + create_line_item_fees!(line_item) + next + end create_or_update_line_item_fee!(line_item) diff --git a/lib/open_food_network/enterprise_fee_calculator.rb b/lib/open_food_network/enterprise_fee_calculator.rb index a4c0fb631a..2412e82637 100644 --- a/lib/open_food_network/enterprise_fee_calculator.rb +++ b/lib/open_food_network/enterprise_fee_calculator.rb @@ -67,13 +67,12 @@ module OpenFoodNetwork @order_cycle.exchanges_carrying(variant, @distributor).each do |exchange| exchange.enterprise_fees.per_item.each do |enterprise_fee| - fees << OpenFoodNetwork::EnterpriseFeeApplicator.new(enterprise_fee, variant, - exchange.role) + fees << EnterpriseFeeApplicator.new(enterprise_fee, variant, exchange.role) end end @order_cycle.coordinator_fees.per_item.each do |enterprise_fee| - fees << OpenFoodNetwork::EnterpriseFeeApplicator.new(enterprise_fee, variant, 'coordinator') + fees << EnterpriseFeeApplicator.new(enterprise_fee, variant, 'coordinator') end fees @@ -86,12 +85,12 @@ module OpenFoodNetwork @order_cycle.exchanges_supplying(order).each do |exchange| exchange.enterprise_fees.per_order.each do |enterprise_fee| - fees << OpenFoodNetwork::EnterpriseFeeApplicator.new(enterprise_fee, nil, exchange.role) + fees << EnterpriseFeeApplicator.new(enterprise_fee, nil, exchange.role) end end @order_cycle.coordinator_fees.per_order.each do |enterprise_fee| - fees << OpenFoodNetwork::EnterpriseFeeApplicator.new(enterprise_fee, nil, 'coordinator') + fees << EnterpriseFeeApplicator.new(enterprise_fee, nil, 'coordinator') end fees @@ -104,13 +103,12 @@ module OpenFoodNetwork @order_cycle.exchanges.supplying_to(@distributor).each do |exchange| exchange.enterprise_fees.per_item.each do |enterprise_fee| - fees << OpenFoodNetwork::EnterpriseFeeApplicator.new(enterprise_fee, variant, - exchange.role) + fees << EnterpriseFeeApplicator.new(enterprise_fee, variant, exchange.role) end end @order_cycle.coordinator_fees.per_item.each do |enterprise_fee| - fees << OpenFoodNetwork::EnterpriseFeeApplicator.new(enterprise_fee, variant, 'coordinator') + fees << EnterpriseFeeApplicator.new(enterprise_fee, variant, 'coordinator') end fees