Merge branch '16-imp-ebics_xfer-ff-filter' into '16.0'

[IMP]account_ebics: file format filter on ebics_upload

See merge request Noviat/Noviat_Generic/accounting-ebics!44
This commit is contained in:
Luc De Meyer 2024-05-12 19:14:21 +00:00
commit a95586cf5e
4 changed files with 19 additions and 4 deletions

View File

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

View File

@ -1,4 +1,4 @@
# Copyright 2009-2023 Noviat. # Copyright 2009-2024 Noviat.
# License LGPL-3 or later (http://www.gnu.org/licenses/lgpl). # License LGPL-3 or later (http://www.gnu.org/licenses/lgpl).
import base64 import base64
@ -79,6 +79,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",
@ -117,6 +120,17 @@ class EbicsXfer(models.TransientModel):
else: else:
rec.ebics_sig_passphrase_invisible = False rec.ebics_sig_passphrase_invisible = False
@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):
avail_userids = self.ebics_config_id.ebics_userid_ids.filtered( avail_userids = self.ebics_config_id.ebics_userid_ids.filtered(

View File

@ -89,10 +89,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" string="Upload Filename" /> <field name="upload_fname_dummy" string="Upload Filename" />
<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({})