Files
tryton/party.py
T

37 lines
1.2 KiB
Python

# 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 fields
from trytond.pool import PoolMeta
class Party(metaclass=PoolMeta):
__name__ = 'party.party'
es_province_code = fields.Char("Spanish Province Code", size=2,
help="Set 99 for non Spanish parties.")
@fields.depends('addresses', 'es_province_code')
def on_change_addresses(self):
if not self.es_province_code:
for address in self.addresses:
country = getattr(address, 'country', None)
zip_ = getattr(address, 'zip', None)
if country and zip_ and country.code == 'ES':
self.es_province_code = zip_[:2]
break
class Identifier(metaclass=PoolMeta):
__name__ = 'party.identifier'
def es_country(self):
if self.type == 'eu_vat':
return self.code[:2]
if self.type in {'es_cif', 'es_dni', 'es_nie', 'es_nif'}:
return 'ES'
def es_code(self):
if self.type == 'eu_vat':
return self.code[2:]
return self.code