From 459ef5f0d1a1ac02b5d50bbac22b57143b4073a6 Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Mon, 22 May 2023 11:09:29 +0100 Subject: [PATCH] Only delete related exchange variants if exchange is outgoing --- app/models/exchange.rb | 2 ++ app/models/exchange_variant.rb | 2 ++ 2 files changed, 4 insertions(+) diff --git a/app/models/exchange.rb b/app/models/exchange.rb index f945898402..4657f92946 100644 --- a/app/models/exchange.rb +++ b/app/models/exchange.rb @@ -122,6 +122,8 @@ class Exchange < ApplicationRecord end def delete_related_exchange_variants + return unless incoming? + ExchangeVariant.where(variant_id: variant_ids). joins(:exchange). where(exchanges: { order_cycle: order_cycle, incoming: false }). diff --git a/app/models/exchange_variant.rb b/app/models/exchange_variant.rb index ca3169bde8..a3dfc01a40 100644 --- a/app/models/exchange_variant.rb +++ b/app/models/exchange_variant.rb @@ -7,6 +7,8 @@ class ExchangeVariant < ApplicationRecord after_destroy :delete_related_outgoing_variants def delete_related_outgoing_variants + return unless exchange.incoming? + ExchangeVariant.where(variant_id: variant_id). joins(:exchange). where(exchanges: { order_cycle: exchange.order_cycle, incoming: false }).