[IMP] pain: add hook for party identifiers + improve Postal Address block

Use TwnNm for city and PstlCd for zip.
This commit is contained in:
Stéphane Bidoul (ACSONE)
2018-09-05 15:31:42 +02:00
committed by Pedro M. Baeza
parent 1b8038e185
commit 171cd53463

View File

@@ -350,6 +350,16 @@ class AccountPaymentOrder(models.Model):
# as per the guidelines of the EPC
return True
@api.model
def generate_party_id(
self, parent_node, party_type, partner):
"""Generate an Id element for partner inside the parent node.
party_type can currently be Cdtr or Dbtr. Notably, the initiating
party orgid is generated with another mechanism and configured
at the company or payment mode level.
"""
return
@api.model
def generate_party_acc_number(
self, parent_node, party_type, order, partner_bank, gen_args,
@@ -399,6 +409,16 @@ class AccountPaymentOrder(models.Model):
partner = partner_bank.partner_id
if partner.country_id:
postal_address = etree.SubElement(party, 'PstlAdr')
if partner.zip:
pstcd = etree.SubElement(postal_address, 'PstCd')
pstcd.text = self._prepare_field(
'Postal Code', 'partner.zip',
{'partner': partner}, 16, gen_args=gen_args)
if partner.city:
twnnm = etree.SubElement(postal_address, 'TwnNm')
twnnm.text = self._prepare_field(
'Town Name', 'partner.city',
{'partner': partner}, 35, gen_args=gen_args)
country = etree.SubElement(postal_address, 'Ctry')
country.text = self._prepare_field(
'Country', 'partner.country_id.code',
@@ -408,11 +428,8 @@ class AccountPaymentOrder(models.Model):
adrline1.text = self._prepare_field(
'Adress Line1', 'partner.street',
{'partner': partner}, 70, gen_args=gen_args)
if partner.city and partner.zip:
adrline2 = etree.SubElement(postal_address, 'AdrLine')
adrline2.text = self._prepare_field(
'Address Line2', "partner.zip + ' ' + partner.city",
{'partner': partner}, 70, gen_args=gen_args)
self.generate_party_id(party, party_type, partner)
self.generate_party_acc_number(
parent_node, party_type, order, partner_bank, gen_args,