
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).
64 lines
1.7 KiB
Python
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
|