From dc396956c569a387a898f14a279a180ab5878d7c Mon Sep 17 00:00:00 2001 From: Benjamin <Benjamin@MBP-de-Benj.(none)> Date: Tue, 30 Oct 2018 17:46:45 +0100 Subject: [PATCH] fix error no result --- models/res_partner.py | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/models/res_partner.py b/models/res_partner.py index 3268f35..41bb440 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -20,8 +20,11 @@ def geo_find(addr): raise UserError(_('Cannot contact geolocation servers. Please make sure that your Internet connection is up and running (%s).') % e) try: - geo = result[0] - return [float(geo['lat']), float(geo['lon'])] + if result: + geo = result[0] + return [float(geo['lat']), float(geo['lon'])] + else: + return None except (KeyError, ValueError): return None @@ -48,21 +51,23 @@ class ResPartner(models.Model): def geo_localize(self): # We need country names in English below for partner in self.with_context(lang='en_US'): - result = geo_find(geo_query_address(street=partner.street, - zip=partner.zip, - city=partner.city, - country=partner.country_id.name)) + if partner.city: + result = geo_find(geo_query_address(street=partner.street, + zip=partner.zip, + city=partner.city, + country=partner.country_id.name)) - if result is None: - result = geo_find(geo_query_address( - city=partner.city, - country=partner.country_id.name - )) + if result is None: + result = geo_find(geo_query_address( + city=partner.city, + country=partner.country_id.name + )) + + if result: + partner.write({ + 'partner_latitude': result[0], + 'partner_longitude': result[1], + 'date_localization': fields.Date.context_today(partner) + }) - if result: - partner.write({ - 'partner_latitude': result[0], - 'partner_longitude': result[1], - 'date_localization': fields.Date.context_today(partner) - }) return True -- GitLab