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