facho/fe/form.py: visit pattern para validador
FossilOrigin-Name: fd853b5eeeee9ef353c5d0098c1a271488fec229e3fc4b537ce9bcb44f799f6b
This commit is contained in:
@@ -116,11 +116,11 @@ class Invoice:
|
||||
def add_invoice_line(self, line: InvoiceLine):
|
||||
self.invoice_lines.append(line)
|
||||
|
||||
def validate(self, validator):
|
||||
validator.validate_customer(self.invoice_customer)
|
||||
validator.validate_supplier(self.invoice_supplier)
|
||||
def accept(self, visitor):
|
||||
visitor.visit_customer(self.invoice_customer)
|
||||
visitor.visit_supplier(self.invoice_supplier)
|
||||
for invline in self.invoice_lines:
|
||||
validator.validate_invoice_line(self, invline)
|
||||
visitor.visit_invoice_line(invline)
|
||||
|
||||
def _calculate_legal_monetary_total(self):
|
||||
for invline in self.invoice_lines:
|
||||
@@ -155,13 +155,17 @@ class DianResolucion0001Validator:
|
||||
except KeyError:
|
||||
self.errors.append(('organization_code', 'not found'))
|
||||
|
||||
def validate_customer(self, customer):
|
||||
def validate(self, invoice):
|
||||
invoice.accept(self)
|
||||
return not self.errors
|
||||
|
||||
def visit_customer(self, customer):
|
||||
self._validate_party(customer)
|
||||
|
||||
def validate_supplier(self, supplier):
|
||||
def visit_supplier(self, supplier):
|
||||
self._validate_party(supplier)
|
||||
|
||||
def validate_invoice_line(self, invoice, line):
|
||||
def visit_invoice_line(self, line):
|
||||
pass
|
||||
|
||||
def valid(self):
|
||||
|
||||
Reference in New Issue
Block a user