[FIX] only generate FinInstId PstlAdr for some pain flavors

This commit is contained in:
Stéphane Bidoul (ACSONE)
2018-11-07 16:56:33 +01:00
parent b916d13161
commit 5a52b81a13

View File

@@ -313,6 +313,18 @@ class AccountPaymentOrder(models.Model):
% self.company_id.name)
return True
@api.model
def has_fininst_postal_address(self, gen_args):
pain_flavor = gen_args.get('pain_flavor')
return (
pain_flavor.startswith("pain.001.001.03")
or pain_flavor.startswith("pain.001.001.04")
or pain_flavor.startswith("pain.001.001.05")
or pain_flavor.startswith("pain.008.001.02")
or pain_flavor.startswith("pain.008.001.03")
or pain_flavor.startswith("pain.008.001.04")
)
@api.model
def generate_fininst_postal_address(self, parent_node, bank):
if not (bank.country or bank.city):
@@ -343,8 +355,9 @@ 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)
if self.has_fininst_postal_address(gen_args):
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'):
@@ -352,8 +365,9 @@ 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)
if self.has_fininst_postal_address(gen_args):
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(