Replace default_prefix_zip with default_country and no longer use a prefix in zips.

This commit is contained in:
Albert Cervera i Areny 2013-10-17 18:00:18 +02:00
parent 924aa07df1
commit 23d2c5f33c
3 changed files with 25 additions and 21 deletions

View File

@ -18,29 +18,42 @@ class Address:
super(Address, cls).__setup__() super(Address, cls).__setup__()
if cls.zip.on_change is None: if cls.zip.on_change is None:
cls.zip.on_change = [] cls.zip.on_change = []
for field in ('zip', 'city', 'subdivision', 'country'): for field in ('zip', 'country'):
if not field in cls.zip.on_change: if not field in cls.zip.on_change:
cls.zip.on_change.append(field) cls.zip.on_change.append(field)
if cls.country.on_change is None:
cls.country.on_change = []
for field in ('zip', 'country'):
if not field in cls.country.on_change:
cls.country.on_change.append(field)
@staticmethod @staticmethod
def default_zip(): def default_country():
Configuration = Pool().get('party.configuration') Configuration = Pool().get('party.configuration')
config = Configuration(1) config = Configuration(1)
if config.default_prefix_zip: if config.default_country:
return config.default_prefix_zip return config.default_country.id
def on_change_zip(self): def get_subdivision_country(self):
res = {} res = {}
Zip = Pool().get('country.zip') Zip = Pool().get('country.zip')
Subdivision = Pool().get('country.subdivision') Subdivision = Pool().get('country.subdivision')
if self.zip: if self.zip and self.country:
zips = Zip.search([('zip', '=', self.zip)]) zips = Zip.search([
('zip', '=', self.zip),
('subdivision.country', '=', self.country.id),
])
if zips: if zips:
zip_ = zips[0] zip_ = zips[0]
res['city'] = zip_.city res['city'] = zip_.city
if zip_.subdivision: if zip_.subdivision:
res['subdivision'] = zip_.subdivision.id res['subdivision'] = zip_.subdivision.id
res['country'] = (zip_.subdivision.country.id
if zip_.subdivision.country else None)
return res return res
def on_change_zip(self):
return self.get_subdivision_country()
def on_change_country(self):
return self.get_subdivision_country()

View File

@ -10,5 +10,5 @@ __metaclass__ = PoolMeta
class Configuration: class Configuration:
__name__ = 'party.configuration' __name__ = 'party.configuration'
default_prefix_zip = fields.Property( default_country = fields.Property(fields.Many2One('country.country',
fields.Char('Prefix Zip', help='Default prefix country (uppercase).')) 'Default Country'))

View File

@ -7,16 +7,7 @@ The COPYRIGHT file at the top level of this repository contains the full copyrig
<field name="model">party.configuration</field> <field name="model">party.configuration</field>
<field name="type">form</field> <field name="type">form</field>
<field name="inherit" ref="party.party_configuration_view_form"/> <field name="inherit" ref="party.party_configuration_view_form"/>
<field name="arch" type="xml"> <field name="name">party_configuration_form</field>
<![CDATA[
<data>
<xpath expr="/form/field[@name='party_lang']" position="after">
<label name="default_prefix_zip"/>
<field name="default_prefix_zip"/>
</xpath>
</data>
]]>
</field>
</record> </record>
</data> </data>
</tryton> </tryton>