summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Sassine <richardsassine@tutanota.com>2021-06-02 16:34:47 +0300
committerRichard Sassine <richardsassine@tutanota.com>2021-06-02 16:34:47 +0300
commitbd33e70ebe021bac3e38e10302afb3e71c74151a (patch)
tree3d125ba925866d87a10b001035780669ebef1c14
parent1240f169a3cae7b931b16c7c1f45fe161757acc2 (diff)
added coordinate -> geopoint conversion
-rw-r--r--geoengine_partner/models/__pycache__/partner.cpython-36.pycbin1732 -> 2019 bytes
-rw-r--r--geoengine_partner/models/partner.py30
-rw-r--r--geoengine_partner/views/partner.xml2
3 files changed, 26 insertions, 6 deletions
diff --git a/geoengine_partner/models/__pycache__/partner.cpython-36.pyc b/geoengine_partner/models/__pycache__/partner.cpython-36.pyc
index 5364b33..b83462c 100644
--- a/geoengine_partner/models/__pycache__/partner.cpython-36.pyc
+++ 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
index 5f2151e..415094a 100644
--- a/geoengine_partner/models/partner.py
+++ b/geoengine_partner/models/partner.py
@@ -1,9 +1,10 @@
# 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
+from pyproj import Transformer
+from shapely.geometry import Point
+from odoo import fields, models, api
class ResPartner(models.Model):
@@ -13,10 +14,28 @@ class ResPartner(models.Model):
geo_point = fields.GeoPoint("Geopoint")
- """
- TODO: Implement a call to GeoPoint.from_latlon(...)
@api.onchange('partner_latitude', 'partner_longitude')
- def _onchange_coordinates(self):
+ def _(self):
+ odoo_proj = 'epsg:3857'
+ gps_proj = 'epsg:4326'
+ transformer = Transformer.from_crs(gps_proj, odoo_proj)
+ odoo_coords = transformer.transform(
+ self.partner_longitude,
+ self.partner_latitude
+ )
+
+ if self.partner_longitude and self.partner_latitude:
+ print(vars(self.geo_point))
+ self.geo_point = (
+ '{"type": "Point", "coordinates": [' +
+ f"{odoo_coords[0]},{odoo_coords[1]}" + ']}'
+ )
+ print(vars(self.geo_point))
+ else:
+ return False
+ """
+ TODO: Add a call to redraw the widget on change; Currently you have to
+ cycle between edit and save buttons.
"""
@api.onchange('geo_point')
@@ -26,6 +45,7 @@ class ResPartner(models.Model):
transformer = Transformer.from_crs(odoo_proj, gps_proj)
gps_point = transformer.transform(
self.geo_point.context[0], self.geo_point.context[1])
+ print(vars(self.geo_point))
self.partner_longitude = gps_point[0]
self.partner_latitude = gps_point[1]
self.date_localization = datetime.today()
diff --git a/geoengine_partner/views/partner.xml b/geoengine_partner/views/partner.xml
index 4f66d99..a534e7c 100644
--- a/geoengine_partner/views/partner.xml
+++ b/geoengine_partner/views/partner.xml
@@ -13,7 +13,7 @@
name="navigate_from_noc"
type="object"
colspan = "2"
- icon = "fa-truck"
+ icon = "fa-map"
/>
</span>
</xpath>