From 42975310085c9a0bf74d948eb1fc7bcb8626be3a Mon Sep 17 00:00:00 2001 From: Luc De Meyer Date: Mon, 6 May 2024 20:15:49 +0200 Subject: [PATCH] [IMP]account_ebics: file format filter on ebics_upload Set file format fiter when creating the ebics.xfer wizard from a python method, e.g. 'EBICS UPLOAD' button on payment order. --- account_ebics/__manifest__.py | 4 ++-- account_ebics/wizards/ebics_xfer.py | 23 ++++++++++++------- account_ebics/wizards/ebics_xfer.xml | 3 ++- .../models/account_payment_order.py | 2 +- 4 files changed, 20 insertions(+), 12 deletions(-) diff --git a/account_ebics/__manifest__.py b/account_ebics/__manifest__.py index c5b9e6f..1b1593b 100644 --- a/account_ebics/__manifest__.py +++ b/account_ebics/__manifest__.py @@ -1,9 +1,9 @@ -# Copyright 2009-2023 Noviat. +# Copyright 2009-2024 Noviat. # License LGPL-3 or later (http://www.gnu.org/licenses/lpgl). { "name": "EBICS banking protocol", - "version": "14.0.1.1.4", + "version": "14.0.1.2.0", "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 fac32ab..05fb3ba 100644 --- a/account_ebics/wizards/ebics_xfer.py +++ b/account_ebics/wizards/ebics_xfer.py @@ -1,13 +1,6 @@ -# Copyright 2009-2023 Noviat. +# Copyright 2009-2024 Noviat. # License LGPL-3 or later (http://www.gnu.org/licenses/lpgl). -""" -import logging -logging.basicConfig( - level=logging.DEBUG, - format='[%(asctime)s] %(levelname)s - %(name)s: %(message)s') -""" - import base64 import logging import os @@ -75,6 +68,9 @@ class EbicsXfer(models.TransientModel): help="Select EBICS File Format to upload/download." "\nLeave blank to download all available files.", ) + upload_format_ids = fields.Many2many( + comodel_name="ebics.file.format", compute="_compute_upload_format_ids" + ) allowed_format_ids = fields.Many2many( related="ebics_config_id.ebics_file_format_ids", string="Allowed EBICS File Formats", @@ -105,6 +101,17 @@ class EbicsXfer(models.TransientModel): else: return cfg_mod + @api.depends("ebics_config_id") + def _compute_upload_format_ids(self): + for rec in self: + rec.upload_format_ids = False + if not self.env.context.get("ebics_download"): + rec.upload_format_ids = ( + rec.ebics_config_id.ebics_file_format_ids.filtered( + lambda r: r.type == "up" + ) + ) + @api.onchange("ebics_config_id") def _onchange_ebics_config_id(self): ebics_userids = self.ebics_config_id.ebics_userid_ids diff --git a/account_ebics/wizards/ebics_xfer.xml b/account_ebics/wizards/ebics_xfer.xml index 0d28980..6bc321d 100644 --- a/account_ebics/wizards/ebics_xfer.xml +++ b/account_ebics/wizards/ebics_xfer.xml @@ -66,10 +66,11 @@ +