|
|
@@ -174,26 +174,28 @@ class Product < ActiveRecord::Base
|
|
|
combinations = self.get_combinations(combinations, attributes)
|
|
|
|
|
|
##--- recorrer combinaciones para crear las variantes de productos
|
|
|
- combinations.each_with_index do |combination, index|
|
|
|
- @products_variant = Product.new
|
|
|
- @products_variant = self.dup
|
|
|
- @products_variant.parent_id = self.id
|
|
|
- @products_variant.is_parent = false
|
|
|
- @products_variant.sku = self.sku + "#{index + 1}" + "A"
|
|
|
- @products_variant.category_ids = self.category_ids
|
|
|
- attributes_json = {}
|
|
|
+ unless combinations.nil?
|
|
|
+ combinations.each_with_index do |combination, index|
|
|
|
+ @products_variant = Product.new
|
|
|
+ @products_variant = self.dup
|
|
|
+ @products_variant.parent_id = self.id
|
|
|
+ @products_variant.is_parent = false
|
|
|
+ @products_variant.sku = self.sku + "#{index + 1}" + "A"
|
|
|
+ @products_variant.category_ids = self.category_ids
|
|
|
+ attributes_json = {}
|
|
|
|
|
|
- if combination.is_a?(Array)
|
|
|
- combination.each do |attrib|
|
|
|
- attributes_json = @products_variant.assign_attributes_to_variant(attrib, self.id, attributes_json)
|
|
|
+ if combination.is_a?(Array)
|
|
|
+ combination.each do |attrib|
|
|
|
+ attributes_json = @products_variant.assign_attributes_to_variant(attrib, self.id, attributes_json)
|
|
|
+ end
|
|
|
+ else
|
|
|
+ attributes_json = @products_variant.assign_attributes_to_variant(combination, self.id, attributes_json)
|
|
|
end
|
|
|
- else
|
|
|
- attributes_json = @products_variant.assign_attributes_to_variant(combination, self.id, attributes_json)
|
|
|
- end
|
|
|
|
|
|
- @products_variant.attributes_json = attributes_json.to_json
|
|
|
- @products_variant.save
|
|
|
+ @products_variant.attributes_json = attributes_json.to_json
|
|
|
+ @products_variant.save
|
|
|
|
|
|
+ end
|
|
|
end
|
|
|
|
|
|
end
|