diff --git a/app/models/spree/line_item_decorator.rb b/app/models/spree/line_item_decorator.rb
index 8d73a3e..abdf8be 100644
--- a/app/models/spree/line_item_decorator.rb
+++ b/app/models/spree/line_item_decorator.rb
@@ -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
diff --git a/app/models/spree/variant_decorator.rb b/app/models/spree/variant_decorator.rb
index acf8eb5..e090aa4 100644
--- a/app/models/spree/variant_decorator.rb
+++ b/app/models/spree/variant_decorator.rb
@@ -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
diff --git a/app/views/spree/admin/digitals/_form.html.erb b/app/views/spree/admin/digitals/_form.html.erb
index e017113..7ac9233 100644
--- a/app/views/spree/admin/digitals/_form.html.erb
+++ b/app/views/spree/admin/digitals/_form.html.erb
@@ -1,35 +1,36 @@
-
-
- <%= form_for(:digital, :url => { :controller => 'digitals', :action => 'create' }, :html => { :multipart => true }) do |f| %>
+
+
+ <%= form_for(:digital, :url => { :controller => 'digitals', :action => 'create' }, :html => { :multipart => true }) do |f| %>
+ <%= hidden_field_tag 'digital[variant_id]', variant.id %>
+
+ <%= button t('spree_digital.upload') %>
+
+
+
<% end %>
-
-
\ No newline at end of file
+