billing_information.rb 1.7 KB

123456789101112131415161718192021222324252627
  1. class BillingInformation < ActiveRecord::Base
  2. ##--- Associaciones
  3. belongs_to :customer
  4. belongs_to :supplier
  5. belongs_to :spmx_county, :foreign_key => "county_id"
  6. belongs_to :spmx_state, :foreign_key => "state_id"
  7. ##--- Llevar registro de Actividad del usuario
  8. # audited
  9. ##--- Validaciones previas de guardar
  10. validates_presence_of :name, message: "Debe capturar el nombre de la razón social."
  11. validates :rfc, :presence => {message: "Debe capturar el RFC del cliente."}, length:{ maximum: 13, too_long: "El RFC no debe ser mayor a %{count} caracteres." }
  12. validates_presence_of :state_id, message: "Debe especificar el estado."
  13. validates_presence_of :county_id, message: "Debe especificar el municipio."
  14. # validates_presence_of :city, message: "Debe especificar la ciudad o localidad."
  15. # validates_presence_of :suburb, message: "Debe especificar la colonia."
  16. # validates_presence_of :address, message: "Debe capturar la dirección de la Empresa."
  17. validates :zipcode, :presence => { :message => "Debe especificar el código postal"}, :numericality => { :only_integer => true, :message => "El código postal debe ser numérico.", allow_nil: true }
  18. validates :num_ext, length: { maximum: 10, too_long: "El no. ext no debe ser mayor a %{count} caracteres." }, :unless => Proc.new {|c| c.num_ext.blank?}
  19. validates :num_int, length: { maximum: 10, too_long: "El no. int no debe ser mayor a %{count} caracteres." }, :unless => Proc.new {|c| c.num_int.blank?}
  20. ##--- Funciones personalizadas
  21. def address_complete
  22. "#{self.address} No. #{num_ext}" + (self.num_int != '' ? "Int. #{num_int}," : ",") +" C.P. #{zipcode} \n #{suburb}, #{city}, #{spmx_county.name}, #{spmx_state.name} "
  23. end
  24. end