From 0af84a01d6f023c240528c46461d6a9531432265 Mon Sep 17 00:00:00 2001 From: Luc De Meyer Date: Mon, 13 May 2024 22:08:21 +0200 Subject: [PATCH 1/2] [FIX]file format setting when EBICS upload from payment order --- account_ebics/__manifest__.py | 2 +- account_ebics/wizards/ebics_xfer.py | 26 ++++++++++++------- account_ebics_payment_order/__manifest__.py | 2 +- .../models/account_payment_order.py | 3 +-- 4 files changed, 19 insertions(+), 14 deletions(-) diff --git a/account_ebics/__manifest__.py b/account_ebics/__manifest__.py index 1b1593b..8154047 100644 --- a/account_ebics/__manifest__.py +++ b/account_ebics/__manifest__.py @@ -3,7 +3,7 @@ { "name": "EBICS banking protocol", - "version": "14.0.1.2.0", + "version": "14.0.1.2.1", "license": "LGPL-3", "author": "Noviat", "website": "https://www.noviat.com/", diff --git a/account_ebics/wizards/ebics_xfer.py b/account_ebics/wizards/ebics_xfer.py index 05fb3ba..cd0406b 100644 --- a/account_ebics/wizards/ebics_xfer.py +++ b/account_ebics/wizards/ebics_xfer.py @@ -115,7 +115,9 @@ class EbicsXfer(models.TransientModel): @api.onchange("ebics_config_id") def _onchange_ebics_config_id(self): ebics_userids = self.ebics_config_id.ebics_userid_ids - if self._context.get("ebics_download"): + domain = {"ebics_userid_id": [("id", "in", ebics_userids.ids)]} + ctx = self.env.context + if ctx.get("ebics_download"): download_formats = self.ebics_config_id.ebics_file_format_ids.filtered( lambda r: r.type == "down" ) @@ -130,16 +132,24 @@ class EbicsXfer(models.TransientModel): if len(transport_users) == 1: self.ebics_userid_id = transport_users else: - upload_formats = self.ebics_config_id.ebics_file_format_ids.filtered( - lambda r: r.type == "up" - ) - if len(upload_formats) == 1: - self.format_id = upload_formats if len(ebics_userids) == 1: self.ebics_userid_id = ebics_userids + if not ctx.get("active_model") == "account.payment.order": + upload_formats = self.ebics_config_id.ebics_file_format_ids.filtered( + lambda r: r.type == "up" + ) + if len(upload_formats) == 1: + self.format_id = upload_formats + domain["format_id"] = [ + ("type", "=", "up"), + ("id", "in", upload_formats.ids), + ] + return {"domain": domain} @api.onchange("upload_data") def _onchange_upload_data(self): + if self.env.context.get("active_model") == "account.payment.order": + return self.upload_fname_dummy = self.upload_fname self.format_id = False self._detect_upload_format() @@ -157,10 +167,6 @@ class EbicsXfer(models.TransientModel): if len(upload_formats) == 1: self.format_id = upload_formats - @api.onchange("format_id") - def _onchange_format_id(self): - self.order_type = self.format_id.order_type - def ebics_upload(self): self.ensure_one() ctx = self._context.copy() diff --git a/account_ebics_payment_order/__manifest__.py b/account_ebics_payment_order/__manifest__.py index a3f19ba..9212ebd 100644 --- a/account_ebics_payment_order/__manifest__.py +++ b/account_ebics_payment_order/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Upload Payment Order via EBICS", - "version": "14.0.1.1.0", + "version": "14.0.1.1.1", "license": "LGPL-3", "author": "Noviat", "website": "https://www.noviat.com/", diff --git a/account_ebics_payment_order/models/account_payment_order.py b/account_ebics_payment_order/models/account_payment_order.py index 86800e2..20b12b2 100644 --- a/account_ebics_payment_order/models/account_payment_order.py +++ b/account_ebics_payment_order/models/account_payment_order.py @@ -1,4 +1,4 @@ -# Copyright 2009-2021 Noviat. +# Copyright 2009-2024 Noviat. # License LGPL-3 or later (http://www.gnu.org/licenses/lpgl). from odoo import _, models @@ -69,7 +69,6 @@ class AccountPaymentOrder(models.Model): ebics_xfer = self.env["ebics.xfer"].with_context(ctx).create({}) ebics_xfer._onchange_ebics_config_id() ebics_xfer._onchange_upload_data() - ebics_xfer._onchange_format_id() view = self.env.ref("account_ebics.ebics_xfer_view_form_upload") act = { "name": _("EBICS Upload"), From 3180bb5d0d826f1872b2d655e4cf5ccb192525bc Mon Sep 17 00:00:00 2001 From: Luc De Meyer Date: Sun, 12 May 2024 17:04:49 +0200 Subject: [PATCH 2/2] [IMP]EBICS File Format on Payment Mode --- account_ebics/__manifest__.py | 2 +- account_ebics/wizards/ebics_xfer.py | 20 +++++++++---------- account_ebics/wizards/ebics_xfer.xml | 3 ++- account_ebics_payment_order/README.rst | 10 +++++----- account_ebics_payment_order/__manifest__.py | 5 +++-- .../models/__init__.py | 1 + .../models/account_payment_mode.py | 15 ++++++++++++++ .../models/account_payment_order.py | 14 +++++++++++-- .../views/account_payment_mode.xml | 18 +++++++++++++++++ 9 files changed, 67 insertions(+), 21 deletions(-) create mode 100644 account_ebics_payment_order/models/account_payment_mode.py create mode 100644 account_ebics_payment_order/views/account_payment_mode.xml diff --git a/account_ebics/__manifest__.py b/account_ebics/__manifest__.py index 1b1593b..8154047 100644 --- a/account_ebics/__manifest__.py +++ b/account_ebics/__manifest__.py @@ -3,7 +3,7 @@ { "name": "EBICS banking protocol", - "version": "14.0.1.2.0", + "version": "14.0.1.2.1", "license": "LGPL-3", "author": "Noviat", "website": "https://www.noviat.com/", diff --git a/account_ebics/wizards/ebics_xfer.py b/account_ebics/wizards/ebics_xfer.py index 05fb3ba..08be0e3 100644 --- a/account_ebics/wizards/ebics_xfer.py +++ b/account_ebics/wizards/ebics_xfer.py @@ -115,7 +115,8 @@ class EbicsXfer(models.TransientModel): @api.onchange("ebics_config_id") def _onchange_ebics_config_id(self): ebics_userids = self.ebics_config_id.ebics_userid_ids - if self._context.get("ebics_download"): + ctx = self.env.context + if ctx.get("ebics_download"): download_formats = self.ebics_config_id.ebics_file_format_ids.filtered( lambda r: r.type == "down" ) @@ -130,16 +131,19 @@ class EbicsXfer(models.TransientModel): if len(transport_users) == 1: self.ebics_userid_id = transport_users else: - upload_formats = self.ebics_config_id.ebics_file_format_ids.filtered( - lambda r: r.type == "up" - ) - if len(upload_formats) == 1: - self.format_id = upload_formats if len(ebics_userids) == 1: self.ebics_userid_id = ebics_userids + if not ctx.get("active_model") == "account.payment.order": + upload_formats = self.ebics_config_id.ebics_file_format_ids.filtered( + lambda r: r.type == "up" + ) + if len(upload_formats) == 1: + self.format_id = upload_formats @api.onchange("upload_data") def _onchange_upload_data(self): + if self.env.context.get("active_model") == "account.payment.order": + return self.upload_fname_dummy = self.upload_fname self.format_id = False self._detect_upload_format() @@ -157,10 +161,6 @@ class EbicsXfer(models.TransientModel): if len(upload_formats) == 1: self.format_id = upload_formats - @api.onchange("format_id") - def _onchange_format_id(self): - self.order_type = self.format_id.order_type - def ebics_upload(self): self.ensure_one() ctx = self._context.copy() diff --git a/account_ebics/wizards/ebics_xfer.xml b/account_ebics/wizards/ebics_xfer.xml index 6bc321d..3e604b0 100644 --- a/account_ebics/wizards/ebics_xfer.xml +++ b/account_ebics/wizards/ebics_xfer.xml @@ -69,8 +69,9 @@ + + + + account.payment.mode.form + account.payment.mode + + + + + + + + +