edocument_xrechnung/party.py
Mathias Behrle 5dad4ce239 Remove arguments in super() calls.
They are no more needed in Python3 and usually result in unexpected
behavior when wrongly used (like e.g. the one introduced in
764cacc091 and solved meanwhile by
refactorization).
2024-12-12 16:29:10 +01:00

64 lines
1.7 KiB
Python

# -*- coding: utf-8 -*-
# This file is part of the edocument-module for Tryton from m-ds.de.
# The COPYRIGHT file at the top level of this repository contains the
# full copyright notices and license terms.
from trytond.pool import PoolMeta
from trytond.exceptions import UserError
from trytond.i18n import gettext
from trytond.model import fields
class Party(metaclass=PoolMeta):
__name__ = 'party.party'
xrechnung_routeid = fields.Boolean(
string='X-Rechnung Route-ID',
help='Enables the need for an XRechnung route ID at the party ' +
'for exporting the XRechnung.')
def get_xrechnung_route_id(self):
""" search for route-id at party, fire-exception if missing
"""
for ident in self.identifiers:
if ident.type == 'edoc_route_id':
return ident.code
if self.xrechnung_routeid:
raise UserError(gettext(
'edocument_xrechnung.msg_missing_xrechnung_route_id',
partyname=self.rec_name))
@classmethod
def default_xrechnung_routeid(cls):
""" default for needs-route-id
Returns:
bool: default False
"""
return False
@classmethod
def validate(cls, records):
""" validate setup of xrechnung route id
Args:
records (list): records of party.party
"""
super().validate(records)
for record in records:
record.get_xrechnung_route_id()
# end Party
class PartyConfiguration(metaclass=PoolMeta):
__name__ = 'party.configuration'
@classmethod
def __setup__(cls):
super().__setup__()
cls.identifier_types.selection.append(
('edoc_route_id', 'X-Rechnung Route-ID'))
# end Configuration