summaryrefslogtreecommitdiff
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
parentad97722b1b35aff50d0adf13a19715f7b8373c07 (diff)
Added external pathing from NOC and traditional coordinates support.
-rw-r--r--geoengine_partner/README.rst108
-rw-r--r--geoengine_partner/__init__.py1
-rw-r--r--geoengine_partner/__manifest__.py14
-rw-r--r--geoengine_partner/__pycache__/__init__.cpython-36.pycbin0 -> 188 bytes
-rw-r--r--geoengine_partner/i18n/geoengine_partner.pot35
-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
-rw-r--r--geoengine_partner/readme/CONTRIBUTORS.rst7
-rw-r--r--geoengine_partner/readme/CREDITS.rst1
-rw-r--r--geoengine_partner/readme/DESCRIPTION.rst1
-rw-r--r--geoengine_partner/readme/INSTALL.rst2
-rw-r--r--geoengine_partner/readme/USAGE.rst14
-rw-r--r--geoengine_partner/static/description/icon.pngbin0 -> 130328 bytes
-rw-r--r--geoengine_partner/static/description/index.html452
-rw-r--r--geoengine_partner/views/partner.xml75
17 files changed, 753 insertions, 0 deletions
diff --git a/geoengine_partner/README.rst b/geoengine_partner/README.rst
new file mode 100644
index 0000000..5171e9e
--- /dev/null
+++ b/geoengine_partner/README.rst
@@ -0,0 +1,108 @@
+==============================
+Geospatial support of partners
+==============================
+
+.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! This file is generated by oca-gen-addon-readme !!
+ !! changes will be overwritten. !!
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
+ :target: https://odoo-community.org/page/development-status
+ :alt: Beta
+.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
+ :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
+ :alt: License: AGPL-3
+.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fgeospatial-lightgray.png?logo=github
+ :target: https://github.com/OCA/geospatial/tree/13.0/geoengine_partner
+ :alt: OCA/geospatial
+.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
+ :target: https://translation.odoo-community.org/projects/geospatial-13-0/geospatial-13-0-geoengine_partner
+ :alt: Translate me on Weblate
+.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
+ :target: https://runbot.odoo-community.org/runbot/115/13.0
+ :alt: Try me on Runbot
+
+|badge1| |badge2| |badge3| |badge4| |badge5|
+
+This module allow to geolocalise your partner.
+
+**Table of contents**
+
+.. contents::
+ :local:
+
+Installation
+============
+
+Take a look at the installation section in the description of the module
+'base_geoengine'.
+
+Usage
+=====
+
+To use this module, you need to:
+
+* Open a partner form
+* Go in `Geoengine Map` tab
+* Change to edit mode
+* Click on the map to add a point or update It.
+
+To remove the point click on the trash bin.
+To edit the point drag and drop it.
+
+
+.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
+ :alt: Try me on Runbot
+ :target: https://runbot.odoo-community.org/runbot/115/9.0
+
+Bug Tracker
+===========
+
+Bugs are tracked on `GitHub Issues <https://github.com/OCA/geospatial/issues>`_.
+In case of trouble, please check there if your issue has already been reported.
+If you spotted it first, help us smashing it by providing a detailed and welcomed
+`feedback <https://github.com/OCA/geospatial/issues/new?body=module:%20geoengine_partner%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
+
+Do not contact contributors directly about support or help with technical issues.
+
+Credits
+=======
+
+Authors
+~~~~~~~
+
+* Camptocamp
+
+Contributors
+~~~~~~~~~~~~
+
+* Guewen Baconnier <guewen.baconnier@camptocamp.com>
+* Jordi Riera <jordi.riera@savoirfairelinux.com>
+* Laurent Mignon <laurent.mignon@acsone.eu>
+* Nicolas Bessi <nicolas.bessi@camptocamp.com>
+* Sandy Carter <sandy.carter@savoirfairelinux.com>
+* Yannick Vaucher <yannick.vaucher@camptocamp.com>
+* Pierre Verkest <pverkest@anybox.fr>
+
+Other credits
+~~~~~~~~~~~~~
+
+* Odoo Community Association: `Icon <https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg>`_.
+
+Maintainers
+~~~~~~~~~~~
+
+This module is maintained by the OCA.
+
+.. image:: https://odoo-community.org/logo.png
+ :alt: Odoo Community Association
+ :target: https://odoo-community.org
+
+OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.
+
+This module is part of the `OCA/geospatial <https://github.com/OCA/geospatial/tree/13.0/geoengine_partner>`_ project on GitHub.
+
+You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/geoengine_partner/__init__.py b/geoengine_partner/__init__.py
new file mode 100644
index 0000000..0650744
--- /dev/null
+++ b/geoengine_partner/__init__.py
@@ -0,0 +1 @@
+from . import models
diff --git a/geoengine_partner/__manifest__.py b/geoengine_partner/__manifest__.py
new file mode 100644
index 0000000..eadc135
--- /dev/null
+++ b/geoengine_partner/__manifest__.py
@@ -0,0 +1,14 @@
+# Copyright 2011-2020 Camptocamp SA
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)
+{
+ "name": "Geospatial support of partners",
+ "version": "13.0.1.0.0",
+ "category": "GeoBI",
+ "author": "Camptocamp, Odoo Community Association (OCA)",
+ "license": "AGPL-3",
+ "website": "https://github.com/OCA/geospatial",
+ "depends": ["base", "base_geoengine", "base_geolocalize"],
+ "data": ["views/partner.xml"],
+ "installable": True,
+ "application": True,
+}
diff --git a/geoengine_partner/__pycache__/__init__.cpython-36.pyc b/geoengine_partner/__pycache__/__init__.cpython-36.pyc
new file mode 100644
index 0000000..2c8c710
--- /dev/null
+++ b/geoengine_partner/__pycache__/__init__.cpython-36.pyc
Binary files differ
diff --git a/geoengine_partner/i18n/geoengine_partner.pot b/geoengine_partner/i18n/geoengine_partner.pot
new file mode 100644
index 0000000..875c82b
--- /dev/null
+++ b/geoengine_partner/i18n/geoengine_partner.pot
@@ -0,0 +1,35 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * geoengine_partner
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 13.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: geoengine_partner
+#: model:ir.model.fields,field_description:geoengine_partner.field_res_partner__geo_point
+#: model:ir.model.fields,field_description:geoengine_partner.field_res_users__geo_point
+msgid "Address coordinates"
+msgstr ""
+
+#. module: geoengine_partner
+#: model:ir.model,name:geoengine_partner.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: geoengine_partner
+#: model:geoengine.raster.layer,name:geoengine_partner.geoengine_raster_layer_res_partner_osm
+msgid "Partner background"
+msgstr ""
+
+#. module: geoengine_partner
+#: model:geoengine.vector.layer,name:geoengine_partner.geoengine_vector_layer_res_partner
+msgid "Partner location"
+msgstr ""
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',
+ }
diff --git a/geoengine_partner/readme/CONTRIBUTORS.rst b/geoengine_partner/readme/CONTRIBUTORS.rst
new file mode 100644
index 0000000..7c53528
--- /dev/null
+++ b/geoengine_partner/readme/CONTRIBUTORS.rst
@@ -0,0 +1,7 @@
+* Guewen Baconnier <guewen.baconnier@camptocamp.com>
+* Jordi Riera <jordi.riera@savoirfairelinux.com>
+* Laurent Mignon <laurent.mignon@acsone.eu>
+* Nicolas Bessi <nicolas.bessi@camptocamp.com>
+* Sandy Carter <sandy.carter@savoirfairelinux.com>
+* Yannick Vaucher <yannick.vaucher@camptocamp.com>
+* Pierre Verkest <pverkest@anybox.fr>
diff --git a/geoengine_partner/readme/CREDITS.rst b/geoengine_partner/readme/CREDITS.rst
new file mode 100644
index 0000000..cc056a8
--- /dev/null
+++ b/geoengine_partner/readme/CREDITS.rst
@@ -0,0 +1 @@
+* Odoo Community Association: `Icon <https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg>`_.
diff --git a/geoengine_partner/readme/DESCRIPTION.rst b/geoengine_partner/readme/DESCRIPTION.rst
new file mode 100644
index 0000000..2da9286
--- /dev/null
+++ b/geoengine_partner/readme/DESCRIPTION.rst
@@ -0,0 +1 @@
+This module allow to geolocalise your partner.
diff --git a/geoengine_partner/readme/INSTALL.rst b/geoengine_partner/readme/INSTALL.rst
new file mode 100644
index 0000000..c9da3e4
--- /dev/null
+++ b/geoengine_partner/readme/INSTALL.rst
@@ -0,0 +1,2 @@
+Take a look at the installation section in the description of the module
+'base_geoengine'.
diff --git a/geoengine_partner/readme/USAGE.rst b/geoengine_partner/readme/USAGE.rst
new file mode 100644
index 0000000..e2cc2ff
--- /dev/null
+++ b/geoengine_partner/readme/USAGE.rst
@@ -0,0 +1,14 @@
+To use this module, you need to:
+
+* Open a partner form
+* Go in `Geoengine Map` tab
+* Change to edit mode
+* Click on the map to add a point or update It.
+
+To remove the point click on the trash bin.
+To edit the point drag and drop it.
+
+
+.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
+ :alt: Try me on Runbot
+ :target: https://runbot.odoo-community.org/runbot/115/9.0
diff --git a/geoengine_partner/static/description/icon.png b/geoengine_partner/static/description/icon.png
new file mode 100644
index 0000000..b698310
--- /dev/null
+++ b/geoengine_partner/static/description/icon.png
Binary files differ
diff --git a/geoengine_partner/static/description/index.html b/geoengine_partner/static/description/index.html
new file mode 100644
index 0000000..0913c80
--- /dev/null
+++ b/geoengine_partner/static/description/index.html
@@ -0,0 +1,452 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="generator" content="Docutils 0.15.1: http://docutils.sourceforge.net/" />
+<title>Geospatial support of partners</title>
+<style type="text/css">
+
+/*
+:Author: David Goodger (goodger@python.org)
+:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $
+:Copyright: This stylesheet has been placed in the public domain.
+
+Default cascading style sheet for the HTML output of Docutils.
+
+See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
+customize this style sheet.
+*/
+
+/* used to remove borders from tables and images */
+.borderless, table.borderless td, table.borderless th {
+ border: 0 }
+
+table.borderless td, table.borderless th {
+ /* Override padding for "table.docutils td" with "! important".
+ The right padding separates the table cells. */
+ padding: 0 0.5em 0 0 ! important }
+
+.first {
+ /* Override more specific margin styles with "! important". */
+ margin-top: 0 ! important }
+
+.last, .with-subtitle {
+ margin-bottom: 0 ! important }
+
+.hidden {
+ display: none }
+
+.subscript {
+ vertical-align: sub;
+ font-size: smaller }
+
+.superscript {
+ vertical-align: super;
+ font-size: smaller }
+
+a.toc-backref {
+ text-decoration: none ;
+ color: black }
+
+blockquote.epigraph {
+ margin: 2em 5em ; }
+
+dl.docutils dd {
+ margin-bottom: 0.5em }
+
+object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
+ overflow: hidden;
+}
+
+/* Uncomment (and remove this text!) to get bold-faced definition list terms
+dl.docutils dt {
+ font-weight: bold }
+*/
+
+div.abstract {
+ margin: 2em 5em }
+
+div.abstract p.topic-title {
+ font-weight: bold ;
+ text-align: center }
+
+div.admonition, div.attention, div.caution, div.danger, div.error,
+div.hint, div.important, div.note, div.tip, div.warning {
+ margin: 2em ;
+ border: medium outset ;
+ padding: 1em }
+
+div.admonition p.admonition-title, div.hint p.admonition-title,
+div.important p.admonition-title, div.note p.admonition-title,
+div.tip p.admonition-title {
+ font-weight: bold ;
+ font-family: sans-serif }
+
+div.attention p.admonition-title, div.caution p.admonition-title,
+div.danger p.admonition-title, div.error p.admonition-title,
+div.warning p.admonition-title, .code .error {
+ color: red ;
+ font-weight: bold ;
+ font-family: sans-serif }
+
+/* Uncomment (and remove this text!) to get reduced vertical space in
+ compound paragraphs.
+div.compound .compound-first, div.compound .compound-middle {
+ margin-bottom: 0.5em }
+
+div.compound .compound-last, div.compound .compound-middle {
+ margin-top: 0.5em }
+*/
+
+div.dedication {
+ margin: 2em 5em ;
+ text-align: center ;
+ font-style: italic }
+
+div.dedication p.topic-title {
+ font-weight: bold ;
+ font-style: normal }
+
+div.figure {
+ margin-left: 2em ;
+ margin-right: 2em }
+
+div.footer, div.header {
+ clear: both;
+ font-size: smaller }
+
+div.line-block {
+ display: block ;
+ margin-top: 1em ;
+ margin-bottom: 1em }
+
+div.line-block div.line-block {
+ margin-top: 0 ;
+ margin-bottom: 0 ;
+ margin-left: 1.5em }
+
+div.sidebar {
+ margin: 0 0 0.5em 1em ;
+ border: medium outset ;
+ padding: 1em ;
+ background-color: #ffffee ;
+ width: 40% ;
+ float: right ;
+ clear: right }
+
+div.sidebar p.rubric {
+ font-family: sans-serif ;
+ font-size: medium }
+
+div.system-messages {
+ margin: 5em }
+
+div.system-messages h1 {
+ color: red }
+
+div.system-message {
+ border: medium outset ;
+ padding: 1em }
+
+div.system-message p.system-message-title {
+ color: red ;
+ font-weight: bold }
+
+div.topic {
+ margin: 2em }
+
+h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
+h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
+ margin-top: 0.4em }
+
+h1.title {
+ text-align: center }
+
+h2.subtitle {
+ text-align: center }
+
+hr.docutils {
+ width: 75% }
+
+img.align-left, .figure.align-left, object.align-left, table.align-left {
+ clear: left ;
+ float: left ;
+ margin-right: 1em }
+
+img.align-right, .figure.align-right, object.align-right, table.align-right {
+ clear: right ;
+ float: right ;
+ margin-left: 1em }
+
+img.align-center, .figure.align-center, object.align-center {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+table.align-center {
+ margin-left: auto;
+ margin-right: auto;
+}
+
+.align-left {
+ text-align: left }
+
+.align-center {
+ clear: both ;
+ text-align: center }
+
+.align-right {
+ text-align: right }
+
+/* reset inner alignment in figures */
+div.align-right {
+ text-align: inherit }
+
+/* div.align-center * { */
+/* text-align: left } */
+
+.align-top {
+ vertical-align: top }
+
+.align-middle {
+ vertical-align: middle }
+
+.align-bottom {
+ vertical-align: bottom }
+
+ol.simple, ul.simple {
+ margin-bottom: 1em }
+
+ol.arabic {
+ list-style: decimal }
+
+ol.loweralpha {
+ list-style: lower-alpha }
+
+ol.upperalpha {
+ list-style: upper-alpha }
+
+ol.lowerroman {
+ list-style: lower-roman }
+
+ol.upperroman {
+ list-style: upper-roman }
+
+p.attribution {
+ text-align: right ;
+ margin-left: 50% }
+
+p.caption {
+ font-style: italic }
+
+p.credits {
+ font-style: italic ;
+ font-size: smaller }
+
+p.label {
+ white-space: nowrap }
+
+p.rubric {
+ font-weight: bold ;
+ font-size: larger ;
+ color: maroon ;
+ text-align: center }
+
+p.sidebar-title {
+ font-family: sans-serif ;
+ font-weight: bold ;
+ font-size: larger }
+
+p.sidebar-subtitle {
+ font-family: sans-serif ;
+ font-weight: bold }
+
+p.topic-title {
+ font-weight: bold }
+
+pre.address {
+ margin-bottom: 0 ;
+ margin-top: 0 ;
+ font: inherit }
+
+pre.literal-block, pre.doctest-block, pre.math, pre.code {
+ margin-left: 2em ;
+ margin-right: 2em }
+
+pre.code .ln { color: grey; } /* line numbers */
+pre.code, code { background-color: #eeeeee }
+pre.code .comment, code .comment { color: #5C6576 }
+pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
+pre.code .literal.string, code .literal.string { color: #0C5404 }
+pre.code .name.builtin, code .name.builtin { color: #352B84 }
+pre.code .deleted, code .deleted { background-color: #DEB0A1}
+pre.code .inserted, code .inserted { background-color: #A3D289}
+
+span.classifier {
+ font-family: sans-serif ;
+ font-style: oblique }
+
+span.classifier-delimiter {
+ font-family: sans-serif ;
+ font-weight: bold }
+
+span.interpreted {
+ font-family: sans-serif }
+
+span.option {
+ white-space: nowrap }
+
+span.pre {
+ white-space: pre }
+
+span.problematic {
+ color: red }
+
+span.section-subtitle {
+ /* font-size relative to parent (h1..h6 element) */
+ font-size: 80% }
+
+table.citation {
+ border-left: solid 1px gray;
+ margin-left: 1px }
+
+table.docinfo {
+ margin: 2em 4em }
+
+table.docutils {
+ margin-top: 0.5em ;
+ margin-bottom: 0.5em }
+
+table.footnote {
+ border-left: solid 1px black;
+ margin-left: 1px }
+
+table.docutils td, table.docutils th,
+table.docinfo td, table.docinfo th {
+ padding-left: 0.5em ;
+ padding-right: 0.5em ;
+ vertical-align: top }
+
+table.docutils th.field-name, table.docinfo th.docinfo-name {
+ font-weight: bold ;
+ text-align: left ;
+ white-space: nowrap ;
+ padding-left: 0 }
+
+/* "booktabs" style (no vertical lines) */
+table.docutils.booktabs {
+ border: 0px;
+ border-top: 2px solid;
+ border-bottom: 2px solid;
+ border-collapse: collapse;
+}
+table.docutils.booktabs * {
+ border: 0px;
+}
+table.docutils.booktabs th {
+ border-bottom: thin solid;
+ text-align: left;
+}
+
+h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
+h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
+ font-size: 100% }
+
+ul.auto-toc {
+ list-style-type: none }
+
+</style>
+</head>
+<body>
+<div class="document" id="geospatial-support-of-partners">
+<h1 class="title">Geospatial support of partners</h1>
+
+<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!! This file is generated by oca-gen-addon-readme !!
+!! changes will be overwritten. !!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
+<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/geospatial/tree/13.0/geoengine_partner"><img alt="OCA/geospatial" src="https://img.shields.io/badge/github-OCA%2Fgeospatial-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/geospatial-13-0/geospatial-13-0-geoengine_partner"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/115/13.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
+<p>This module allow to geolocalise your partner.</p>
+<p><strong>Table of contents</strong></p>
+<div class="contents local topic" id="contents">
+<ul class="simple">
+<li><a class="reference internal" href="#installation" id="id1">Installation</a></li>
+<li><a class="reference internal" href="#usage" id="id2">Usage</a></li>
+<li><a class="reference internal" href="#bug-tracker" id="id3">Bug Tracker</a></li>
+<li><a class="reference internal" href="#credits" id="id4">Credits</a><ul>
+<li><a class="reference internal" href="#authors" id="id5">Authors</a></li>
+<li><a class="reference internal" href="#contributors" id="id6">Contributors</a></li>
+<li><a class="reference internal" href="#other-credits" id="id7">Other credits</a></li>
+<li><a class="reference internal" href="#maintainers" id="id8">Maintainers</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="section" id="installation">
+<h1><a class="toc-backref" href="#id1">Installation</a></h1>
+<p>Take a look at the installation section in the description of the module
+‘base_geoengine’.</p>
+</div>
+<div class="section" id="usage">
+<h1><a class="toc-backref" href="#id2">Usage</a></h1>
+<p>To use this module, you need to:</p>
+<ul class="simple">
+<li>Open a partner form</li>
+<li>Go in <cite>Geoengine Map</cite> tab</li>
+<li>Change to edit mode</li>
+<li>Click on the map to add a point or update It.</li>
+</ul>
+<p>To remove the point click on the trash bin.
+To edit the point drag and drop it.</p>
+<a class="reference external image-reference" href="https://runbot.odoo-community.org/runbot/115/9.0"><img alt="Try me on Runbot" src="https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas" /></a>
+</div>
+<div class="section" id="bug-tracker">
+<h1><a class="toc-backref" href="#id3">Bug Tracker</a></h1>
+<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/geospatial/issues">GitHub Issues</a>.
+In case of trouble, please check there if your issue has already been reported.
+If you spotted it first, help us smashing it by providing a detailed and welcomed
+<a class="reference external" href="https://github.com/OCA/geospatial/issues/new?body=module:%20geoengine_partner%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
+<p>Do not contact contributors directly about support or help with technical issues.</p>
+</div>
+<div class="section" id="credits">
+<h1><a class="toc-backref" href="#id4">Credits</a></h1>
+<div class="section" id="authors">
+<h2><a class="toc-backref" href="#id5">Authors</a></h2>
+<ul class="simple">
+<li>Camptocamp</li>
+</ul>
+</div>
+<div class="section" id="contributors">
+<h2><a class="toc-backref" href="#id6">Contributors</a></h2>
+<ul class="simple">
+<li>Guewen Baconnier &lt;<a class="reference external" href="mailto:guewen.baconnier&#64;camptocamp.com">guewen.baconnier&#64;camptocamp.com</a>&gt;</li>
+<li>Jordi Riera &lt;<a class="reference external" href="mailto:jordi.riera&#64;savoirfairelinux.com">jordi.riera&#64;savoirfairelinux.com</a>&gt;</li>
+<li>Laurent Mignon &lt;<a class="reference external" href="mailto:laurent.mignon&#64;acsone.eu">laurent.mignon&#64;acsone.eu</a>&gt;</li>
+<li>Nicolas Bessi &lt;<a class="reference external" href="mailto:nicolas.bessi&#64;camptocamp.com">nicolas.bessi&#64;camptocamp.com</a>&gt;</li>
+<li>Sandy Carter &lt;<a class="reference external" href="mailto:sandy.carter&#64;savoirfairelinux.com">sandy.carter&#64;savoirfairelinux.com</a>&gt;</li>
+<li>Yannick Vaucher &lt;<a class="reference external" href="mailto:yannick.vaucher&#64;camptocamp.com">yannick.vaucher&#64;camptocamp.com</a>&gt;</li>
+<li>Pierre Verkest &lt;<a class="reference external" href="mailto:pverkest&#64;anybox.fr">pverkest&#64;anybox.fr</a>&gt;</li>
+</ul>
+</div>
+<div class="section" id="other-credits">
+<h2><a class="toc-backref" href="#id7">Other credits</a></h2>
+<ul class="simple">
+<li>Odoo Community Association: <a class="reference external" href="https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg">Icon</a>.</li>
+</ul>
+</div>
+<div class="section" id="maintainers">
+<h2><a class="toc-backref" href="#id8">Maintainers</a></h2>
+<p>This module is maintained by the OCA.</p>
+<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
+<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.</p>
+<p>This module is part of the <a class="reference external" href="https://github.com/OCA/geospatial/tree/13.0/geoengine_partner">OCA/geospatial</a> project on GitHub.</p>
+<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/geoengine_partner/views/partner.xml b/geoengine_partner/views/partner.xml
new file mode 100644
index 0000000..4f66d99
--- /dev/null
+++ b/geoengine_partner/views/partner.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<odoo>
+ <record model="ir.ui.view" id="geo_partner_view_form">
+ <field name="name">geo_partner_form</field>
+ <field name="model">res.partner</field>
+ <field name="inherit_id" ref="base_geolocalize.view_crm_partner_geo_form"/>
+ <field name="arch" type="xml">
+ <xpath expr="//page[@name='geo_location']//group//button[@name='geo_localize']" position="before">
+ <span>
+ <xpath expr="//page[@name='geo_location']//group//button[@name='geo_localize']" position="move"/>
+ <button
+ string="Navigate from NOC"
+ name="navigate_from_noc"
+ type="object"
+ colspan = "2"
+ icon = "fa-truck"
+ />
+ </span>
+ </xpath>
+ <xpath expr="//page[@name='geo_location']//group" position="after">
+ <group>
+ <field
+ name="geo_point"
+ widget="geo_edit_map"
+ groups="base_geoengine.group_geoengine_user,base_geoengine.group_geoengine_admin"
+ />
+ </group>
+ </xpath>
+ </field>
+ </record>
+
+ <record id="ir_ui_view_geo_partner" model="ir.ui.view">
+ <field name="name">Partner view</field>
+ <field name="arch" type="xml">
+ <geoengine>
+ <field name="name" select="1" />
+ <field name="title" />
+ <field name="function" />
+ <field name="website" />
+ <field name="zip" />
+ <field name="city" />
+ <field name="country_id" />
+ </geoengine>
+ </field>
+ <field eval="16" name="priority" />
+ <field name="model">res.partner</field>
+ </record>
+
+ <record id="action_partner_form_view3" model="ir.actions.act_window.view">
+ <field eval="20" name="sequence" />
+ <field name="view_mode">geoengine</field>
+ <field name="view_id" ref="ir_ui_view_geo_partner" />
+ <field name="act_window_id" ref="base.action_partner_form" />
+ </record>
+
+ <record id="geoengine_vector_layer_res_partner" model="geoengine.vector.layer">
+ <field
+ name="geo_field_id"
+ ref="geoengine_partner.field_res_partner__geo_point"
+ />
+ <field name="name">Partner location</field>
+ <field eval="6" name="sequence" />
+ <field name="view_id" ref="ir_ui_view_geo_partner" />
+ <field name="geo_repr">basic</field>
+ <field eval="1" name="nb_class" />
+ <field name="begin_color">#FF0000</field>
+ </record>
+ <record id="geoengine_raster_layer_res_partner_osm" model="geoengine.raster.layer">
+ <field name="raster_type">osm</field>
+ <field name="name">Partner background</field>
+ <field name="view_id" ref="ir_ui_view_geo_partner" />
+ <field eval="0" name="overlay" />
+ </record>
+
+</odoo>