[FIX]file format setting when EBICS upload from payment order

This commit is contained in:
Luc De Meyer 2024-05-13 22:08:21 +02:00
parent f7006f42f6
commit 0af84a01d6
4 changed files with 19 additions and 14 deletions

View File

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

View File

@ -115,7 +115,9 @@ class EbicsXfer(models.TransientModel):
@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
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( download_formats = self.ebics_config_id.ebics_file_format_ids.filtered(
lambda r: r.type == "down" lambda r: r.type == "down"
) )
@ -130,16 +132,24 @@ class EbicsXfer(models.TransientModel):
if len(transport_users) == 1: if len(transport_users) == 1:
self.ebics_userid_id = transport_users self.ebics_userid_id = transport_users
else: else:
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( upload_formats = self.ebics_config_id.ebics_file_format_ids.filtered(
lambda r: r.type == "up" lambda r: r.type == "up"
) )
if len(upload_formats) == 1: if len(upload_formats) == 1:
self.format_id = upload_formats self.format_id = upload_formats
if len(ebics_userids) == 1: domain["format_id"] = [
self.ebics_userid_id = ebics_userids ("type", "=", "up"),
("id", "in", upload_formats.ids),
]
return {"domain": domain}
@api.onchange("upload_data") @api.onchange("upload_data")
def _onchange_upload_data(self): def _onchange_upload_data(self):
if self.env.context.get("active_model") == "account.payment.order":
return
self.upload_fname_dummy = self.upload_fname self.upload_fname_dummy = self.upload_fname
self.format_id = False self.format_id = False
self._detect_upload_format() self._detect_upload_format()
@ -157,10 +167,6 @@ class EbicsXfer(models.TransientModel):
if len(upload_formats) == 1: if len(upload_formats) == 1:
self.format_id = upload_formats 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): def ebics_upload(self):
self.ensure_one() self.ensure_one()
ctx = self._context.copy() ctx = self._context.copy()

View File

@ -3,7 +3,7 @@
{ {
"name": "Upload Payment Order via EBICS", "name": "Upload Payment Order via EBICS",
"version": "14.0.1.1.0", "version": "14.0.1.1.1",
"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-2021 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).
from odoo import _, models from odoo import _, models
@ -69,7 +69,6 @@ class AccountPaymentOrder(models.Model):
ebics_xfer = self.env["ebics.xfer"].with_context(ctx).create({}) ebics_xfer = self.env["ebics.xfer"].with_context(ctx).create({})
ebics_xfer._onchange_ebics_config_id() ebics_xfer._onchange_ebics_config_id()
ebics_xfer._onchange_upload_data() ebics_xfer._onchange_upload_data()
ebics_xfer._onchange_format_id()
view = self.env.ref("account_ebics.ebics_xfer_view_form_upload") view = self.env.ref("account_ebics.ebics_xfer_view_form_upload")
act = { act = {
"name": _("EBICS Upload"), "name": _("EBICS Upload"),