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 }).