From cbe52fe3f2cb9a8243127287a9470f8519c315bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul=20=28ACSONE=29?= Date: Wed, 19 Sep 2018 21:33:29 +0200 Subject: [PATCH] [IMP] support bank postal address in CdtrAgt and DbtrAgt City and Country only so far. --- .../models/account_payment_order.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/account_banking_pain_base/models/account_payment_order.py b/account_banking_pain_base/models/account_payment_order.py index 0fb9ae3ce..c1daa6a72 100644 --- a/account_banking_pain_base/models/account_payment_order.py +++ b/account_banking_pain_base/models/account_payment_order.py @@ -313,6 +313,16 @@ class AccountPaymentOrder(models.Model): % self.company_id.name) return True + @api.model + def generate_fininst_postal_address(self, parent_node, bank): + if not (bank.country or bank.city): + return + postal_address = etree.SubElement(parent_node, 'PstlAdr') + if bank.city: + etree.SubElement(postal_address, 'TwnNm').text = bank.city + if bank.country: + etree.SubElement(postal_address, 'Ctry').text = bank.country.code + @api.model def generate_party_agent( self, parent_node, party_type, order, partner_bank, gen_args, @@ -333,6 +343,8 @@ class AccountPaymentOrder(models.Model): party_agent_bic = etree.SubElement( party_agent_institution, gen_args.get('bic_xml_tag')) party_agent_bic.text = partner_bank.bank_bic + self.generate_fininst_postal_address( + party_agent_institution, partner_bank.bank_id) else: if order == 'B' or ( order == 'C' and gen_args['payment_method'] == 'DD'): @@ -340,6 +352,8 @@ class AccountPaymentOrder(models.Model): parent_node, '%sAgt' % party_type) party_agent_institution = etree.SubElement( party_agent, 'FinInstnId') + self.generate_fininst_postal_address( + party_agent_institution, partner_bank.bank_id) party_agent_other = etree.SubElement( party_agent_institution, 'Othr') party_agent_other_identification = etree.SubElement(