Sha256: 94e7c514050c6fe5fcbb862b57ba13b8e8ece6f6f86e6b557b65a7f8b81a36ae
Contents?: true
Size: 977 Bytes
Versions: 1
Compression:
Stored size: 977 Bytes
Contents
module OrderValidations extend ActiveSupport::Concern prepended do validate :check_tax_id, if: :email_required? validate :check_compatible_zipcode_and_state before_update :format_tax_id def check_compatible_zipcode_and_state cep = CodigoPostal.new(ship_address.zipcode) unless cep.state_code == ship_address.state.abbr errors.add(:base, "CEP não corresponde ao Estado.") end end def check_tax_id cnpj_allowed = SolidusBrazilianAdaptations.config.allow_cnpj document = TaxIdBr.new(tax_id) if document.valid? if document.document_type == :cnpj && cnpj_allowed == false errors.add(:base, "Insira um CPF, não um CNPJ.") end else errors.add(:base, "#{cnpj_allowed ? "CPF/CPNJ" : "CPF"} inválido.") end end def format_tax_id document = TaxIdBr.new(tax_id) self.tax_id = document.formatted end end ::Spree::Order.prepend self end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
solidus_brazilian_adaptations-1.0.6 | app/overrides/order_validations.rb |