Sha256: 20e4b5f09f29561edc91ac8d8aeb3fdf4b8fd9cdaf4cd726daf7fe1ede5df40c

Contents?: true

Size: 429 Bytes

Versions: 11

Compression:

Stored size: 429 Bytes

Contents

Spree::Product.class_eval do
  has_and_belongs_to_many :promotion_rules, :join_table => 'spree_products_promotion_rules'

  def possible_promotions
    rules_with_matching_product_groups = product_groups.map(&:promotion_rules).flatten
    all_rules = promotion_rules + rules_with_matching_product_groups
    promotion_ids = all_rules.map(&:activator_id).uniq
    Spree::Promotion.advertised.where(:id => promotion_ids)
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
spree_promo-1.0.7 app/models/spree/product_decorator.rb
spree_promo-1.0.6 app/models/spree/product_decorator.rb
spree_promo-1.0.4 app/models/spree/product_decorator.rb
spree_promo-1.0.3 app/models/spree/product_decorator.rb
spree_promo-1.0.2 app/models/spree/product_decorator.rb
spree_promo-1.0.1 app/models/spree/product_decorator.rb
spree_promo-1.0.0 app/models/spree/product_decorator.rb
spree_promo-1.0.0.rc4 app/models/spree/product_decorator.rb
spree_promo-1.0.0.rc3 app/models/spree/product_decorator.rb
spree_promo-1.0.0.rc2 app/models/spree/product_decorator.rb
spree_promo-1.0.0.rc1 app/models/spree/product_decorator.rb