[FIX] stack trace when OE camt parser discards a transaction line

The Odoo Enterprise CAMT parser may drop transactions during import
e.g. in case of duplicates or when a 0.00 amount transaction is added
to give some banking information via the CAMT file.
This PR fixes a stack trace that occurs when that happens.
This commit is contained in:
Luc De Meyer
2025-09-05 16:57:23 +02:00
parent 64c1ce9f59
commit d9a32af55a

View File

@@ -256,14 +256,18 @@ class EbicsFile(models.Model):
errors = []
warnings = []
for notif in notifications:
if isinstance(notif, dict) and notif["type"] == "error":
error_cnt += 1
parts = [notif[k] for k in notif if k in ("message", "details")]
errors.append("\n".join(parts))
elif isinstance(notif, dict) and notif["type"] == "warning":
warning_cnt += 1
parts = [notif[k] for k in notif if k in ("message", "details")]
warnings.append("\n".join(parts))
if isinstance(notif, dict):
if notif.get("type") == "error":
error_cnt += 1
parts = [notif[k] for k in notif if k in ("message", "details")]
errors.append("\n".join(parts) + "\n")
elif notif.get("type") == "warning":
warning_cnt += 1
parts = [notif[k] for k in notif if k in ("message", "details")]
warnings.append("\n".join(parts) + "\n")
else:
warning_cnt += 1
warnings.append(": ".join([*next(iter(notif.items()))]) + "\n")
elif isinstance(notif, str):
warning_cnt += 1
warnings.append(notif + "\n")