Bladeren bron

Merge branch 'chemi_branch' of SML/pos-boutique into master

Jose Miguel Ledon 7 jaren geleden
bovenliggende
commit
fe48fe1f3e
2 gewijzigde bestanden met toevoegingen van 24 en 1 verwijderingen
  1. 19 1
      app/models/product.rb
  2. 5 0
      db/migrate/20181122030513_add_category_column_in_products_table.rb

+ 19 - 1
app/models/product.rb

@@ -5,6 +5,7 @@ require 'barby/outputter/png_outputter'
 class Product < ActiveRecord::Base
   ##--- Asociaciones
   belongs_to :unit
+  # belongs_to :category
   has_and_belongs_to_many :categories
 
   has_and_belongs_to_many :pointsales, join_table: :available_products
@@ -37,17 +38,24 @@ class Product < ActiveRecord::Base
             unless: :skip_sku_validation
   validates_presence_of :name, message: "Debe capturar el nombre del producto."
   validates_presence_of :unit_id, message: "Debe seleccionar la unidad de medida correspondiente al producto."
-  validates_presence_of :category_ids, message: "Debe elegir por lo menos una línea de producto relacionada al producto."
+  validates_presence_of :category_id, message: "Debe seleccionar una línea o sublinea para el producto."
   validates :barcode, uniqueness: { message: "El código de barras ya fue utilizado, favor de especificar otro." }, allow_blank: true
   validates_presence_of :name, message: "Debe capturar el nombre del producto."
   validates :price_sale,
             presence: { message: "Debe capturar el precio de venta del producto." },
             numericality: { greater_than: 0.00 }
+  # validate :category_has_subcats, on: [:create, :update]
 
   def valid_categories
     categories.count > 0
   end
 
+  # def category_has_subcats
+  #   if category.present? && category.parent_id.zero? && category.children.present?
+  #     errors.add(:category_id, "Seleccione una sublínea.")
+  #   end
+  # end
+
   def small_img
     if img_product?
       img_product.url(:medium).to_s
@@ -490,5 +498,15 @@ class Product < ActiveRecord::Base
     end
     puts "TERMINÉ, generé: #{counter} imagenes de barcode"
   end
+
+  def self.set_category_id
+    @products = Product.all
+
+    @products.each do |product|
+      product.category_id = product.categories[0].id
+      product.skip_sku_validation = true
+      product.save
+    end
+  end
 end
 

+ 5 - 0
db/migrate/20181122030513_add_category_column_in_products_table.rb

@@ -0,0 +1,5 @@
+class AddCategoryColumnInProductsTable < ActiveRecord::Migration
+  def change
+    add_column :products, :category_id, :integer, index: true unless column_exists? :products, :category_id
+  end
+end