From f03adf965270e50f28c6298f7454076148665418 Mon Sep 17 00:00:00 2001
From: Remi <remi@le-filament.com>
Date: Wed, 30 Jan 2019 10:34:34 +0100
Subject: [PATCH] Add cron for geolocalizing all existing contacts

---
 __manifest__.py       |  1 +
 datas/cron.xml        | 14 ++++++++++++++
 models/res_partner.py |  7 +++++++
 3 files changed, 22 insertions(+)
 create mode 100644 datas/cron.xml

diff --git a/__manifest__.py b/__manifest__.py
index e4ac7d4..7bbad43 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -17,6 +17,7 @@ Get partner coordinate using Nominatim API
     """,
     'depends': ['base'],
     'data': [
+        'datas/cron.xml',
         'views/res_partner.xml',
     ],
     'installable': True,
diff --git a/datas/cron.xml b/datas/cron.xml
new file mode 100644
index 0000000..1236994
--- /dev/null
+++ b/datas/cron.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<odoo>
+    <data noupdate="1">
+        <record id="ir_cron_geolocalize" model="ir.cron">
+            <field name="name">Geolocalize Partners</field>
+            <field name="active" eval="False" />
+            <field name="interval_type">days</field>
+            <field name="numbercall">-1</field>
+            <field name="nextcall" >2018-01-31 02:20:00</field>
+            <field name="model">res.partner</field>
+            <field name="function">_cron_geolocalize</field>
+        </record>
+    </data>
+</odoo>
diff --git a/models/res_partner.py b/models/res_partner.py
index 41bb440..70d9d1b 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -71,3 +71,10 @@ class ResPartner(models.Model):
                     })
 
         return True
+
+    ## CRON de géolocalisation des partner
+    def _cron_geolocalize(self):
+        partners = self.env['res.partner'].search([('partner_latitude','=', False)],)
+        for p in partners:
+            p.geo_localize()
+            time.sleep(1)
-- 
GitLab