summaryrefslogtreecommitdiff
path: root/geoengine_partner/models
diff options
context:
space:
mode:
authorRichard Sassine <richardsassine@tutanota.com>2021-05-31 19:10:48 +0300
committerRichard Sassine <richardsassine@tutanota.com>2021-05-31 19:10:48 +0300
commit9d3eeeb5c7d4055b34bc0768387952850ed78668 (patch)
treeedf436250e939836d16f497b3f1238c890318b18 /geoengine_partner/models
parentad97722b1b35aff50d0adf13a19715f7b8373c07 (diff)
Added external pathing from NOC and traditional coordinates support.
Diffstat (limited to 'geoengine_partner/models')
-rw-r--r--geoengine_partner/models/__init__.py1
-rw-r--r--geoengine_partner/models/__pycache__/__init__.cpython-36.pycbin0 -> 196 bytes
-rw-r--r--geoengine_partner/models/__pycache__/partner.cpython-36.pycbin0 -> 1542 bytes
-rw-r--r--geoengine_partner/models/partner.py42
4 files changed, 43 insertions, 0 deletions
diff --git a/geoengine_partner/models/__init__.py b/geoengine_partner/models/__init__.py
new file mode 100644
index 0000000..4da81fa
--- /dev/null
+++ b/geoengine_partner/models/__init__.py
@@ -0,0 +1 @@
+from . import partner
diff --git a/geoengine_partner/models/__pycache__/__init__.cpython-36.pyc b/geoengine_partner/models/__pycache__/__init__.cpython-36.pyc
new file mode 100644
index 0000000..4fe2e53
--- /dev/null
+++ b/geoengine_partner/models/__pycache__/__init__.cpython-36.pyc
Binary files differ
diff --git a/geoengine_partner/models/__pycache__/partner.cpython-36.pyc b/geoengine_partner/models/__pycache__/partner.cpython-36.pyc
new file mode 100644
index 0000000..553a19f
--- /dev/null
+++ b/geoengine_partner/models/__pycache__/partner.cpython-36.pyc
Binary files differ
diff --git a/geoengine_partner/models/partner.py b/geoengine_partner/models/partner.py
new file mode 100644
index 0000000..fee43c2
--- /dev/null
+++ b/geoengine_partner/models/partner.py
@@ -0,0 +1,42 @@
+# Copyright 2011-2020 Camptocamp SA
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)
+
+from odoo import fields, models, api
+from pyproj import Transformer
+from datetime import datetime
+
+
+class ResPartner(models.Model):
+ """Add geo_point to partner using a function filed"""
+
+ _inherit = "res.partner"
+
+ geo_point = fields.GeoPoint("Geopoint")
+
+ @api.onchange('geo_point')
+ def _onchange_geo_point(self):
+ odoo_proj = 'epsg:3857'
+ gps_proj = 'epsg:4326'
+ transformer = Transformer.from_crs(odoo_proj, gps_proj)
+ gps_point = transformer.transform(
+ self.geo_point.context[0], self.geo_point.context[1])
+ self.partner_longitude = float(gps_point[0])
+ self.partner_latitude = float(gps_point[1])
+ self.date_localization = datetime.today()
+
+ def navigate_from_noc(self):
+ noc_longitude = 34.1244
+ noc_latitude = 35.6666
+ longitude = self.partner_longitude
+ latitude = self.partner_latitude
+ zoom_level = 17
+
+ url = "https://www.openstreetmap.org/directions?engine=" + \
+ f"fossgis_osrm_car&route={noc_longitude}%2C{noc_latitude}" + \
+ f"%3B{longitude}%2C{latitude}"
+ return {
+ 'type': 'ir.actions.act_url',
+ 'name': 'Navigate From NOC',
+ "url" : url,
+ 'target': 'new',
+ }