|
|
@@ -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
|
|
|
|