Allow multiple digital files to be attached to a single variant.

Useful for multi-format ebook downloads
This commit is contained in:
Michael Bianco
2012-06-18 16:54:12 -04:00
parent 094b648e2f
commit 12281630d1
3 changed files with 36 additions and 35 deletions
+4 -4
View File
@@ -1,10 +1,8 @@
Spree::LineItem.class_eval do
has_many :digital_links, :dependent => :destroy
after_save :create_digital_links, :if => :digital?
# Is this item digital?
def digital?
variant.digital?
end
@@ -15,8 +13,10 @@ Spree::LineItem.class_eval do
def create_digital_links
digital_links.delete_all
self.quantity.times do
digital_links.create!(:digital => variant.digital)
variant.digitals.each do |digital|
self.quantity.times do
digital_links.create!(:digital => digital)
end
end
end
+2 -2
View File
@@ -1,11 +1,11 @@
Spree::Variant.class_eval do
has_one :digital, :dependent => :destroy
has_many :digitals, :dependent => :destroy
after_save :destroy_digital, :if => :deleted?
# Is this variant to be downloaded by the customer?
def digital?
digital.present?
digitals.present?
end
private