class Supplier < ActiveRecord::Base
	## Associaciones
	belongs_to :contact
	has_one :billing_information
	has_many :purchases
	has_many :pre_purchases
	has_many :pointsales, :through => :purchases
	# belongs_to :spmx_state , :through => :billing_information
	accepts_nested_attributes_for :contact, :reject_if => :all_blank
	accepts_nested_attributes_for :billing_information, :reject_if => :all_blank


	enum status: [ :erased, :active, :inactive ]

	##--- Llevar registro de Actividad del usuario
	audited 

	##--- Validaciones previas de guardar
	validates_presence_of :nick_name, message: "Debe capturar el nombre del Proveedor."
	validates_presence_of :phone, message: "Debe capturar el teléfono del proveedor."
	validates_presence_of :email, message: "Debe capturar el correo electrónico del proveedor."
	validates_format_of :email, :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i ,message: "El formato del correo electrónico es inválido", :allow_blank => true

	##--- Tipo de vistas / consultas
	scope :vigentes, -> { where( "status != 0").order(" status ASC, nick_name ASC") }
	scope :activos, -> { where( "status = 1").order(" status ASC, nick_name ASC") }
end
