Skip to content

Commit

Permalink
Remove one promotion per product rule limitation.
Browse files Browse the repository at this point in the history
This was earlier proposed in StemboltHQ#3 but closed because
it seemed dangerous. After looking more carefully at the issue involved
I think we can do this and it will help make promotions much more
flexible.
  • Loading branch information
Chris Salzberg committed Oct 5, 2015
1 parent bcae1fd commit cbcbd4f
Showing 1 changed file with 0 additions and 9 deletions.
9 changes: 0 additions & 9 deletions promo/app/models/spree/promotion/rules/product.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ class Promotion
module Rules
class Product < PromotionRule
has_and_belongs_to_many :products, :class_name => '::Spree::Product', :join_table => 'spree_products_promotion_rules', :foreign_key => 'promotion_rule_id'
validate :only_one_promotion_per_product

MATCH_POLICIES = %w(any all)
preference :match_policy, :string, :default => MATCH_POLICIES.first
Expand All @@ -32,14 +31,6 @@ def product_ids_string
def product_ids_string=(s)
self.product_ids = s.to_s.split(',').map(&:strip)
end

private

def only_one_promotion_per_product
if Spree::Promotion::Rules::Product.all.map(&:products).flatten.uniq!
errors[:base] << "You can't create two promotions for the same product"
end
end
end
end
end
Expand Down

0 comments on commit cbcbd4f

Please sign in to comment.