Merge pull request #123 from Noviat/20.0-mig-account_ebics

Syncing from upstream Noviat/account_ebics (20.0-mig-account_ebics)
This commit is contained in:
braintec authored and GitHub committed 2026-11-05 06:31:46 +01:00
commit 5352d87130
3 files changed
+27 -30

No files matched your search

+7 -9
View File
@@ -1,7 +1,6 @@
# Copyright 2009-2025 Noviat.
# License LGPL-3 or later (https://www.gnu.org/licenses/lgpl).
import base64
import logging
from copy import deepcopy
from sys import exc_info
@@ -202,7 +201,7 @@ class EbicsFile(models.Model):
[
("type", "=", "bank"),
(
"bank_account_id.sanitized_acc_number",
"bank_account_id.sanitized_account_number",
"ilike",
acc_number,
),
@@ -381,7 +380,7 @@ class EbicsFile(models.Model):
Statements without transactions are removed.
"""
datas = []
file_data = base64.b64decode(self.data).replace(b"\n", b"").replace(b"\r", b"")
file_data = bytes(self.data).replace(b"\n", b"").replace(b"\r", b"")
if len(file_data) % 120:
message = self.env._(
"Incorrect CFONB120 file:\nthe file is not divisible in 120 char lines"
@@ -413,7 +412,7 @@ class EbicsFile(models.Model):
"acc_number": acc_number,
"journal_id": journal.id,
"company_id": journal.company_id.id,
"data": base64.b64encode(st_lines),
"data": st_lines,
}
)
st_lines = b""
@@ -500,7 +499,7 @@ class EbicsFile(models.Model):
.with_context(active_model="ebics.file")
.create({"statement_filename": self.name})
)
wiz.import_single_file(base64.b64decode(st_data["data"]), res)
wiz.import_single_file(st_data["data"], res)
def _process_bank_statement_oe(self, res, st_datas):
"""
@@ -530,8 +529,7 @@ class EbicsFile(models.Model):
.create(
{
"name": self.name,
"datas": st_data["data"],
"store_fname": self.name,
"raw": st_data["data"],
}
)
)
@@ -565,7 +563,7 @@ class EbicsFile(models.Model):
Statements without transactions are removed.
"""
datas = []
file_data = base64.b64decode(self.data)
file_data = bytes(self.data)
root = etree.fromstring(file_data, parser=etree.XMLParser(recover=True))
if root is None:
message = self.env._("Invalid XML file.")
@@ -623,7 +621,7 @@ class EbicsFile(models.Model):
"acc_number": acc_number,
"journal_id": journal.id,
"company_id": journal.company_id.id,
"data": base64.b64encode(etree.tostring(root_new)),
"data": etree.tostring(root_new),
}
)
+17 -17
View File
@@ -7,27 +7,11 @@
sequence="4"
/>
<menuitem
id="ebics_xfer_menu_download"
name="EBICS Download"
parent="ebics_processing_menu"
action="ebics_xfer_action_download"
sequence="10"
/>
<menuitem
id="ebics_xfer_menu_upload"
name="EBICS Upload"
parent="ebics_processing_menu"
action="ebics_xfer_action_upload"
sequence="20"
/>
<menuitem
id="ebics_file_menu"
name="EBICS Files"
parent="ebics_processing_menu"
sequence="30"
sequence="10"
/>
<menuitem
@@ -46,6 +30,22 @@
sequence="20"
/>
<menuitem
id="ebics_xfer_menu_download"
name="EBICS Download"
parent="ebics_processing_menu"
action="ebics_xfer_action_download"
sequence="20"
/>
<menuitem
id="ebics_xfer_menu_upload"
name="EBICS Upload"
parent="ebics_processing_menu"
action="ebics_xfer_action_upload"
sequence="30"
/>
<menuitem
id="ebics_menu"
name="EBICS"
+3 -4
View File
@@ -1,13 +1,13 @@
# Copyright 2009-2025 Noviat.
# License LGPL-3 or later (https://www.gnu.org/licenses/lgpl).
import base64
import logging
from sys import exc_info
from traceback import format_exception
from odoo import SUPERUSER_ID, api, fields, models
from odoo.exceptions import UserError
from odoo.tools.binary import BinaryBytes
_logger = logging.getLogger(__name__)
@@ -370,7 +370,7 @@ class EbicsXfer(models.TransientModel):
self.note = ""
client = self._setup_client()
if client:
upload_data = base64.decodebytes(self.upload_data)
upload_data = bytes(self.upload_data)
ef_format = self.format_id
OrderID = False
try:
@@ -619,10 +619,9 @@ class EbicsXfer(models.TransientModel):
fn,
)
)
data = base64.encodebytes(data)
ef_vals = {
"name": fn,
"data": data,
"data": BinaryBytes(data),
"date": fields.Datetime.now(),
"date_from": self.date_from,
"date_to": self.date_to,