From 8f5f4ffc9256e3c43acdeab84b119b5486e5f6fb Mon Sep 17 00:00:00 2001 From: Martin Meyerhoff Date: Wed, 28 May 2025 17:47:41 +0200 Subject: [PATCH] Move Taxon -> Promotion Rule association to legacy promotions This was forgotten when extracting the legacy_promotions gem. Also adds a dependent: :destroy. --- core/app/models/spree/taxon.rb | 3 --- .../solidus_legacy_promotions/spree_taxon_patch.rb | 12 ++++++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 legacy_promotions/app/patches/models/solidus_legacy_promotions/spree_taxon_patch.rb diff --git a/core/app/models/spree/taxon.rb b/core/app/models/spree/taxon.rb index 32f129dcbc5..44159210a86 100644 --- a/core/app/models/spree/taxon.rb +++ b/core/app/models/spree/taxon.rb @@ -13,9 +13,6 @@ class Taxon < Spree::Base has_many :classifications, -> { order(:position) }, dependent: :delete_all, inverse_of: :taxon has_many :products, through: :classifications - has_many :promotion_rule_taxons - has_many :promotion_rules, through: :promotion_rule_taxons - before_save :set_permalink after_update :update_child_permalinks, if: :saved_change_to_permalink? diff --git a/legacy_promotions/app/patches/models/solidus_legacy_promotions/spree_taxon_patch.rb b/legacy_promotions/app/patches/models/solidus_legacy_promotions/spree_taxon_patch.rb new file mode 100644 index 00000000000..464bfd4ea58 --- /dev/null +++ b/legacy_promotions/app/patches/models/solidus_legacy_promotions/spree_taxon_patch.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module SolidusLegacyPromotions + module SpreeTaxonPatch + def self.prepended(base) + base.has_many :promotion_rule_taxons, dependent: :destroy + base.has_many :promotion_rules, through: :promotion_rule_taxons + end + + ::Spree::Taxon.prepend self + end +end