Merge PR #522 into 11.0

Signed-off-by dreispt
This commit is contained in:
OCA-git-bot
2021-05-15 18:34:40 +00:00

View File

@@ -340,6 +340,28 @@ 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):
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,
@@ -360,6 +382,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
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'):
@@ -367,6 +392,9 @@ class AccountPaymentOrder(models.Model):
parent_node, '%sAgt' % party_type)
party_agent_institution = etree.SubElement(
party_agent, 'FinInstnId')
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(