[FIX]generate pain address block that is supported by german banks

This commit is contained in:
Luc De Meyer
2022-12-06 17:18:17 +01:00
committed by Pedro M. Baeza
parent 9d80a5d9ed
commit 198fc3c203
2 changed files with 26 additions and 23 deletions

View File

@@ -7,7 +7,7 @@
{
"name": "Account Banking PAIN Base Module",
"summary": "Base module for PAIN file generation",
"version": "15.0.1.0.2",
"version": "15.0.1.0.3",
"license": "AGPL-3",
"author": "Akretion, Noviat, Tecnativa, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/bank-payment",

View File

@@ -501,27 +501,6 @@ class AccountPaymentOrder(models.Model):
"""Generate the piece of the XML corresponding to PstlAdr"""
if partner.country_id:
postal_address = etree.SubElement(parent_node, "PstlAdr")
if gen_args.get("pain_flavor").startswith("pain.001.001.") or gen_args.get(
"pain_flavor"
).startswith("pain.008.001."):
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",
@@ -539,7 +518,31 @@ class AccountPaymentOrder(models.Model):
70,
gen_args=gen_args,
)
if (
gen_args.get("pain_flavor").startswith("pain.001.001.")
or gen_args.get("pain_flavor").startswith("pain.008.001.")
and (partner.zip or partner.city)
):
adrline2 = etree.SubElement(postal_address, "AdrLine")
if partner.zip:
val = self._prepare_field(
"zip",
"partner.zip",
{"partner": partner},
70,
gen_args=gen_args,
)
else:
val = ""
if partner.city:
val += " " + self._prepare_field(
"city",
"partner.city",
{"partner": partner},
70,
gen_args=gen_args,
)
adrline2.text = val
return True
@api.model