mirror of
http://100.103.83.12:3003/fegger/odoo-at-payroll.git
synced 2026-09-17 08:52:45 +00:00
[IMP] l10n_at_hr_payroll: GP3 Lohnsteuer-Kern (tariff, cumulative monthly tax, 67 sechstel engine, 68 buckets) + TASY runtime fixes
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
# Part of the odoo-at-payroll project. License: LGPL-3.
|
||||
from lxml import etree
|
||||
|
||||
import base64
|
||||
|
||||
from odoo import _, api, fields, models
|
||||
from odoo.exceptions import UserError
|
||||
|
||||
@@ -101,7 +103,14 @@ class L10nAtPayrollTasyImportWizard(models.TransientModel):
|
||||
def _tasy_root(self):
|
||||
self.ensure_one()
|
||||
parser = etree.XMLParser(resolve_entities=False, no_network=True)
|
||||
return etree.fromstring(self.file, parser)
|
||||
data = self.file or b''
|
||||
if isinstance(data, str):
|
||||
data = data.encode()
|
||||
# Binary kann XML-Bytes ODER base64 (str/Bytes) liefern:
|
||||
# dekodieren, wenn kein '<' am Anfang steht.
|
||||
if not data.lstrip().startswith(b'<'):
|
||||
data = base64.b64decode(data)
|
||||
return etree.fromstring(data, parser)
|
||||
|
||||
@staticmethod
|
||||
def _tasy_text(node, tag):
|
||||
@@ -233,7 +242,9 @@ class L10nAtPayrollTasyImportWizard(models.TransientModel):
|
||||
self.ensure_one()
|
||||
old = parameter_obj._get_parameter_from_code(code, date_from,
|
||||
raise_if_not_found=False)
|
||||
old_value = old.parameter_value if old else ''
|
||||
# _get_parameter_from_code liefert den geparsten Wert (float/dict)
|
||||
# oder None — nicht den Parameter-Record.
|
||||
old_value = repr(old) if old is not None else ''
|
||||
old_float = None
|
||||
try:
|
||||
old_float = float(old_value)
|
||||
|
||||
Reference in New Issue
Block a user