From 097b775fa048380fc26f00b1cfb7ef783e888187 Mon Sep 17 00:00:00 2001 From: Gaetan Craig-Riou <40413322+rioug@users.noreply.github.com> Date: Mon, 25 Sep 2023 17:44:16 +1000 Subject: [PATCH] Add metadata before saving adjustment Rails may put it all in one transaction Co-authored-by: Maikel --- app/services/voucher_adjustments_service.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/services/voucher_adjustments_service.rb b/app/services/voucher_adjustments_service.rb index f464bc749e..f3566ae7f7 100644 --- a/app/services/voucher_adjustments_service.rb +++ b/app/services/voucher_adjustments_service.rb @@ -83,15 +83,15 @@ class VoucherAdjustmentsService # Update the amount if tax adjustment already exist, create if not tax_adjustment = @order.adjustments.find_or_initialize_by(adjustment_attributes) tax_adjustment.amount = tax_amount - tax_adjustment.save # Add metada so we know which voucher adjustment is Tax related - AdjustmentMetadata.create( - adjustment: tax_adjustment, + tax_adjustment.metadata ||= AdjustmentMetadata.new( enterprise: adjustment.originator.enterprise, fee_name: "Tax", fee_type: "Voucher" ) + + tax_adjustment.save end def handle_tax_included_in_price(amount, voucher)