Cambiando city a subdivision_city

This commit is contained in:
monomono 2020-11-14 19:57:10 -05:00
parent f527c562e6
commit acaa159a1b
4 changed files with 34 additions and 43 deletions

View File

@ -11,7 +11,6 @@ def register():
party.PartyIdentifier,
party.Address,
country.Subdivision,
country.City,
module='account_co_co', type_='model')
Pool.register(
module='account_co_co', type_='wizard')

View File

@ -6,7 +6,7 @@ from trytond.pyson import Eval
from trytond.transaction import Transaction
__all__ = ['Subdivision', 'City']
__all__ = ['Subdivision']
@ -17,39 +17,6 @@ class Subdivision(ModelSQL, ModelView):
__metaclass__ = PoolMeta
__name__ = 'country.subdivision'
city = fields.One2Many('country.city', 'subdivision', 'Citys')
dane_code = fields.Char('Codigo Dane',
help="Codigo Dane, usado en Colombia"
)
class City(DeactivableMixin, ModelSQL, ModelView):
"City"
__name__ = 'country.city'
subdivision = fields.Many2One('country.subdivision', 'Subdivision',
required=True, select=True,
help="The suddivision where this City is.")
name = fields.Char('Name', required=True, select=True, translate=True,
help="The main identifier of the City.")
code = fields.Char('Code', required=True, select=True,
help="The ISO code of the City.")
dane_code = fields.Char('Codigo Dane',
help="Codigo Dane, usado en Colombia"
)
@classmethod
def __setup__(cls):
super(City, cls).__setup__()
cls._order.insert(0, ('code', 'ASC'))
@classmethod
def __register__(cls, module_name):
pool = Pool()
Data = pool.get('ir.model.data')
data = Data.__table__()
cursor = Transaction().connection.cursor()
super().__register__(module_name)
cursor.execute(*data.delete(where=(data.module == 'subdivision')
& (data.model == cls.__name__)))

View File

@ -298,11 +298,36 @@ class Address(ModelSQL, ModelView):
__metaclass__ = PoolMeta
__name__ = 'party.address'
citys = fields.Many2One("country.city",
subdivision_city = fields.Many2One("country.subdivision",
'City',
domain=[
('subdivision', '=', Eval('subdivision', 0))],
depends=['subdivision']
)
('country', '=', Eval('country', -1)),
('parent', '=', Eval('subdivision', -1)),
('type', '=', 'city')
],
depends=['country', 'subdivision', 'city'],
)
@fields.depends('subdivision', 'subdivision_city', 'country')
def on_change_country(self):
super(Address, self).on_change_country()
if (self.subdivision_city
and self.subdivision_city.parent != self.subdivision):
self.subdivision_city = None
@fields.depends('subdivision', 'subdivision_city')
def on_change_subdivision(self):
if hasattr(super(Address, self), 'on_change_subdivision'):
super(Address, self).on_change_subdivision()
if (self.subdivision_city
and self.subdivision_city.parent != self.subdivision):
self.subdivision_city = None
@fields.depends('city', 'subdivision_city')
def on_change_subdivision_city(self):
if self.subdivision_city:
self.city = self.subdivision_city.name
else:
self.city = None

View File

@ -3,7 +3,7 @@
<xpath expr="//label[@name='city']" position="replace"></xpath>
<xpath expr="//field[@name='city']" position="replace"></xpath>
<xpath expr="//field[@name='subdivision']" position="after">
<label name="citys"/>
<field name="citys" widget="selection"/>
<label name="subdivision_city"/>
<field name="subdivision_city" widget="selection"/>
</xpath>
</data>