Merge pull request #14 from Noviat/16.0

Syncing from upstream Noviat/account_ebics (16.0)
This commit is contained in:
braintec 2023-10-09 07:45:13 +02:00 committed by GitHub
commit ac1b384770
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -535,7 +535,14 @@ class EbicsFile(models.Model):
message = _("Invalid XML file.") message = _("Invalid XML file.")
res["notifications"].append({"type": "error", "message": message}) res["notifications"].append({"type": "error", "message": message})
ns = {k or "ns": v for k, v in root.nsmap.items()} ns = {k or "ns": v for k, v in root.nsmap.items()}
stmts = root[0].findall("ns:Stmt", ns) camt_variant = ns["ns"].split("camt.")[1][:3]
variant_tags = {
"052": "Rpt",
"053": "Stmt",
"054": "Ntfctn",
}
camt_tag = variant_tags[camt_variant]
stmts = root[0].findall("ns:{}".format(camt_tag), ns)
for i, stmt in enumerate(stmts): for i, stmt in enumerate(stmts):
acc_number = sanitize_account_number( acc_number = sanitize_account_number(
stmt.xpath( stmt.xpath(
@ -558,7 +565,7 @@ class EbicsFile(models.Model):
root_new = deepcopy(root) root_new = deepcopy(root)
entries = False entries = False
for j, el in enumerate(root_new[0].findall("ns:Stmt", ns)): for j, el in enumerate(root_new[0].findall("ns:{}".format(camt_tag), ns)):
if j != i: if j != i:
el.getparent().remove(el) el.getparent().remove(el)
else: else: