first commit
This commit is contained in:
45
modules/account_es/party.py
Normal file
45
modules/account_es/party.py
Normal file
@@ -0,0 +1,45 @@
|
||||
# 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)
|
||||
postal_code = getattr(address, 'postal_code', None)
|
||||
if country and postal_code and country.code == 'ES':
|
||||
self.es_province_code = postal_code[: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_vat'}:
|
||||
return 'ES'
|
||||
|
||||
def es_code(self):
|
||||
if self.type == 'eu_vat':
|
||||
return self.code[2:]
|
||||
return self.code
|
||||
|
||||
def es_vat_type(self):
|
||||
country = self.es_country()
|
||||
if country == 'ES':
|
||||
return ''
|
||||
type_ = '02'
|
||||
if country is None:
|
||||
type_ = '06'
|
||||
return type_
|
||||
Reference in New Issue
Block a user