first commit
This commit is contained in:
46
modules/edocument_peppol/party.py
Normal file
46
modules/edocument_peppol/party.py
Normal file
@@ -0,0 +1,46 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
|
||||
from trytond.model import ModelSQL, fields
|
||||
from trytond.modules.company.model import CompanyValueMixin
|
||||
from trytond.pool import Pool, PoolMeta
|
||||
|
||||
|
||||
class Party(metaclass=PoolMeta):
|
||||
__name__ = 'party.party'
|
||||
|
||||
peppol_types = fields.MultiValue(fields.MultiSelection(
|
||||
'get_peppol_types', "Peppol Types",
|
||||
help="Send the documents to the customer via the Peppol network."))
|
||||
peppol = fields.One2Many('party.party.peppol', 'party', "Peppol")
|
||||
|
||||
@classmethod
|
||||
def multivalue_model(cls, field):
|
||||
pool = Pool()
|
||||
if field == 'peppol_types':
|
||||
return pool.get('party.party.peppol')
|
||||
return super().multivalue_model(field)
|
||||
|
||||
@classmethod
|
||||
def get_peppol_types(cls):
|
||||
pool = Pool()
|
||||
Peppol = pool.get('edocument.peppol')
|
||||
return [
|
||||
(v, l) for v, l in Peppol.fields_get(['type'])['type']['selection']
|
||||
if v is not None]
|
||||
|
||||
|
||||
class PartyPeppol(ModelSQL, CompanyValueMixin):
|
||||
__name__ = 'party.party.peppol'
|
||||
|
||||
party = fields.Many2One(
|
||||
'party.party', "Party", ondelete='CASCADE', required=True)
|
||||
peppol_types = fields.MultiSelection('get_peppol_types', "Peppol Types")
|
||||
|
||||
@classmethod
|
||||
def get_peppol_types(cls):
|
||||
pool = Pool()
|
||||
Peppol = pool.get('edocument.peppol')
|
||||
return [
|
||||
(v, l) for v, l in Peppol.fields_get(['type'])['type']['selection']
|
||||
if v is not None]
|
||||
Reference in New Issue
Block a user