From ec5d696cf7edb904bbad610b974ce7347daa9ef9 Mon Sep 17 00:00:00 2001 From: Martin Trigaux Date: Tue, 3 Jan 2017 14:47:50 +0100 Subject: [PATCH] [FIX] base: revert and improve 24aba601 It forced to select a coutnry before the state which is not very userfriendly. Cf comments at #13657 Instead restrict only if the country if a country is selected. Courtesy of Pedro M. Baeza, Tecnativa For v10 this is a minimum change and a larger refactoring can be done in master. This replaces and closes #14896 --- odoo/addons/base/res/res_partner.py | 7 +++++++ odoo/addons/base/res/res_partner_view.xml | 8 ++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/odoo/addons/base/res/res_partner.py b/odoo/addons/base/res/res_partner.py index 04da7a94042..597e8cff2ba 100644 --- a/odoo/addons/base/res/res_partner.py +++ b/odoo/addons/base/res/res_partner.py @@ -350,6 +350,13 @@ class Partner(models.Model, FormatAddress): result['value'] = {key: convert(self.parent_id[key]) for key in address_fields} return result + @api.onchange('country_id') + def _onchange_country_id(self): + if self.country_id: + return {'domain': {'state_id': [('country_id', '=', self.country_id.id)]}} + else: + return {'domain': {'state_id': []}} + @api.onchange('email') def onchange_email(self): if not self.image and not self._context.get('yaml_onchange') and self.email: diff --git a/odoo/addons/base/res/res_partner_view.xml b/odoo/addons/base/res/res_partner_view.xml index 03caeffae68..92d4c41db55 100644 --- a/odoo/addons/base/res/res_partner_view.xml +++ b/odoo/addons/base/res/res_partner_view.xml @@ -110,9 +110,7 @@ - + @@ -175,9 +173,7 @@ + attrs="{'readonly': [('type', '=', 'contact'),('parent_id', '!=', False)]}" context="{'country_id': country_id, 'zip': zip}"/>