Browse Source

variants of products now are inside a thread.

jose miguel 7 years ago
parent
commit
3f37a0b1e3
2 changed files with 25 additions and 24 deletions
  1. 25 23
      app/models/product.rb
  2. 0 1
      app/views/products/_form.html.erb

+ 25 - 23
app/models/product.rb

@@ -164,31 +164,33 @@ class Product < ActiveRecord::Base
   end
 
   def save_variants
-    combinations = Array.new
-    attributes = Array.new
-    combinations = get_combinations(combinations, attributes)
-
-    ##--- recorrer combinaciones para crear las variantes de productos
-    unless combinations.nil?
-      combinations.each_with_index do |combination, index|
-        @products_variant = Product.new
-        @products_variant = dup
-        @products_variant.parent_id = id
-        @products_variant.is_parent = false
-        @products_variant.sku = sku + (index + 1).to_s + "A"
-        @products_variant.category_ids = category_ids
-        attributes_json = {}
-
-        if combination.is_a?(Array)
-          combination.each do |attrib|
-            attributes_json = @products_variant.assign_attributes_to_variant(attrib, id, attributes_json)
+    Thread.new do
+      combinations = Array.new
+      attributes = Array.new
+      combinations = get_combinations(combinations, attributes)
+
+      ##--- recorrer combinaciones para crear las variantes de productos
+      unless combinations.nil?
+        combinations.each_with_index do |combination, index|
+          @products_variant = Product.new
+          @products_variant = dup
+          @products_variant.parent_id = id
+          @products_variant.is_parent = false
+          @products_variant.sku = sku + (index + 1).to_s + "A"
+          @products_variant.category_ids = category_ids
+          attributes_json = {}
+
+          if combination.is_a?(Array)
+            combination.each do |attrib|
+              attributes_json = @products_variant.assign_attributes_to_variant(attrib, id, attributes_json)
+            end
+          else
+            attributes_json = @products_variant.assign_attributes_to_variant(combination, id, attributes_json)
           end
-        else
-          attributes_json = @products_variant.assign_attributes_to_variant(combination, 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
   end

+ 0 - 1
app/views/products/_form.html.erb

@@ -321,7 +321,6 @@
 	$('#product_style_list').on('change', function(event) { getVariants(); });
 
 	function presentaciones(){
-		console.log($('#product_presentation').is(':checked'));
 		if ($('#product_presentation').is(':checked')){
 			$('.presentaciones').removeClass('hidden');
 		}