class Warehouse < ActiveRecord::Base
	audited

	has_many :users
	has_many :purchases
	has_many :pre_purchases
	has_many :transfers
	has_many :pre_transfers
	has_many :product_wastes	
	has_and_belongs_to_many :products,  :join_table => :warehouse_stocks

	enum status: [:inactive, :active]

	validates :prefix, presence: { message: "Debe indicar el prefijo del almacén." }, 
		length: { 
			maximum: 3, too_long: "El maximo de caracteres debe ser %{count}.",
			minimum: 3, too_short: "El minimo de caracteres debe ser %{count}."  
		},
		uniqueness: { message: "El prefijo ya fue utilizado, favor de especificar otro." }
	validates_presence_of :name, message: "Debe capturar el nombre del almacén."


	scope :activos, -> { where("status != 0").order("name ASC") }
end
