[IMP]add support for fintech 7.4

In fintech 7.4 EbicsUser.manual_approval has been replaced by class parameter “transport_only”.
The account_ebics code has now been adapted to support fintech >=7.4 as well as older releases.
This commit is contained in:
Luc De Meyer 2023-12-01 18:53:54 +01:00
parent 1c0ec01f23
commit f2703358ef
2 changed files with 17 additions and 11 deletions

View File

@ -3,7 +3,7 @@
{
"name": "EBICS banking protocol",
"version": "16.0.1.6.1",
"version": "16.0.1.6.2",
"license": "LGPL-3",
"author": "Noviat",
"website": "https://www.noviat.com/",

View File

@ -462,12 +462,21 @@ class EbicsXfer(models.TransientModel):
if self.ebics_config_id.ebics_version == "H003":
bank._order_number = self.ebics_config_id._get_order_number()
try:
user = EbicsUser(
keyring=keyring,
partnerid=self.ebics_config_id.ebics_partner,
userid=self.ebics_userid_id.name,
signature_class = (
self.format_id.signature_class or self.ebics_userid_id.signature_class
)
user_params = {
"keyring": keyring,
"partnerid": self.ebics_config_id.ebics_partner,
"userid": self.ebics_userid_id.name,
}
# manual_approval replaced by transport_only class param in fintech 7.4
fintech74 = hasattr(EbicsUser, "transport_only")
if fintech74:
user_params["transport_only"] = signature_class == "T" and True or False
try:
user = EbicsUser(**user_params)
except ValueError as err:
error = _("Error while accessing the EBICS UserID:")
error += "\n"
@ -477,11 +486,8 @@ class EbicsXfer(models.TransientModel):
error += "\n"
error += _("Doublecheck your EBICS Passphrase and UserID settings.")
raise UserError(error) from err
signature_class = (
self.format_id.signature_class or self.ebics_userid_id.signature_class
)
if signature_class == "T":
# manual_approval replaced by transport_only class param in fintech 7.4
if not fintech74 and signature_class == "T":
user.manual_approval = True
try: