Merge branch '15-imp-ebics_xfer-ff-filter' into '15.0'

[IMP]account_ebics: file format filter on ebics_upload

See merge request Noviat/Noviat_Generic/accounting-ebics!42
This commit is contained in:
Luc De Meyer 2024-05-12 17:49:45 +00:00
commit 84297bfeb2
4 changed files with 20 additions and 12 deletions

View File

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

View File

@ -1,13 +1,6 @@
# Copyright 2009-2023 Noviat. # Copyright 2009-2024 Noviat.
# License LGPL-3 or later (http://www.gnu.org/licenses/lpgl). # 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 base64
import logging import logging
import os import os
@ -75,6 +68,9 @@ class EbicsXfer(models.TransientModel):
help="Select EBICS File Format to upload/download." help="Select EBICS File Format to upload/download."
"\nLeave blank to download all available files.", "\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( allowed_format_ids = fields.Many2many(
related="ebics_config_id.ebics_file_format_ids", related="ebics_config_id.ebics_file_format_ids",
string="Allowed EBICS File Formats", string="Allowed EBICS File Formats",
@ -105,6 +101,17 @@ class EbicsXfer(models.TransientModel):
else: else:
return cfg_mod 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") @api.onchange("ebics_config_id")
def _onchange_ebics_config_id(self): def _onchange_ebics_config_id(self):
ebics_userids = self.ebics_config_id.ebics_userid_ids ebics_userids = self.ebics_config_id.ebics_userid_ids

View File

@ -66,10 +66,11 @@
<field name="upload_data" filename="upload_fname" required="1" /> <field name="upload_data" filename="upload_fname" required="1" />
<field name="upload_fname" invisible="1" /> <field name="upload_fname" invisible="1" />
<field name="upload_fname_dummy" /> <field name="upload_fname_dummy" />
<field name="upload_format_ids" invisible="1" />
<field <field
name="format_id" name="format_id"
domain="[('id', 'in', upload_format_ids)]"
required="1" required="1"
domain="[('type', '=', 'up'), ('id', 'in', allowed_format_ids)]"
/> />
<field name="order_type" /> <field name="order_type" />
<field <field

View File

@ -52,7 +52,7 @@ class AccountPaymentOrder(models.Model):
"default_upload_data": attach.datas, "default_upload_data": attach.datas,
"default_upload_fname": attach.name, "default_upload_fname": attach.name,
"origin": origin, "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 = self.env["ebics.xfer"].with_context(**ctx).create({})