[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.
This commit is contained in:
Luc De Meyer 2024-05-06 20:15:49 +02:00
parent 8438a10c57
commit e0f47ee766
5 changed files with 20 additions and 13 deletions

View File

@ -1,9 +1,9 @@
# Copyright 2009-2022 Noviat.
# Copyright 2009-2024 Noviat.
# License LGPL-3 or later (http://www.gnu.org/licenses/lpgl).
{
'name': 'EBICS banking protocol',
'version': '13.0.1.3.3',
'version': '13.0.1.4.0',
'license': 'LGPL-3',
'author': 'Noviat',
'website': 'www.noviat.com',

View File

@ -1,13 +1,6 @@
# Copyright 2009-2022 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
@ -66,6 +59,9 @@ class EbicsXfer(models.TransientModel):
string='EBICS File Format',
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")
order_type = fields.Char(
related='format_id.order_type',
string='Order Type',
@ -91,6 +87,14 @@ 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

View File

@ -45,7 +45,10 @@
<field name="upload_data" filename="upload_fname" required="1"/>
<field name="upload_fname" invisible="1"/>
<field name="upload_fname_dummy"/>
<field name="format_id" required="1"/>
<field name="upload_format_ids" invisible="1"/>
<field name="format_id"
domain="[('id', 'in', upload_format_ids)]"
required="1"/>
<field name="order_type"/>
<field name="test_mode" attrs="{'invisible': [('order_type', '!=', 'FUL')]}"/>
</group>

View File

@ -41,7 +41,7 @@ class AccountPaymentOrder(models.Model):
'default_upload_data': attach.datas,
'default_upload_fname': attach.name,
'origin': origin,
'force_comany': self.company_id.id,
'force_company': self.company_id.id,
})
ebics_xfer = self.env['ebics.xfer'].with_context(ctx).create({})
ebics_xfer._onchange_ebics_config_id()