38 lines
1.2 KiB
Python
Executable File
38 lines
1.2 KiB
Python
Executable File
from trytond.model import ModelSQL, ModelView, fields
|
|
from trytond.pool import PoolMeta
|
|
from trytond.exceptions import UserError
|
|
from trytond.modules.purchase_trade.purchase import (TRIGGERS)
|
|
from trytond.transaction import Transaction
|
|
|
|
__all__ = ['Party']
|
|
__metaclass__ = PoolMeta
|
|
|
|
class PartyExecution(ModelSQL,ModelView):
|
|
"Party Execution"
|
|
__name__ = 'party.execution'
|
|
|
|
party = fields.Many2One('party.party',"Party")
|
|
area = fields.Many2One('country.region',"Area")
|
|
percent = fields.Numeric("% targeted")
|
|
|
|
class Party(metaclass=PoolMeta):
|
|
__name__ = 'party.party'
|
|
|
|
tol_min = fields.Numeric("Tol - in %")
|
|
tol_max = fields.Numeric("Tol + in %")
|
|
wb = fields.Many2One('purchase.weight.basis',"Weight basis")
|
|
association = fields.Many2One('purchase.association',"Association")
|
|
execution = fields.One2Many('party.execution','party',"")
|
|
|
|
@classmethod
|
|
def getPartyByName(cls, party, category=None):
|
|
party = party.upper()
|
|
p = cls.search([('name', '=', party)], limit=1)
|
|
if p:
|
|
return p[0]
|
|
else:
|
|
p = cls()
|
|
p.name = party
|
|
cls.save([p])
|
|
return p
|
|
|