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