From 7d968116bd020d0c8729e479d3fbaeb9a2f7ab4b Mon Sep 17 00:00:00 2001 From: Jeremy Kersten Date: Wed, 7 Dec 2016 15:47:46 +0100 Subject: [PATCH] [FIX] base_geolocalize, website_crm_partner_assign: geolocalize fallback on city If the street cannot be localized, we retry with only the city. --- addons/base_geolocalize/models/res_partner.py | 8 ++++++++ addons/website_crm_partner_assign/models/crm_lead.py | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/addons/base_geolocalize/models/res_partner.py b/addons/base_geolocalize/models/res_partner.py index eef2b374975..2cc4ac92ab8 100644 --- a/addons/base_geolocalize/models/res_partner.py +++ b/addons/base_geolocalize/models/res_partner.py @@ -15,6 +15,7 @@ def geo_find(addr): result = json.load(urllib.urlopen(url)) except Exception as e: raise UserError(_('Cannot contact geolocation servers. Please make sure that your Internet connection is up and running (%s).') % e) + if result['status'] != 'OK': return None @@ -52,6 +53,13 @@ class ResPartner(models.Model): city=partner.city, state=partner.state_id.name, country=partner.country_id.name)) + if result is None: + result = geo_find(geo_query_address( + city=partner.city, + state=partner.state_id.name, + country=partner.country_id.name + )) + if result: partner.write({ 'partner_latitude': result[0], diff --git a/addons/website_crm_partner_assign/models/crm_lead.py b/addons/website_crm_partner_assign/models/crm_lead.py index a6302f5008b..3e7651bbb2a 100644 --- a/addons/website_crm_partner_assign/models/crm_lead.py +++ b/addons/website_crm_partner_assign/models/crm_lead.py @@ -93,6 +93,14 @@ class CrmLead(models.Model): city=lead.city, state=lead.state_id.name, country=lead.country_id.name)) + + if result is None: + result = geo_find(geo_query_address( + city=lead.city, + state=lead.state_id.name, + country=lead.country_id.name + )) + if result: lead.write({ 'partner_latitude': result[0],