From 685fb894f73584e4eaeb6393da6ddef85fd58513 Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Sat, 28 Jan 2012 01:00:40 +0100 Subject: [PATCH 01/46] [ADD] Beta support of geonames geoencoding --- geoengine_partner/__init__.py | 6 +++ geoengine_partner/__openerp__.py | 19 +++++++ geoengine_partner/geo_partner.py | 16 ++++++ geoengine_partner/geo_partner_view.xml | 72 ++++++++++++++++++++++++++ 4 files changed, 113 insertions(+) create mode 100644 geoengine_partner/__init__.py create mode 100644 geoengine_partner/__openerp__.py create mode 100644 geoengine_partner/geo_partner.py create mode 100644 geoengine_partner/geo_partner_view.xml diff --git a/geoengine_partner/__init__.py b/geoengine_partner/__init__.py new file mode 100644 index 000000000..d5e1a2b25 --- /dev/null +++ b/geoengine_partner/__init__.py @@ -0,0 +1,6 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# Author Nicolas Bessi. Copyright Camptocamp SA +############################################################################## +from . import geo_partner \ No newline at end of file diff --git a/geoengine_partner/__openerp__.py b/geoengine_partner/__openerp__.py new file mode 100644 index 000000000..56819a2b7 --- /dev/null +++ b/geoengine_partner/__openerp__.py @@ -0,0 +1,19 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# Author Nicolas Bessi. Copyright Camptocamp SA +############################################################################## +{'name': 'Geospatial support of partners', + 'version': '0.1', + 'category': 'GeoBI', + 'description': """Add geo_point on partner and addresses + point on partner is function field that return geo point of + """, + 'update_xml': ['geo_partner_view.xml'], + 'author': 'Camptocamp', + 'website': 'http://openerp.camptocamp.com', + 'depends': ['base', 'base_geoengine'], + 'installable': True, + 'active': False, +} +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/geoengine_partner/geo_partner.py b/geoengine_partner/geo_partner.py new file mode 100644 index 000000000..70ed6621e --- /dev/null +++ b/geoengine_partner/geo_partner.py @@ -0,0 +1,16 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# Author Nicolas Bessi. Copyright Camptocamp SA +############################################################################## + +from osv import fields, osv + +from base_geoengine import geo_model + +class ResPartnerAddress(geo_model.GeoModel): + """GEO OSV SAMPLE""" + _name = "res.partner.address" + _inherit = "res.partner.address" + _columns = {'geo_point' : fields.geo_point('Coordinate')} +ResPartnerAddress() diff --git a/geoengine_partner/geo_partner_view.xml b/geoengine_partner/geo_partner_view.xml new file mode 100644 index 000000000..fbd5a7f02 --- /dev/null +++ b/geoengine_partner/geo_partner_view.xml @@ -0,0 +1,72 @@ + + + + + tree,form,geoengine,kanban + + + + geo_partner_addressform + res.partner.address + form + + + + + + + + + + + + Address view + + + +]]> + + geoengine + res.partner.address + + + + + Partner location + + + basic + + #FF680A + iVBORw0KGgoAAAANSUhEUgAAACAAAAAfCAYAAACGVs+MAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ + bWFnZVJlYWR5ccllPAAAA3VJREFUeNq8V89rE0EUfjOz6aZNpFZpqyCEIooHoVaoQkGoB3vyJB49 + iYieFERBEMRbxYP/gFcv3ntQLHqwqNR6LNUqIq0/m8S2u0l3NzszfpNsqN0e3MiuA4/Jmx3e++Z7 + 3/wI01pTkvZicF+zzwvR1c35efRX0B/K7SgScUHScVZ8KR96St31pPyuEHfk6+e/xrUoYWMwQM3D + 7gvOL9lIYA8MkD1+gli+hxozM/3qw8erHtEYpp7D/MUkcXlSAFiZUEQXEfgSiwCJvp0kDh8mcWSY + 2J49xBkzAY8B5KSvdTFVAKHWJan1dVMwQy/AkCyXKZydo8bLVySXl0kqZVgizDvT0Ho0SdzEJUDA + CaH1XgQ3YCjgnESlSmp6uqmBsFajoDWPmnOUOgX3WXoAlBoFxSLAKgWoZjDDhLXuNMsRwg/gQ4Bm + rvldSpUBrPoXR3CvLUgka4AFi7eqqExijPlmjmFISi9VDaA9xqoCiJHqSGKsBnPDkGowNxrbiL77 + Sr1JlQG017DnCDzR1oFol6MlvKYZFlCCCsT4JG0A67CbsGEkHzSK520KAcIkp2h3oN2CfUy7BKa9 + hZ2FzWnPo7BepwB9gF7ClKYKvl2GPUgaMDEDGtusfSrr0J+g42PXVLF4Uy8vM76rj6hQmKKn0zeY + EPOdrCgxAOvk+KazsVGlC+cf2fv3X+sOQ9uT5gDSU9q25ynh3dIxgO47t/+4GBhpxwn3Fgu6NFSi + paUv5Ky7gXVvcvPWSBsAd92tJdF6FQeRr0KZ1+YI1mpNrq5Rpy2xCBnjcYPgWOWP6/wH/UNLzEBX + Vy7OQIBKrEbpfVglUwCFnp44AI0jyI3KXYfb0B0KsLNtGBNW02fUFsaGuS4yZcDUPQZJY+xnpHgH + FmQKgHMWS48xRu1H3zdThmwBxBgwJcBYNXLL5tWWMQM8LkJinDuR62ZeAhYrQVODnK1H0jQXhcwU + gBBia35cfWClbJDgeeaADcPIfwTA8SARAKCb5Slb+M6zBLBNA62dYYSn8UdlNWdZ2QLo6+vdNibx + LAIQF+z4tp3ftlVTBVBZqcZPJurv3x16nv+jt7fXd/FgaYQNar0QMwDw6dPSFt+svVqt+iMjw3Jh + 4X24Ui2Tldt6YR06eCDFF5Flxc+B00g8/G5xYVYF6ui+odIOzHmI8Y62428BBgDwu9RGZbaLEwAA + AABJRU5ErkJggg== + + + + google + G_HYBRID_MAP + Addresses background + + + + + From 1802a199e396a64fddb88a4e24af5997ec9b1257 Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Thu, 2 Feb 2012 00:21:41 +0100 Subject: [PATCH 02/46] [ADD] geoname bulk wizzard + small fixes --- geoengine_partner/geo_partner_view.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/geoengine_partner/geo_partner_view.xml b/geoengine_partner/geo_partner_view.xml index fbd5a7f02..371cb0b39 100644 --- a/geoengine_partner/geo_partner_view.xml +++ b/geoengine_partner/geo_partner_view.xml @@ -26,6 +26,8 @@
+ + ]]> geoengine From 2df31ca6653c6d7112e7d75db281d393d03017ec Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Thu, 2 Feb 2012 19:59:29 +0100 Subject: [PATCH 03/46] [IMP] added geo_point function fields to partner --- geoengine_partner/geo_partner.py | 32 +++++++++- geoengine_partner/geo_partner_view.xml | 85 ++++++++++++++++++++++++-- 2 files changed, 110 insertions(+), 7 deletions(-) diff --git a/geoengine_partner/geo_partner.py b/geoengine_partner/geo_partner.py index 70ed6621e..a6278ca73 100644 --- a/geoengine_partner/geo_partner.py +++ b/geoengine_partner/geo_partner.py @@ -9,8 +9,36 @@ from base_geoengine import geo_model class ResPartnerAddress(geo_model.GeoModel): - """GEO OSV SAMPLE""" + """Add geo_point to addresses""" _name = "res.partner.address" _inherit = "res.partner.address" - _columns = {'geo_point' : fields.geo_point('Coordinate')} + _columns = {'geo_point' : fields.geo_point('Addresses coordinate')} ResPartnerAddress() + +class ResPartner(geo_model.GeoModel): + """Add geo_point to partner using a function filed""" + _name = "res.partner" + _inherit = "res.partner" + + def _get_point(self, cursor, uid, partner_ids, name, args, context=None): + """ Return Json repr of field""" + res = {} + add_obj = self.pool.get('res.partner.address') + context = context or {} + if not isinstance(partner_ids, list): + partner_ids = [partner_ids] + for partner_id in partner_ids: + add = self.address_get(cursor, uid, [partner_id], adr_pref=['invoice']) + if add.get('invoice'): + res[partner_id] = add_obj.browse(cursor, uid, add.get('invoice'), context).geo_point + else: + res[partner_id] = False + return res + + _columns = {'geo_point' : fields.geo_function(_get_point, + string='Partner coordinates', + type='geo_point', + srid=900913, # optional arg + dim=2)} # optional arg +ResPartner() + diff --git a/geoengine_partner/geo_partner_view.xml b/geoengine_partner/geo_partner_view.xml index 371cb0b39..465c59e70 100644 --- a/geoengine_partner/geo_partner_view.xml +++ b/geoengine_partner/geo_partner_view.xml @@ -1,6 +1,7 @@ + tree,form,geoengine,kanban @@ -12,7 +13,6 @@ - @@ -20,7 +20,7 @@ - + Address view @@ -37,9 +37,9 @@ - Partner location + Address location - + basic #FF680A @@ -67,8 +67,83 @@ google G_HYBRID_MAP Addresses background - + + + + + + geo_partner_form + res.partner + form + + + + + + + + + + + Partner view + + + + + +]]> + + geoengine + res.partner + + + + + geoengine + + + + + + + Partner location + + + basic + + #FF680A + iVBORw0KGgoAAAANSUhEUgAAACAAAAAfCAYAAACGVs+MAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ + bWFnZVJlYWR5ccllPAAAA3VJREFUeNq8V89rE0EUfjOz6aZNpFZpqyCEIooHoVaoQkGoB3vyJB49 + iYieFERBEMRbxYP/gFcv3ntQLHqwqNR6LNUqIq0/m8S2u0l3NzszfpNsqN0e3MiuA4/Jmx3e++Z7 + 3/wI01pTkvZicF+zzwvR1c35efRX0B/K7SgScUHScVZ8KR96St31pPyuEHfk6+e/xrUoYWMwQM3D + 7gvOL9lIYA8MkD1+gli+hxozM/3qw8erHtEYpp7D/MUkcXlSAFiZUEQXEfgSiwCJvp0kDh8mcWSY + 2J49xBkzAY8B5KSvdTFVAKHWJan1dVMwQy/AkCyXKZydo8bLVySXl0kqZVgizDvT0Ho0SdzEJUDA + CaH1XgQ3YCjgnESlSmp6uqmBsFajoDWPmnOUOgX3WXoAlBoFxSLAKgWoZjDDhLXuNMsRwg/gQ4Bm + rvldSpUBrPoXR3CvLUgka4AFi7eqqExijPlmjmFISi9VDaA9xqoCiJHqSGKsBnPDkGowNxrbiL77 + Sr1JlQG017DnCDzR1oFol6MlvKYZFlCCCsT4JG0A67CbsGEkHzSK520KAcIkp2h3oN2CfUy7BKa9 + hZ2FzWnPo7BepwB9gF7ClKYKvl2GPUgaMDEDGtusfSrr0J+g42PXVLF4Uy8vM76rj6hQmKKn0zeY + EPOdrCgxAOvk+KazsVGlC+cf2fv3X+sOQ9uT5gDSU9q25ynh3dIxgO47t/+4GBhpxwn3Fgu6NFSi + paUv5Ky7gXVvcvPWSBsAd92tJdF6FQeRr0KZ1+YI1mpNrq5Rpy2xCBnjcYPgWOWP6/wH/UNLzEBX + Vy7OQIBKrEbpfVglUwCFnp44AI0jyI3KXYfb0B0KsLNtGBNW02fUFsaGuS4yZcDUPQZJY+xnpHgH + FmQKgHMWS48xRu1H3zdThmwBxBgwJcBYNXLL5tWWMQM8LkJinDuR62ZeAhYrQVODnK1H0jQXhcwU + gBBia35cfWClbJDgeeaADcPIfwTA8SARAKCb5Slb+M6zBLBNA62dYYSn8UdlNWdZ2QLo6+vdNibx + LAIQF+z4tp3ftlVTBVBZqcZPJurv3x16nv+jt7fXd/FgaYQNar0QMwDw6dPSFt+svVqt+iMjw3Jh + 4X24Ui2Tldt6YR06eCDFF5Flxc+B00g8/G5xYVYF6ui+odIOzHmI8Y62428BBgDwu9RGZbaLEwAA + AABJRU5ErkJggg== + + + + google + G_HYBRID_MAP + Partner background + + + --> + From 74d71dd4aa2e5caa5ffab95ab79a221684f1e9a9 Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Thu, 2 Feb 2012 23:08:18 +0100 Subject: [PATCH 04/46] =?UTF-8?q?[IMP]=C2=A0related=20field=20support?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- geoengine_partner/geo_partner.py | 4 ++-- geoengine_partner/geo_partner_view.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/geoengine_partner/geo_partner.py b/geoengine_partner/geo_partner.py index a6278ca73..71d2d8938 100644 --- a/geoengine_partner/geo_partner.py +++ b/geoengine_partner/geo_partner.py @@ -38,7 +38,7 @@ def _get_point(self, cursor, uid, partner_ids, name, args, context=None): _columns = {'geo_point' : fields.geo_function(_get_point, string='Partner coordinates', type='geo_point', - srid=900913, # optional arg - dim=2)} # optional arg + srid=900913, # mandatory arg + dim=2)} # mandatory arg ResPartner() diff --git a/geoengine_partner/geo_partner_view.xml b/geoengine_partner/geo_partner_view.xml index 465c59e70..4e76a9ae9 100644 --- a/geoengine_partner/geo_partner_view.xml +++ b/geoengine_partner/geo_partner_view.xml @@ -143,7 +143,7 @@ Partner background - --> + From 72ac22d46f242f5875ffea5d1f51572ad25b5959 Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Mon, 6 Feb 2012 18:15:11 +0100 Subject: [PATCH 05/46] [IMP] demo is now self-contained + fix in __openerp__.py --- geoengine_partner/__openerp__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/geoengine_partner/__openerp__.py b/geoengine_partner/__openerp__.py index 56819a2b7..c557c7c4f 100644 --- a/geoengine_partner/__openerp__.py +++ b/geoengine_partner/__openerp__.py @@ -14,6 +14,7 @@ 'website': 'http://openerp.camptocamp.com', 'depends': ['base', 'base_geoengine'], 'installable': True, + 'application': True, 'active': False, } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 1295b4ae398f7de5223204a335bd57e44fcb3bf8 Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Thu, 9 Feb 2012 10:19:59 +0100 Subject: [PATCH 06/46] [FIX] missing file during merge trouble --- geoengine_partner/__openerp__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/geoengine_partner/__openerp__.py b/geoengine_partner/__openerp__.py index c557c7c4f..45149adc0 100644 --- a/geoengine_partner/__openerp__.py +++ b/geoengine_partner/__openerp__.py @@ -16,5 +16,6 @@ 'installable': True, 'application': True, 'active': False, + #'icon': '/base_geoengine/static/src/img/knowledge.png' } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 4cf9124970cca630c063f45d56c63ea9563c1981 Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Thu, 9 Feb 2012 15:24:50 +0100 Subject: [PATCH 07/46] [IMP] __openerp__ icon and coding --- geoengine_partner/__openerp__.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/geoengine_partner/__openerp__.py b/geoengine_partner/__openerp__.py index 45149adc0..b08040cee 100644 --- a/geoengine_partner/__openerp__.py +++ b/geoengine_partner/__openerp__.py @@ -16,6 +16,5 @@ 'installable': True, 'application': True, 'active': False, - #'icon': '/base_geoengine/static/src/img/knowledge.png' -} + 'icon': '/base_geoengine/static/src/images/map_icon.png'} # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 218569c6951dcb47dee4c223840bc6f2eb41202c Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Thu, 19 Apr 2012 10:15:51 +0200 Subject: [PATCH 08/46] =?UTF-8?q?[FIX]=C2=A0import=20to=20be=20compatible?= =?UTF-8?q?=20with=20python=202.6=20amnd=202.7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- geoengine_partner/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/geoengine_partner/__init__.py b/geoengine_partner/__init__.py index d5e1a2b25..bb93cc9ac 100644 --- a/geoengine_partner/__init__.py +++ b/geoengine_partner/__init__.py @@ -3,4 +3,5 @@ # # Author Nicolas Bessi. Copyright Camptocamp SA ############################################################################## +from __future__ import absolute_import from . import geo_partner \ No newline at end of file From 5f9aed9af95c8ba5df83cf027ba38353ec202bda Mon Sep 17 00:00:00 2001 From: "@" <@> Date: Mon, 1 Oct 2012 12:27:35 +0200 Subject: [PATCH 09/46] [FIX] license in geoengine_partner --- geoengine_partner/__init__.py | 21 ++++++++++++++++++--- geoengine_partner/__openerp__.py | 20 ++++++++++++++++++-- geoengine_partner/geo_partner.py | 19 +++++++++++++++++-- 3 files changed, 53 insertions(+), 7 deletions(-) diff --git a/geoengine_partner/__init__.py b/geoengine_partner/__init__.py index bb93cc9ac..737c7e642 100644 --- a/geoengine_partner/__init__.py +++ b/geoengine_partner/__init__.py @@ -1,7 +1,22 @@ -# -*- encoding: utf-8 -*- +# -*- coding: utf-8 -*- ############################################################################## # -# Author Nicolas Bessi. Copyright Camptocamp SA +# Author: Nicolas Bessi +# Copyright 2011-2012 Camptocamp SA +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# ############################################################################## from __future__ import absolute_import -from . import geo_partner \ No newline at end of file +from . import geo_partner diff --git a/geoengine_partner/__openerp__.py b/geoengine_partner/__openerp__.py index b08040cee..d9483ad17 100644 --- a/geoengine_partner/__openerp__.py +++ b/geoengine_partner/__openerp__.py @@ -1,7 +1,22 @@ -# -*- encoding: utf-8 -*- +# -*- coding: utf-8 -*- ############################################################################## # -# Author Nicolas Bessi. Copyright Camptocamp SA +# Author: Nicolas Bessi +# Copyright 2011-2012 Camptocamp SA +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# ############################################################################## {'name': 'Geospatial support of partners', 'version': '0.1', @@ -11,6 +26,7 @@ """, 'update_xml': ['geo_partner_view.xml'], 'author': 'Camptocamp', + 'license': 'AGPL-3', 'website': 'http://openerp.camptocamp.com', 'depends': ['base', 'base_geoengine'], 'installable': True, diff --git a/geoengine_partner/geo_partner.py b/geoengine_partner/geo_partner.py index 71d2d8938..d8e50a7b0 100644 --- a/geoengine_partner/geo_partner.py +++ b/geoengine_partner/geo_partner.py @@ -1,7 +1,22 @@ -# -*- encoding: utf-8 -*- +# -*- coding: utf-8 -*- ############################################################################## # -# Author Nicolas Bessi. Copyright Camptocamp SA +# Author: Nicolas Bessi +# Copyright 2011-2012 Camptocamp SA +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# ############################################################################## from osv import fields, osv From 420a44d4e196d11eee49c055881390521d9905da Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Fri, 28 Dec 2012 10:54:56 +0100 Subject: [PATCH 10/46] [INIT] V7.0 serie --- geoengine_partner/__openerp__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/geoengine_partner/__openerp__.py b/geoengine_partner/__openerp__.py index d9483ad17..e7675cf28 100644 --- a/geoengine_partner/__openerp__.py +++ b/geoengine_partner/__openerp__.py @@ -22,14 +22,14 @@ 'version': '0.1', 'category': 'GeoBI', 'description': """Add geo_point on partner and addresses - point on partner is function field that return geo point of + point on partner is function field that return geo point of """, 'update_xml': ['geo_partner_view.xml'], 'author': 'Camptocamp', 'license': 'AGPL-3', 'website': 'http://openerp.camptocamp.com', 'depends': ['base', 'base_geoengine'], - 'installable': True, + 'installable': False, 'application': True, 'active': False, 'icon': '/base_geoengine/static/src/images/map_icon.png'} From 5c9c892e8d836817b7e1ef16ff44656f5b0a0054 Mon Sep 17 00:00:00 2001 From: Sandy Carter Date: Fri, 13 Sep 2013 16:48:29 -0400 Subject: [PATCH 11/46] Fixed warnings and view. Still has js errors. --- geoengine_partner/__openerp__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geoengine_partner/__openerp__.py b/geoengine_partner/__openerp__.py index e7675cf28..9e1234e27 100644 --- a/geoengine_partner/__openerp__.py +++ b/geoengine_partner/__openerp__.py @@ -29,7 +29,7 @@ 'license': 'AGPL-3', 'website': 'http://openerp.camptocamp.com', 'depends': ['base', 'base_geoengine'], - 'installable': False, + 'installable': True, 'application': True, 'active': False, 'icon': '/base_geoengine/static/src/images/map_icon.png'} From 04d34e08a36742115efe98a754074ccd91e43527 Mon Sep 17 00:00:00 2001 From: Sandy Carter Date: Mon, 16 Sep 2013 17:58:02 -0400 Subject: [PATCH 12/46] Using geoengine view properly --- geoengine_partner/geo_partner_view.xml | 32 +++++++++++++------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/geoengine_partner/geo_partner_view.xml b/geoengine_partner/geo_partner_view.xml index 4e76a9ae9..e4cafcd5c 100644 --- a/geoengine_partner/geo_partner_view.xml +++ b/geoengine_partner/geo_partner_view.xml @@ -22,15 +22,15 @@ Address view - - - - - -]]> + + + + + + + + - geoengine res.partner.address @@ -89,15 +89,15 @@ Partner view - - - - - -]]> + + + + + + + + - geoengine res.partner From e99f604f1062d997b1c15ea5b868f4797dcddc4b Mon Sep 17 00:00:00 2001 From: Sandy Carter Date: Wed, 25 Sep 2013 17:50:12 -0400 Subject: [PATCH 13/46] [FIX] Made geo_partner installable --- geoengine_partner/geo_partner.py | 34 ++------------------------ geoengine_partner/geo_partner_view.xml | 27 +++++++++++--------- 2 files changed, 18 insertions(+), 43 deletions(-) diff --git a/geoengine_partner/geo_partner.py b/geoengine_partner/geo_partner.py index d8e50a7b0..ec70e998c 100644 --- a/geoengine_partner/geo_partner.py +++ b/geoengine_partner/geo_partner.py @@ -19,41 +19,11 @@ # ############################################################################## -from osv import fields, osv - +from osv import fields from base_geoengine import geo_model -class ResPartnerAddress(geo_model.GeoModel): - """Add geo_point to addresses""" - _name = "res.partner.address" - _inherit = "res.partner.address" - _columns = {'geo_point' : fields.geo_point('Addresses coordinate')} -ResPartnerAddress() - class ResPartner(geo_model.GeoModel): """Add geo_point to partner using a function filed""" _name = "res.partner" _inherit = "res.partner" - - def _get_point(self, cursor, uid, partner_ids, name, args, context=None): - """ Return Json repr of field""" - res = {} - add_obj = self.pool.get('res.partner.address') - context = context or {} - if not isinstance(partner_ids, list): - partner_ids = [partner_ids] - for partner_id in partner_ids: - add = self.address_get(cursor, uid, [partner_id], adr_pref=['invoice']) - if add.get('invoice'): - res[partner_id] = add_obj.browse(cursor, uid, add.get('invoice'), context).geo_point - else: - res[partner_id] = False - return res - - _columns = {'geo_point' : fields.geo_function(_get_point, - string='Partner coordinates', - type='geo_point', - srid=900913, # mandatory arg - dim=2)} # mandatory arg -ResPartner() - + _columns = {'geo_point' : fields.geo_point('Addresses coordinate')} diff --git a/geoengine_partner/geo_partner_view.xml b/geoengine_partner/geo_partner_view.xml index e4cafcd5c..6fded3f5a 100644 --- a/geoengine_partner/geo_partner_view.xml +++ b/geoengine_partner/geo_partner_view.xml @@ -2,6 +2,7 @@ + Address view @@ -31,12 +35,12 @@ - res.partner.address + res.partner + ref="geoengine_partner.field_res_partner_geo_point"/> Address location @@ -76,13 +80,14 @@ geo_partner_form res.partner - form - - - + + + + + From 25be8fb91e22e585f2f362c74c315abb7000f27f Mon Sep 17 00:00:00 2001 From: Sandy Carter Date: Thu, 26 Sep 2013 18:16:09 -0400 Subject: [PATCH 14/46] [IMP] Partner geo view simplified by removing depricated address layers and view Google still doesn't work but using OpenStreetMaps, it works. --- geoengine_partner/geo_partner_view.xml | 86 ++------------------------ 1 file changed, 6 insertions(+), 80 deletions(-) diff --git a/geoengine_partner/geo_partner_view.xml b/geoengine_partner/geo_partner_view.xml index 6fded3f5a..f88c40325 100644 --- a/geoengine_partner/geo_partner_view.xml +++ b/geoengine_partner/geo_partner_view.xml @@ -1,82 +1,6 @@ - - - - - Address view - - - - - - - - - - res.partner - - - - - Address location - - - basic - - #FF680A - iVBORw0KGgoAAAANSUhEUgAAACAAAAAfCAYAAACGVs+MAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ - bWFnZVJlYWR5ccllPAAAA3VJREFUeNq8V89rE0EUfjOz6aZNpFZpqyCEIooHoVaoQkGoB3vyJB49 - iYieFERBEMRbxYP/gFcv3ntQLHqwqNR6LNUqIq0/m8S2u0l3NzszfpNsqN0e3MiuA4/Jmx3e++Z7 - 3/wI01pTkvZicF+zzwvR1c35efRX0B/K7SgScUHScVZ8KR96St31pPyuEHfk6+e/xrUoYWMwQM3D - 7gvOL9lIYA8MkD1+gli+hxozM/3qw8erHtEYpp7D/MUkcXlSAFiZUEQXEfgSiwCJvp0kDh8mcWSY - 2J49xBkzAY8B5KSvdTFVAKHWJan1dVMwQy/AkCyXKZydo8bLVySXl0kqZVgizDvT0Ho0SdzEJUDA - CaH1XgQ3YCjgnESlSmp6uqmBsFajoDWPmnOUOgX3WXoAlBoFxSLAKgWoZjDDhLXuNMsRwg/gQ4Bm - rvldSpUBrPoXR3CvLUgka4AFi7eqqExijPlmjmFISi9VDaA9xqoCiJHqSGKsBnPDkGowNxrbiL77 - Sr1JlQG017DnCDzR1oFol6MlvKYZFlCCCsT4JG0A67CbsGEkHzSK520KAcIkp2h3oN2CfUy7BKa9 - hZ2FzWnPo7BepwB9gF7ClKYKvl2GPUgaMDEDGtusfSrr0J+g42PXVLF4Uy8vM76rj6hQmKKn0zeY - EPOdrCgxAOvk+KazsVGlC+cf2fv3X+sOQ9uT5gDSU9q25ynh3dIxgO47t/+4GBhpxwn3Fgu6NFSi - paUv5Ky7gXVvcvPWSBsAd92tJdF6FQeRr0KZ1+YI1mpNrq5Rpy2xCBnjcYPgWOWP6/wH/UNLzEBX - Vy7OQIBKrEbpfVglUwCFnp44AI0jyI3KXYfb0B0KsLNtGBNW02fUFsaGuS4yZcDUPQZJY+xnpHgH - FmQKgHMWS48xRu1H3zdThmwBxBgwJcBYNXLL5tWWMQM8LkJinDuR62ZeAhYrQVODnK1H0jQXhcwU - gBBia35cfWClbJDgeeaADcPIfwTA8SARAKCb5Slb+M6zBLBNA62dYYSn8UdlNWdZ2QLo6+vdNibx - LAIQF+z4tp3ftlVTBVBZqcZPJurv3x16nv+jt7fXd/FgaYQNar0QMwDw6dPSFt+svVqt+iMjw3Jh - 4X24Ui2Tldt6YR06eCDFF5Flxc+B00g8/G5xYVYF6ui+odIOzHmI8Y62428BBgDwu9RGZbaLEwAA - AABJRU5ErkJggg== - - - - google - G_HYBRID_MAP - Addresses background - - - - - - geo_partner_form res.partner @@ -90,8 +14,7 @@ - - + Partner view @@ -100,19 +23,22 @@ + + + res.partner - + geoengine - + From 76363f70ddb3ef9ea23d1475bc32d600a8de7a33 Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Fri, 27 Sep 2013 13:20:43 +0200 Subject: [PATCH 15/46] [FIX] installable state of addons to be uninstallable. They do not match actual requirement to be installable --- geoengine_partner/__openerp__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geoengine_partner/__openerp__.py b/geoengine_partner/__openerp__.py index 9e1234e27..e7675cf28 100644 --- a/geoengine_partner/__openerp__.py +++ b/geoengine_partner/__openerp__.py @@ -29,7 +29,7 @@ 'license': 'AGPL-3', 'website': 'http://openerp.camptocamp.com', 'depends': ['base', 'base_geoengine'], - 'installable': True, + 'installable': False, 'application': True, 'active': False, 'icon': '/base_geoengine/static/src/images/map_icon.png'} From 5c04b95b59524d33f9889e6c785dbd7426cb5217 Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Mon, 30 Jun 2014 16:59:15 +0200 Subject: [PATCH 16/46] Rename all addons to xxx_unported to be travis compliant --- geoengine_partner/__init__.py | 22 ------- geoengine_partner/__openerp__.py | 36 ------------ geoengine_partner/geo_partner.py | 29 ---------- geoengine_partner/geo_partner_view.xml | 80 -------------------------- 4 files changed, 167 deletions(-) delete mode 100644 geoengine_partner/__init__.py delete mode 100644 geoengine_partner/__openerp__.py delete mode 100644 geoengine_partner/geo_partner.py delete mode 100644 geoengine_partner/geo_partner_view.xml diff --git a/geoengine_partner/__init__.py b/geoengine_partner/__init__.py deleted file mode 100644 index 737c7e642..000000000 --- a/geoengine_partner/__init__.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Author: Nicolas Bessi -# Copyright 2011-2012 Camptocamp SA -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## -from __future__ import absolute_import -from . import geo_partner diff --git a/geoengine_partner/__openerp__.py b/geoengine_partner/__openerp__.py deleted file mode 100644 index e7675cf28..000000000 --- a/geoengine_partner/__openerp__.py +++ /dev/null @@ -1,36 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Author: Nicolas Bessi -# Copyright 2011-2012 Camptocamp SA -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## -{'name': 'Geospatial support of partners', - 'version': '0.1', - 'category': 'GeoBI', - 'description': """Add geo_point on partner and addresses - point on partner is function field that return geo point of - """, - 'update_xml': ['geo_partner_view.xml'], - 'author': 'Camptocamp', - 'license': 'AGPL-3', - 'website': 'http://openerp.camptocamp.com', - 'depends': ['base', 'base_geoengine'], - 'installable': False, - 'application': True, - 'active': False, - 'icon': '/base_geoengine/static/src/images/map_icon.png'} -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/geoengine_partner/geo_partner.py b/geoengine_partner/geo_partner.py deleted file mode 100644 index ec70e998c..000000000 --- a/geoengine_partner/geo_partner.py +++ /dev/null @@ -1,29 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Author: Nicolas Bessi -# Copyright 2011-2012 Camptocamp SA -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## - -from osv import fields -from base_geoengine import geo_model - -class ResPartner(geo_model.GeoModel): - """Add geo_point to partner using a function filed""" - _name = "res.partner" - _inherit = "res.partner" - _columns = {'geo_point' : fields.geo_point('Addresses coordinate')} diff --git a/geoengine_partner/geo_partner_view.xml b/geoengine_partner/geo_partner_view.xml deleted file mode 100644 index f88c40325..000000000 --- a/geoengine_partner/geo_partner_view.xml +++ /dev/null @@ -1,80 +0,0 @@ - - - - - geo_partner_form - res.partner - - - - - - - - - - - - Partner view - - - - - - - - - - - - - res.partner - - - - - geoengine - - - - - - - Partner location - - - basic - - #FF680A - iVBORw0KGgoAAAANSUhEUgAAACAAAAAfCAYAAACGVs+MAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ - bWFnZVJlYWR5ccllPAAAA3VJREFUeNq8V89rE0EUfjOz6aZNpFZpqyCEIooHoVaoQkGoB3vyJB49 - iYieFERBEMRbxYP/gFcv3ntQLHqwqNR6LNUqIq0/m8S2u0l3NzszfpNsqN0e3MiuA4/Jmx3e++Z7 - 3/wI01pTkvZicF+zzwvR1c35efRX0B/K7SgScUHScVZ8KR96St31pPyuEHfk6+e/xrUoYWMwQM3D - 7gvOL9lIYA8MkD1+gli+hxozM/3qw8erHtEYpp7D/MUkcXlSAFiZUEQXEfgSiwCJvp0kDh8mcWSY - 2J49xBkzAY8B5KSvdTFVAKHWJan1dVMwQy/AkCyXKZydo8bLVySXl0kqZVgizDvT0Ho0SdzEJUDA - CaH1XgQ3YCjgnESlSmp6uqmBsFajoDWPmnOUOgX3WXoAlBoFxSLAKgWoZjDDhLXuNMsRwg/gQ4Bm - rvldSpUBrPoXR3CvLUgka4AFi7eqqExijPlmjmFISi9VDaA9xqoCiJHqSGKsBnPDkGowNxrbiL77 - Sr1JlQG017DnCDzR1oFol6MlvKYZFlCCCsT4JG0A67CbsGEkHzSK520KAcIkp2h3oN2CfUy7BKa9 - hZ2FzWnPo7BepwB9gF7ClKYKvl2GPUgaMDEDGtusfSrr0J+g42PXVLF4Uy8vM76rj6hQmKKn0zeY - EPOdrCgxAOvk+KazsVGlC+cf2fv3X+sOQ9uT5gDSU9q25ynh3dIxgO47t/+4GBhpxwn3Fgu6NFSi - paUv5Ky7gXVvcvPWSBsAd92tJdF6FQeRr0KZ1+YI1mpNrq5Rpy2xCBnjcYPgWOWP6/wH/UNLzEBX - Vy7OQIBKrEbpfVglUwCFnp44AI0jyI3KXYfb0B0KsLNtGBNW02fUFsaGuS4yZcDUPQZJY+xnpHgH - FmQKgHMWS48xRu1H3zdThmwBxBgwJcBYNXLL5tWWMQM8LkJinDuR62ZeAhYrQVODnK1H0jQXhcwU - gBBia35cfWClbJDgeeaADcPIfwTA8SARAKCb5Slb+M6zBLBNA62dYYSn8UdlNWdZ2QLo6+vdNibx - LAIQF+z4tp3ftlVTBVBZqcZPJurv3x16nv+jt7fXd/FgaYQNar0QMwDw6dPSFt+svVqt+iMjw3Jh - 4X24Ui2Tldt6YR06eCDFF5Flxc+B00g8/G5xYVYF6ui+odIOzHmI8Y62428BBgDwu9RGZbaLEwAA - AABJRU5ErkJggg== - - - - google - G_HYBRID_MAP - Partner background - - - - - - From 8f0b45169f27854104e05693a24c03509795de34 Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Wed, 2 Jul 2014 14:41:39 +0200 Subject: [PATCH 17/46] Revert "Rename all addons to xxx_unported to be travis compliant" This reverts commit 4a89ecbce3802028f69676b7d4b925d153687d80. --- geoengine_partner/__init__.py | 22 +++++++ geoengine_partner/__openerp__.py | 36 ++++++++++++ geoengine_partner/geo_partner.py | 29 ++++++++++ geoengine_partner/geo_partner_view.xml | 80 ++++++++++++++++++++++++++ 4 files changed, 167 insertions(+) create mode 100644 geoengine_partner/__init__.py create mode 100644 geoengine_partner/__openerp__.py create mode 100644 geoengine_partner/geo_partner.py create mode 100644 geoengine_partner/geo_partner_view.xml diff --git a/geoengine_partner/__init__.py b/geoengine_partner/__init__.py new file mode 100644 index 000000000..737c7e642 --- /dev/null +++ b/geoengine_partner/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Author: Nicolas Bessi +# Copyright 2011-2012 Camptocamp SA +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +from __future__ import absolute_import +from . import geo_partner diff --git a/geoengine_partner/__openerp__.py b/geoengine_partner/__openerp__.py new file mode 100644 index 000000000..e7675cf28 --- /dev/null +++ b/geoengine_partner/__openerp__.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Author: Nicolas Bessi +# Copyright 2011-2012 Camptocamp SA +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +{'name': 'Geospatial support of partners', + 'version': '0.1', + 'category': 'GeoBI', + 'description': """Add geo_point on partner and addresses + point on partner is function field that return geo point of + """, + 'update_xml': ['geo_partner_view.xml'], + 'author': 'Camptocamp', + 'license': 'AGPL-3', + 'website': 'http://openerp.camptocamp.com', + 'depends': ['base', 'base_geoengine'], + 'installable': False, + 'application': True, + 'active': False, + 'icon': '/base_geoengine/static/src/images/map_icon.png'} +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/geoengine_partner/geo_partner.py b/geoengine_partner/geo_partner.py new file mode 100644 index 000000000..ec70e998c --- /dev/null +++ b/geoengine_partner/geo_partner.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Author: Nicolas Bessi +# Copyright 2011-2012 Camptocamp SA +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from osv import fields +from base_geoengine import geo_model + +class ResPartner(geo_model.GeoModel): + """Add geo_point to partner using a function filed""" + _name = "res.partner" + _inherit = "res.partner" + _columns = {'geo_point' : fields.geo_point('Addresses coordinate')} diff --git a/geoengine_partner/geo_partner_view.xml b/geoengine_partner/geo_partner_view.xml new file mode 100644 index 000000000..f88c40325 --- /dev/null +++ b/geoengine_partner/geo_partner_view.xml @@ -0,0 +1,80 @@ + + + + + geo_partner_form + res.partner + + + + + + + + + + + + Partner view + + + + + + + + + + + + + res.partner + + + + + geoengine + + + + + + + Partner location + + + basic + + #FF680A + iVBORw0KGgoAAAANSUhEUgAAACAAAAAfCAYAAACGVs+MAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ + bWFnZVJlYWR5ccllPAAAA3VJREFUeNq8V89rE0EUfjOz6aZNpFZpqyCEIooHoVaoQkGoB3vyJB49 + iYieFERBEMRbxYP/gFcv3ntQLHqwqNR6LNUqIq0/m8S2u0l3NzszfpNsqN0e3MiuA4/Jmx3e++Z7 + 3/wI01pTkvZicF+zzwvR1c35efRX0B/K7SgScUHScVZ8KR96St31pPyuEHfk6+e/xrUoYWMwQM3D + 7gvOL9lIYA8MkD1+gli+hxozM/3qw8erHtEYpp7D/MUkcXlSAFiZUEQXEfgSiwCJvp0kDh8mcWSY + 2J49xBkzAY8B5KSvdTFVAKHWJan1dVMwQy/AkCyXKZydo8bLVySXl0kqZVgizDvT0Ho0SdzEJUDA + CaH1XgQ3YCjgnESlSmp6uqmBsFajoDWPmnOUOgX3WXoAlBoFxSLAKgWoZjDDhLXuNMsRwg/gQ4Bm + rvldSpUBrPoXR3CvLUgka4AFi7eqqExijPlmjmFISi9VDaA9xqoCiJHqSGKsBnPDkGowNxrbiL77 + Sr1JlQG017DnCDzR1oFol6MlvKYZFlCCCsT4JG0A67CbsGEkHzSK520KAcIkp2h3oN2CfUy7BKa9 + hZ2FzWnPo7BepwB9gF7ClKYKvl2GPUgaMDEDGtusfSrr0J+g42PXVLF4Uy8vM76rj6hQmKKn0zeY + EPOdrCgxAOvk+KazsVGlC+cf2fv3X+sOQ9uT5gDSU9q25ynh3dIxgO47t/+4GBhpxwn3Fgu6NFSi + paUv5Ky7gXVvcvPWSBsAd92tJdF6FQeRr0KZ1+YI1mpNrq5Rpy2xCBnjcYPgWOWP6/wH/UNLzEBX + Vy7OQIBKrEbpfVglUwCFnp44AI0jyI3KXYfb0B0KsLNtGBNW02fUFsaGuS4yZcDUPQZJY+xnpHgH + FmQKgHMWS48xRu1H3zdThmwBxBgwJcBYNXLL5tWWMQM8LkJinDuR62ZeAhYrQVODnK1H0jQXhcwU + gBBia35cfWClbJDgeeaADcPIfwTA8SARAKCb5Slb+M6zBLBNA62dYYSn8UdlNWdZ2QLo6+vdNibx + LAIQF+z4tp3ftlVTBVBZqcZPJurv3x16nv+jt7fXd/FgaYQNar0QMwDw6dPSFt+svVqt+iMjw3Jh + 4X24Ui2Tldt6YR06eCDFF5Flxc+B00g8/G5xYVYF6ui+odIOzHmI8Y62428BBgDwu9RGZbaLEwAA + AABJRU5ErkJggg== + + + + google + G_HYBRID_MAP + Partner background + + + + + + From b441e638da85bbb30f23558dc167993df1d526ac Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Wed, 2 Jul 2014 14:42:45 +0200 Subject: [PATCH 18/46] [FIX] move all unported addons into __unported__ folder instead of adding _unported suffix --- geoengine_partner/__init__.py | 22 ------- geoengine_partner/__openerp__.py | 36 ------------ geoengine_partner/geo_partner.py | 29 ---------- geoengine_partner/geo_partner_view.xml | 80 -------------------------- 4 files changed, 167 deletions(-) delete mode 100644 geoengine_partner/__init__.py delete mode 100644 geoengine_partner/__openerp__.py delete mode 100644 geoengine_partner/geo_partner.py delete mode 100644 geoengine_partner/geo_partner_view.xml diff --git a/geoengine_partner/__init__.py b/geoengine_partner/__init__.py deleted file mode 100644 index 737c7e642..000000000 --- a/geoengine_partner/__init__.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Author: Nicolas Bessi -# Copyright 2011-2012 Camptocamp SA -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## -from __future__ import absolute_import -from . import geo_partner diff --git a/geoengine_partner/__openerp__.py b/geoengine_partner/__openerp__.py deleted file mode 100644 index e7675cf28..000000000 --- a/geoengine_partner/__openerp__.py +++ /dev/null @@ -1,36 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Author: Nicolas Bessi -# Copyright 2011-2012 Camptocamp SA -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## -{'name': 'Geospatial support of partners', - 'version': '0.1', - 'category': 'GeoBI', - 'description': """Add geo_point on partner and addresses - point on partner is function field that return geo point of - """, - 'update_xml': ['geo_partner_view.xml'], - 'author': 'Camptocamp', - 'license': 'AGPL-3', - 'website': 'http://openerp.camptocamp.com', - 'depends': ['base', 'base_geoengine'], - 'installable': False, - 'application': True, - 'active': False, - 'icon': '/base_geoengine/static/src/images/map_icon.png'} -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/geoengine_partner/geo_partner.py b/geoengine_partner/geo_partner.py deleted file mode 100644 index ec70e998c..000000000 --- a/geoengine_partner/geo_partner.py +++ /dev/null @@ -1,29 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Author: Nicolas Bessi -# Copyright 2011-2012 Camptocamp SA -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## - -from osv import fields -from base_geoengine import geo_model - -class ResPartner(geo_model.GeoModel): - """Add geo_point to partner using a function filed""" - _name = "res.partner" - _inherit = "res.partner" - _columns = {'geo_point' : fields.geo_point('Addresses coordinate')} diff --git a/geoengine_partner/geo_partner_view.xml b/geoengine_partner/geo_partner_view.xml deleted file mode 100644 index f88c40325..000000000 --- a/geoengine_partner/geo_partner_view.xml +++ /dev/null @@ -1,80 +0,0 @@ - - - - - geo_partner_form - res.partner - - - - - - - - - - - - Partner view - - - - - - - - - - - - - res.partner - - - - - geoengine - - - - - - - Partner location - - - basic - - #FF680A - iVBORw0KGgoAAAANSUhEUgAAACAAAAAfCAYAAACGVs+MAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ - bWFnZVJlYWR5ccllPAAAA3VJREFUeNq8V89rE0EUfjOz6aZNpFZpqyCEIooHoVaoQkGoB3vyJB49 - iYieFERBEMRbxYP/gFcv3ntQLHqwqNR6LNUqIq0/m8S2u0l3NzszfpNsqN0e3MiuA4/Jmx3e++Z7 - 3/wI01pTkvZicF+zzwvR1c35efRX0B/K7SgScUHScVZ8KR96St31pPyuEHfk6+e/xrUoYWMwQM3D - 7gvOL9lIYA8MkD1+gli+hxozM/3qw8erHtEYpp7D/MUkcXlSAFiZUEQXEfgSiwCJvp0kDh8mcWSY - 2J49xBkzAY8B5KSvdTFVAKHWJan1dVMwQy/AkCyXKZydo8bLVySXl0kqZVgizDvT0Ho0SdzEJUDA - CaH1XgQ3YCjgnESlSmp6uqmBsFajoDWPmnOUOgX3WXoAlBoFxSLAKgWoZjDDhLXuNMsRwg/gQ4Bm - rvldSpUBrPoXR3CvLUgka4AFi7eqqExijPlmjmFISi9VDaA9xqoCiJHqSGKsBnPDkGowNxrbiL77 - Sr1JlQG017DnCDzR1oFol6MlvKYZFlCCCsT4JG0A67CbsGEkHzSK520KAcIkp2h3oN2CfUy7BKa9 - hZ2FzWnPo7BepwB9gF7ClKYKvl2GPUgaMDEDGtusfSrr0J+g42PXVLF4Uy8vM76rj6hQmKKn0zeY - EPOdrCgxAOvk+KazsVGlC+cf2fv3X+sOQ9uT5gDSU9q25ynh3dIxgO47t/+4GBhpxwn3Fgu6NFSi - paUv5Ky7gXVvcvPWSBsAd92tJdF6FQeRr0KZ1+YI1mpNrq5Rpy2xCBnjcYPgWOWP6/wH/UNLzEBX - Vy7OQIBKrEbpfVglUwCFnp44AI0jyI3KXYfb0B0KsLNtGBNW02fUFsaGuS4yZcDUPQZJY+xnpHgH - FmQKgHMWS48xRu1H3zdThmwBxBgwJcBYNXLL5tWWMQM8LkJinDuR62ZeAhYrQVODnK1H0jQXhcwU - gBBia35cfWClbJDgeeaADcPIfwTA8SARAKCb5Slb+M6zBLBNA62dYYSn8UdlNWdZ2QLo6+vdNibx - LAIQF+z4tp3ftlVTBVBZqcZPJurv3x16nv+jt7fXd/FgaYQNar0QMwDw6dPSFt+svVqt+iMjw3Jh - 4X24Ui2Tldt6YR06eCDFF5Flxc+B00g8/G5xYVYF6ui+odIOzHmI8Y62428BBgDwu9RGZbaLEwAA - AABJRU5ErkJggg== - - - - google - G_HYBRID_MAP - Partner background - - - - - - From 3230cbd1c78a1a0a10a39328d2137d9006aec094 Mon Sep 17 00:00:00 2001 From: "Laurent Mignon (aka lmi)" Date: Wed, 4 Mar 2015 10:42:16 +0100 Subject: [PATCH 19/46] [FIX] move all addons from __unported__ --- geoengine_partner/__init__.py | 21 +++++++ geoengine_partner/__openerp__.py | 35 +++++++++++ geoengine_partner/geo_partner.py | 33 +++++++++++ geoengine_partner/geo_partner_view.xml | 80 ++++++++++++++++++++++++++ 4 files changed, 169 insertions(+) create mode 100644 geoengine_partner/__init__.py create mode 100644 geoengine_partner/__openerp__.py create mode 100644 geoengine_partner/geo_partner.py create mode 100644 geoengine_partner/geo_partner_view.xml diff --git a/geoengine_partner/__init__.py b/geoengine_partner/__init__.py new file mode 100644 index 000000000..f1572c10e --- /dev/null +++ b/geoengine_partner/__init__.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Author: Nicolas Bessi +# Copyright 2011-2012 Camptocamp SA +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +from . import geo_partner diff --git a/geoengine_partner/__openerp__.py b/geoengine_partner/__openerp__.py new file mode 100644 index 000000000..f99c75a21 --- /dev/null +++ b/geoengine_partner/__openerp__.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Author: Nicolas Bessi +# Copyright 2011-2012 Camptocamp SA +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +{'name': 'Geospatial support of partners', + 'version': '0.1', + 'category': 'GeoBI', + 'description': """Add geo_point on partner and addresses + point on partner is function field that return geo point of + """, + 'update_xml': ['geo_partner_view.xml'], + 'author': "Camptocamp,Odoo Community Association (OCA)", + 'license': 'AGPL-3', + 'website': 'http://openerp.camptocamp.com', + 'depends': ['base', 'base_geoengine'], + 'installable': True, + 'application': True, + 'active': False, + 'icon': '/base_geoengine/static/src/images/map_icon.png'} diff --git a/geoengine_partner/geo_partner.py b/geoengine_partner/geo_partner.py new file mode 100644 index 000000000..7adb01a98 --- /dev/null +++ b/geoengine_partner/geo_partner.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Author: Nicolas Bessi +# Copyright 2011-2012 Camptocamp SA +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from openerp.osv import fields +from base_geoengine import geo_model + + +class ResPartner(geo_model.GeoModel): + """Add geo_point to partner using a function filed""" + _name = "res.partner" + _inherit = "res.partner" + + _columns = { + 'geo_point': fields.geo_point('Addresses coordinate') + } diff --git a/geoengine_partner/geo_partner_view.xml b/geoengine_partner/geo_partner_view.xml new file mode 100644 index 000000000..f88c40325 --- /dev/null +++ b/geoengine_partner/geo_partner_view.xml @@ -0,0 +1,80 @@ + + + + + geo_partner_form + res.partner + + + + + + + + + + + + Partner view + + + + + + + + + + + + + res.partner + + + + + geoengine + + + + + + + Partner location + + + basic + + #FF680A + iVBORw0KGgoAAAANSUhEUgAAACAAAAAfCAYAAACGVs+MAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ + bWFnZVJlYWR5ccllPAAAA3VJREFUeNq8V89rE0EUfjOz6aZNpFZpqyCEIooHoVaoQkGoB3vyJB49 + iYieFERBEMRbxYP/gFcv3ntQLHqwqNR6LNUqIq0/m8S2u0l3NzszfpNsqN0e3MiuA4/Jmx3e++Z7 + 3/wI01pTkvZicF+zzwvR1c35efRX0B/K7SgScUHScVZ8KR96St31pPyuEHfk6+e/xrUoYWMwQM3D + 7gvOL9lIYA8MkD1+gli+hxozM/3qw8erHtEYpp7D/MUkcXlSAFiZUEQXEfgSiwCJvp0kDh8mcWSY + 2J49xBkzAY8B5KSvdTFVAKHWJan1dVMwQy/AkCyXKZydo8bLVySXl0kqZVgizDvT0Ho0SdzEJUDA + CaH1XgQ3YCjgnESlSmp6uqmBsFajoDWPmnOUOgX3WXoAlBoFxSLAKgWoZjDDhLXuNMsRwg/gQ4Bm + rvldSpUBrPoXR3CvLUgka4AFi7eqqExijPlmjmFISi9VDaA9xqoCiJHqSGKsBnPDkGowNxrbiL77 + Sr1JlQG017DnCDzR1oFol6MlvKYZFlCCCsT4JG0A67CbsGEkHzSK520KAcIkp2h3oN2CfUy7BKa9 + hZ2FzWnPo7BepwB9gF7ClKYKvl2GPUgaMDEDGtusfSrr0J+g42PXVLF4Uy8vM76rj6hQmKKn0zeY + EPOdrCgxAOvk+KazsVGlC+cf2fv3X+sOQ9uT5gDSU9q25ynh3dIxgO47t/+4GBhpxwn3Fgu6NFSi + paUv5Ky7gXVvcvPWSBsAd92tJdF6FQeRr0KZ1+YI1mpNrq5Rpy2xCBnjcYPgWOWP6/wH/UNLzEBX + Vy7OQIBKrEbpfVglUwCFnp44AI0jyI3KXYfb0B0KsLNtGBNW02fUFsaGuS4yZcDUPQZJY+xnpHgH + FmQKgHMWS48xRu1H3zdThmwBxBgwJcBYNXLL5tWWMQM8LkJinDuR62ZeAhYrQVODnK1H0jQXhcwU + gBBia35cfWClbJDgeeaADcPIfwTA8SARAKCb5Slb+M6zBLBNA62dYYSn8UdlNWdZ2QLo6+vdNibx + LAIQF+z4tp3ftlVTBVBZqcZPJurv3x16nv+jt7fXd/FgaYQNar0QMwDw6dPSFt+svVqt+iMjw3Jh + 4X24Ui2Tldt6YR06eCDFF5Flxc+B00g8/G5xYVYF6ui+odIOzHmI8Y62428BBgDwu9RGZbaLEwAA + AABJRU5ErkJggg== + + + + google + G_HYBRID_MAP + Partner background + + + + + + From d67985e61abbd5d041a620790466cb8cf7476155 Mon Sep 17 00:00:00 2001 From: Laurent Mignon Date: Fri, 6 Mar 2015 09:13:42 +0100 Subject: [PATCH 20/46] [FIX] Use absolute imports on opnerp.addons --- geoengine_partner/geo_partner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geoengine_partner/geo_partner.py b/geoengine_partner/geo_partner.py index 7adb01a98..179aebddf 100644 --- a/geoengine_partner/geo_partner.py +++ b/geoengine_partner/geo_partner.py @@ -20,7 +20,7 @@ ############################################################################## from openerp.osv import fields -from base_geoengine import geo_model +from openerp.addons.base_geoengine import geo_model class ResPartner(geo_model.GeoModel): From fe575bbb67eeada90015299aafc28923c765706c Mon Sep 17 00:00:00 2001 From: "Laurent Mignon (aka lmi)" Date: Thu, 5 Mar 2015 18:58:57 +0100 Subject: [PATCH 21/46] [FIX] Uses the new API --- geoengine_partner/geo_partner.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/geoengine_partner/geo_partner.py b/geoengine_partner/geo_partner.py index 179aebddf..12f34b50c 100644 --- a/geoengine_partner/geo_partner.py +++ b/geoengine_partner/geo_partner.py @@ -19,15 +19,12 @@ # ############################################################################## -from openerp.osv import fields from openerp.addons.base_geoengine import geo_model +from openerp.addons.base_geoengine import fields class ResPartner(geo_model.GeoModel): """Add geo_point to partner using a function filed""" - _name = "res.partner" _inherit = "res.partner" - _columns = { - 'geo_point': fields.geo_point('Addresses coordinate') - } + geo_point = fields.GeoPoint('Addresses coordinate') From 9f8d5a1766faa2be911cb18ea71178d07061076a Mon Sep 17 00:00:00 2001 From: Jordi Riera Date: Mon, 9 Mar 2015 14:28:14 -0400 Subject: [PATCH 22/46] [IMP] Move icons to static/description. --- geoengine_partner/__openerp__.py | 2 +- geoengine_partner/static/description/icon.png | Bin 0 -> 130328 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 geoengine_partner/static/description/icon.png diff --git a/geoengine_partner/__openerp__.py b/geoengine_partner/__openerp__.py index f99c75a21..7670b6b09 100644 --- a/geoengine_partner/__openerp__.py +++ b/geoengine_partner/__openerp__.py @@ -32,4 +32,4 @@ 'installable': True, 'application': True, 'active': False, - 'icon': '/base_geoengine/static/src/images/map_icon.png'} + } diff --git a/geoengine_partner/static/description/icon.png b/geoengine_partner/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b698310eefcab016c8372b688f495daacd3fe746 GIT binary patch literal 130328 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%0Aj5`*?xx_dV0 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 r#?5d*H!pjPiQ)gh{vW@AZ28Ba(=vW3ul Date: Tue, 10 Mar 2015 11:58:44 +0100 Subject: [PATCH 23/46] [IMP] Extract description in __openerp__.py to README.rst --- geoengine_partner/README.rst | 39 ++++++++++++++++++++++++++++++++ geoengine_partner/__openerp__.py | 12 ++++++---- 2 files changed, 46 insertions(+), 5 deletions(-) create mode 100644 geoengine_partner/README.rst diff --git a/geoengine_partner/README.rst b/geoengine_partner/README.rst new file mode 100644 index 000000000..4558c020f --- /dev/null +++ b/geoengine_partner/README.rst @@ -0,0 +1,39 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :alt: License + +Geospatial support of partners +============================== + +Geolocalise your partner. + + +Installation +============ + +Take a look at the installation section in the description of the module +'base_geoengine'. + +Credits +======= + +Contributors +------------ + +* Nicolas Bessi +* Alexandre Fayolle +* Guewen Baconnier +* Laurent Mignon +* ... + +Maintainer +---------- + +.. image:: http://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: http://odoo-community.org + +This module is maintained by the OCA. + +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. + +To contribute to this module, please visit http://odoo-community.org. diff --git a/geoengine_partner/__openerp__.py b/geoengine_partner/__openerp__.py index 7670b6b09..1d7a5465e 100644 --- a/geoengine_partner/__openerp__.py +++ b/geoengine_partner/__openerp__.py @@ -21,14 +21,16 @@ {'name': 'Geospatial support of partners', 'version': '0.1', 'category': 'GeoBI', - 'description': """Add geo_point on partner and addresses - point on partner is function field that return geo point of - """, - 'update_xml': ['geo_partner_view.xml'], 'author': "Camptocamp,Odoo Community Association (OCA)", 'license': 'AGPL-3', 'website': 'http://openerp.camptocamp.com', - 'depends': ['base', 'base_geoengine'], + 'depends': [ + 'base', + 'base_geoengine' + ], + 'data': [ + 'geo_partner_view.xml' + ], 'installable': True, 'application': True, 'active': False, From 7e76c5bfa99599fdb6dd07b2bf599689479bb730 Mon Sep 17 00:00:00 2001 From: "Laurent Mignon (ACSONE)" Date: Tue, 10 Mar 2015 18:01:09 +0100 Subject: [PATCH 24/46] [FIX] list all know contributors from git --- geoengine_partner/README.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/geoengine_partner/README.rst b/geoengine_partner/README.rst index 4558c020f..f88176c34 100644 --- a/geoengine_partner/README.rst +++ b/geoengine_partner/README.rst @@ -19,11 +19,11 @@ Credits Contributors ------------ -* Nicolas Bessi -* Alexandre Fayolle * Guewen Baconnier +* Jordi Riera * Laurent Mignon -* ... +* Nicolas Bessi +* Sandy Carter Maintainer ---------- From f50ae017953ac09df5bbe9df65ef2038c72420e6 Mon Sep 17 00:00:00 2001 From: Laurent Mignon Date: Tue, 2 Jun 2015 10:24:50 +0200 Subject: [PATCH 25/46] [FIX] Add bug tracker url to the module description --- geoengine_partner/README.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/geoengine_partner/README.rst b/geoengine_partner/README.rst index f88176c34..5827d254e 100644 --- a/geoengine_partner/README.rst +++ b/geoengine_partner/README.rst @@ -13,6 +13,14 @@ Installation Take a look at the installation section in the description of the module 'base_geoengine'. +Bug Tracker +=========== + +Bugs are tracked on `GitHub 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 +`here `_. + Credits ======= From b507c52d309e2ef51e8d778f5365256d207be023 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul?= Date: Fri, 9 Oct 2015 10:00:17 +0200 Subject: [PATCH 26/46] [UPD] prefix versions with 8.0 --- geoengine_partner/__openerp__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geoengine_partner/__openerp__.py b/geoengine_partner/__openerp__.py index 1d7a5465e..0bd6f782d 100644 --- a/geoengine_partner/__openerp__.py +++ b/geoengine_partner/__openerp__.py @@ -19,7 +19,7 @@ # ############################################################################## {'name': 'Geospatial support of partners', - 'version': '0.1', + 'version': '8.0.0.1.0', 'category': 'GeoBI', 'author': "Camptocamp,Odoo Community Association (OCA)", 'license': 'AGPL-3', From 5f172569fd088558a24c9cff2308ef546904fe86 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Wed, 14 Oct 2015 02:25:35 +0200 Subject: [PATCH 27/46] [MIG] Make modules uninstallable --- geoengine_partner/__openerp__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geoengine_partner/__openerp__.py b/geoengine_partner/__openerp__.py index 0bd6f782d..f264760d5 100644 --- a/geoengine_partner/__openerp__.py +++ b/geoengine_partner/__openerp__.py @@ -31,7 +31,7 @@ 'data': [ 'geo_partner_view.xml' ], - 'installable': True, + 'installable': False, 'application': True, 'active': False, } From 4dbfd28da17330bf868dcb2cd0f657ad96c8f40e Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Thu, 6 Oct 2016 14:51:48 +0200 Subject: [PATCH 28/46] [MIG] Rename manifest files --- geoengine_partner/{__openerp__.py => __manifest__.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename geoengine_partner/{__openerp__.py => __manifest__.py} (100%) diff --git a/geoengine_partner/__openerp__.py b/geoengine_partner/__manifest__.py similarity index 100% rename from geoengine_partner/__openerp__.py rename to geoengine_partner/__manifest__.py From ebf55b1c9e91759104691e461b5f04efd4f91bad Mon Sep 17 00:00:00 2001 From: Yannick Vaucher Date: Sat, 8 Oct 2016 19:46:41 +0200 Subject: [PATCH 29/46] Remove google raster layer deprecated option --- geoengine_partner/geo_partner_view.xml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/geoengine_partner/geo_partner_view.xml b/geoengine_partner/geo_partner_view.xml index f88c40325..7b77a315d 100644 --- a/geoengine_partner/geo_partner_view.xml +++ b/geoengine_partner/geo_partner_view.xml @@ -68,9 +68,8 @@ AABJRU5ErkJggg== - - google - G_HYBRID_MAP + + osm Partner background From 4e1d46984f45f77d2d473c9a41efb453d2c94c23 Mon Sep 17 00:00:00 2001 From: Yannick Vaucher Date: Fri, 17 Feb 2017 15:37:43 +0100 Subject: [PATCH 30/46] [MIG][9.0] geoengine_partner --- geoengine_partner/README.rst | 26 +++++++++++++--- geoengine_partner/__init__.py | 22 +------------- geoengine_partner/__manifest__.py | 28 ++++------------- geoengine_partner/geo_partner.py | 30 ------------------- geoengine_partner/models/__init__.py | 1 + geoengine_partner/models/partner.py | 13 ++++++++ .../partner.xml} | 4 +-- 7 files changed, 44 insertions(+), 80 deletions(-) delete mode 100644 geoengine_partner/geo_partner.py create mode 100644 geoengine_partner/models/__init__.py create mode 100644 geoengine_partner/models/partner.py rename geoengine_partner/{geo_partner_view.xml => views/partner.xml} (97%) diff --git a/geoengine_partner/README.rst b/geoengine_partner/README.rst index 5827d254e..79a1d8259 100644 --- a/geoengine_partner/README.rst +++ b/geoengine_partner/README.rst @@ -1,6 +1,8 @@ .. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg - :alt: License + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +============================== Geospatial support of partners ============================== @@ -10,16 +12,31 @@ Geolocalise your partner. Installation ============ -Take a look at the installation section in the description of the module +Take a look at the installation section in the description of the module 'base_geoengine'. +Usage +===== + +* Open a partner form +* Go in `Geoengine Map` tab +* Change to edit mode +* Click on the map to add a point. + +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 `_. 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 -`here `_. +If you spotted it first, help us smashing it by providing a detailed and welcomed feedback. Credits ======= @@ -32,6 +49,7 @@ Contributors * Laurent Mignon * Nicolas Bessi * Sandy Carter +* Yannick Vaucher Maintainer ---------- diff --git a/geoengine_partner/__init__.py b/geoengine_partner/__init__.py index f1572c10e..0650744f6 100644 --- a/geoengine_partner/__init__.py +++ b/geoengine_partner/__init__.py @@ -1,21 +1 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Author: Nicolas Bessi -# Copyright 2011-2012 Camptocamp SA -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## -from . import geo_partner +from . import models diff --git a/geoengine_partner/__manifest__.py b/geoengine_partner/__manifest__.py index f264760d5..93c5a5ea6 100644 --- a/geoengine_partner/__manifest__.py +++ b/geoengine_partner/__manifest__.py @@ -1,25 +1,8 @@ # -*- coding: utf-8 -*- -############################################################################## -# -# Author: Nicolas Bessi -# Copyright 2011-2012 Camptocamp SA -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## +# Copyright 2011-2017 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) {'name': 'Geospatial support of partners', - 'version': '8.0.0.1.0', + 'version': '9.0.1.0.0', 'category': 'GeoBI', 'author': "Camptocamp,Odoo Community Association (OCA)", 'license': 'AGPL-3', @@ -29,9 +12,8 @@ 'base_geoengine' ], 'data': [ - 'geo_partner_view.xml' + 'views/partner.xml' ], - 'installable': False, + 'installable': True, 'application': True, - 'active': False, } diff --git a/geoengine_partner/geo_partner.py b/geoengine_partner/geo_partner.py deleted file mode 100644 index 12f34b50c..000000000 --- a/geoengine_partner/geo_partner.py +++ /dev/null @@ -1,30 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Author: Nicolas Bessi -# Copyright 2011-2012 Camptocamp SA -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## - -from openerp.addons.base_geoengine import geo_model -from openerp.addons.base_geoengine import fields - - -class ResPartner(geo_model.GeoModel): - """Add geo_point to partner using a function filed""" - _inherit = "res.partner" - - geo_point = fields.GeoPoint('Addresses coordinate') diff --git a/geoengine_partner/models/__init__.py b/geoengine_partner/models/__init__.py new file mode 100644 index 000000000..4da81fa31 --- /dev/null +++ b/geoengine_partner/models/__init__.py @@ -0,0 +1 @@ +from . import partner diff --git a/geoengine_partner/models/partner.py b/geoengine_partner/models/partner.py new file mode 100644 index 000000000..b3d3f7eb2 --- /dev/null +++ b/geoengine_partner/models/partner.py @@ -0,0 +1,13 @@ +# -*- coding: utf-8 -*- +# Copyright 2011-2017 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +from openerp.addons.base_geoengine import geo_model +from openerp.addons.base_geoengine import fields + + +class ResPartner(geo_model.GeoModel): + """Add geo_point to partner using a function filed""" + _inherit = "res.partner" + + geo_point = fields.GeoPoint("Address coordinates") diff --git a/geoengine_partner/geo_partner_view.xml b/geoengine_partner/views/partner.xml similarity index 97% rename from geoengine_partner/geo_partner_view.xml rename to geoengine_partner/views/partner.xml index 7b77a315d..6326b30f1 100644 --- a/geoengine_partner/geo_partner_view.xml +++ b/geoengine_partner/views/partner.xml @@ -18,7 +18,7 @@ Partner view - + @@ -68,7 +68,7 @@ AABJRU5ErkJggg== - + osm Partner background From 3c2c429434f2e625809a83630363ca81246aa816 Mon Sep 17 00:00:00 2001 From: Pierre Verkest Date: Wed, 5 Apr 2017 16:47:48 +0200 Subject: [PATCH 31/46] [10.0][MIG] geoengine_partner --- geoengine_partner/README.rst | 16 +++- geoengine_partner/__manifest__.py | 4 +- geoengine_partner/models/partner.py | 4 +- geoengine_partner/views/partner.xml | 144 ++++++++++++++-------------- 4 files changed, 87 insertions(+), 81 deletions(-) diff --git a/geoengine_partner/README.rst b/geoengine_partner/README.rst index 79a1d8259..4e9bcad68 100644 --- a/geoengine_partner/README.rst +++ b/geoengine_partner/README.rst @@ -41,6 +41,11 @@ If you spotted it first, help us smashing it by providing a detailed and welcome Credits ======= +Images +------ + +* Odoo Community Association: `Icon `_. + Contributors ------------ @@ -50,16 +55,19 @@ Contributors * Nicolas Bessi * Sandy Carter * Yannick Vaucher +* Pierre Verkest Maintainer ---------- -.. image:: http://odoo-community.org/logo.png +.. image:: https://odoo-community.org/logo.png :alt: Odoo Community Association - :target: http://odoo-community.org + :target: https://odoo-community.org This module is maintained by the OCA. -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. +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. -To contribute to this module, please visit http://odoo-community.org. +To contribute to this module, please visit https://odoo-community.org. diff --git a/geoengine_partner/__manifest__.py b/geoengine_partner/__manifest__.py index 93c5a5ea6..a352bcd71 100644 --- a/geoengine_partner/__manifest__.py +++ b/geoengine_partner/__manifest__.py @@ -2,9 +2,9 @@ # Copyright 2011-2017 Camptocamp SA # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) {'name': 'Geospatial support of partners', - 'version': '9.0.1.0.0', + 'version': '10.0.1.0.0', 'category': 'GeoBI', - 'author': "Camptocamp,Odoo Community Association (OCA)", + 'author': "Camptocamp, Odoo Community Association (OCA)", 'license': 'AGPL-3', 'website': 'http://openerp.camptocamp.com', 'depends': [ diff --git a/geoengine_partner/models/partner.py b/geoengine_partner/models/partner.py index b3d3f7eb2..3d70bd0fa 100644 --- a/geoengine_partner/models/partner.py +++ b/geoengine_partner/models/partner.py @@ -2,8 +2,8 @@ # Copyright 2011-2017 Camptocamp SA # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) -from openerp.addons.base_geoengine import geo_model -from openerp.addons.base_geoengine import fields +from odoo.addons.base_geoengine import geo_model +from odoo.addons.base_geoengine import fields class ResPartner(geo_model.GeoModel): diff --git a/geoengine_partner/views/partner.xml b/geoengine_partner/views/partner.xml index 6326b30f1..a991be189 100644 --- a/geoengine_partner/views/partner.xml +++ b/geoengine_partner/views/partner.xml @@ -1,79 +1,77 @@ - - - - geo_partner_form - res.partner - - - - - + + geo_partner_form + res.partner + + + + + - - - - + + + + - - Partner view - - - - - - - - - - - - - res.partner - + + Partner view + + + + + + + + + + + + + res.partner + - - - geoengine - - - + + + geoengine + + + - - - Partner location - - - basic - - #FF680A - iVBORw0KGgoAAAANSUhEUgAAACAAAAAfCAYAAACGVs+MAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ - bWFnZVJlYWR5ccllPAAAA3VJREFUeNq8V89rE0EUfjOz6aZNpFZpqyCEIooHoVaoQkGoB3vyJB49 - iYieFERBEMRbxYP/gFcv3ntQLHqwqNR6LNUqIq0/m8S2u0l3NzszfpNsqN0e3MiuA4/Jmx3e++Z7 - 3/wI01pTkvZicF+zzwvR1c35efRX0B/K7SgScUHScVZ8KR96St31pPyuEHfk6+e/xrUoYWMwQM3D - 7gvOL9lIYA8MkD1+gli+hxozM/3qw8erHtEYpp7D/MUkcXlSAFiZUEQXEfgSiwCJvp0kDh8mcWSY - 2J49xBkzAY8B5KSvdTFVAKHWJan1dVMwQy/AkCyXKZydo8bLVySXl0kqZVgizDvT0Ho0SdzEJUDA - CaH1XgQ3YCjgnESlSmp6uqmBsFajoDWPmnOUOgX3WXoAlBoFxSLAKgWoZjDDhLXuNMsRwg/gQ4Bm - rvldSpUBrPoXR3CvLUgka4AFi7eqqExijPlmjmFISi9VDaA9xqoCiJHqSGKsBnPDkGowNxrbiL77 - Sr1JlQG017DnCDzR1oFol6MlvKYZFlCCCsT4JG0A67CbsGEkHzSK520KAcIkp2h3oN2CfUy7BKa9 - hZ2FzWnPo7BepwB9gF7ClKYKvl2GPUgaMDEDGtusfSrr0J+g42PXVLF4Uy8vM76rj6hQmKKn0zeY - EPOdrCgxAOvk+KazsVGlC+cf2fv3X+sOQ9uT5gDSU9q25ynh3dIxgO47t/+4GBhpxwn3Fgu6NFSi - paUv5Ky7gXVvcvPWSBsAd92tJdF6FQeRr0KZ1+YI1mpNrq5Rpy2xCBnjcYPgWOWP6/wH/UNLzEBX - Vy7OQIBKrEbpfVglUwCFnp44AI0jyI3KXYfb0B0KsLNtGBNW02fUFsaGuS4yZcDUPQZJY+xnpHgH - FmQKgHMWS48xRu1H3zdThmwBxBgwJcBYNXLL5tWWMQM8LkJinDuR62ZeAhYrQVODnK1H0jQXhcwU - gBBia35cfWClbJDgeeaADcPIfwTA8SARAKCb5Slb+M6zBLBNA62dYYSn8UdlNWdZ2QLo6+vdNibx - LAIQF+z4tp3ftlVTBVBZqcZPJurv3x16nv+jt7fXd/FgaYQNar0QMwDw6dPSFt+svVqt+iMjw3Jh - 4X24Ui2Tldt6YR06eCDFF5Flxc+B00g8/G5xYVYF6ui+odIOzHmI8Y62428BBgDwu9RGZbaLEwAA - AABJRU5ErkJggg== - - - - osm - Partner background - - - + + + Partner location + + + basic + + #FF680A + iVBORw0KGgoAAAANSUhEUgAAACAAAAAfCAYAAACGVs+MAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ + bWFnZVJlYWR5ccllPAAAA3VJREFUeNq8V89rE0EUfjOz6aZNpFZpqyCEIooHoVaoQkGoB3vyJB49 + iYieFERBEMRbxYP/gFcv3ntQLHqwqNR6LNUqIq0/m8S2u0l3NzszfpNsqN0e3MiuA4/Jmx3e++Z7 + 3/wI01pTkvZicF+zzwvR1c35efRX0B/K7SgScUHScVZ8KR96St31pPyuEHfk6+e/xrUoYWMwQM3D + 7gvOL9lIYA8MkD1+gli+hxozM/3qw8erHtEYpp7D/MUkcXlSAFiZUEQXEfgSiwCJvp0kDh8mcWSY + 2J49xBkzAY8B5KSvdTFVAKHWJan1dVMwQy/AkCyXKZydo8bLVySXl0kqZVgizDvT0Ho0SdzEJUDA + CaH1XgQ3YCjgnESlSmp6uqmBsFajoDWPmnOUOgX3WXoAlBoFxSLAKgWoZjDDhLXuNMsRwg/gQ4Bm + rvldSpUBrPoXR3CvLUgka4AFi7eqqExijPlmjmFISi9VDaA9xqoCiJHqSGKsBnPDkGowNxrbiL77 + Sr1JlQG017DnCDzR1oFol6MlvKYZFlCCCsT4JG0A67CbsGEkHzSK520KAcIkp2h3oN2CfUy7BKa9 + hZ2FzWnPo7BepwB9gF7ClKYKvl2GPUgaMDEDGtusfSrr0J+g42PXVLF4Uy8vM76rj6hQmKKn0zeY + EPOdrCgxAOvk+KazsVGlC+cf2fv3X+sOQ9uT5gDSU9q25ynh3dIxgO47t/+4GBhpxwn3Fgu6NFSi + paUv5Ky7gXVvcvPWSBsAd92tJdF6FQeRr0KZ1+YI1mpNrq5Rpy2xCBnjcYPgWOWP6/wH/UNLzEBX + Vy7OQIBKrEbpfVglUwCFnp44AI0jyI3KXYfb0B0KsLNtGBNW02fUFsaGuS4yZcDUPQZJY+xnpHgH + FmQKgHMWS48xRu1H3zdThmwBxBgwJcBYNXLL5tWWMQM8LkJinDuR62ZeAhYrQVODnK1H0jQXhcwU + gBBia35cfWClbJDgeeaADcPIfwTA8SARAKCb5Slb+M6zBLBNA62dYYSn8UdlNWdZ2QLo6+vdNibx + LAIQF+z4tp3ftlVTBVBZqcZPJurv3x16nv+jt7fXd/FgaYQNar0QMwDw6dPSFt+svVqt+iMjw3Jh + 4X24Ui2Tldt6YR06eCDFF5Flxc+B00g8/G5xYVYF6ui+odIOzHmI8Y62428BBgDwu9RGZbaLEwAA + AABJRU5ErkJggg== + + + + osm + Partner background + + + - - + From 41cf878afc26e3065c0e2054af8ca3f7a4bc189f Mon Sep 17 00:00:00 2001 From: oca-travis Date: Fri, 29 Mar 2019 13:05:11 +0000 Subject: [PATCH 32/46] [UPD] Update geoengine_partner.pot --- geoengine_partner/i18n/geoengine_partner.pot | 41 ++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 geoengine_partner/i18n/geoengine_partner.pot diff --git a/geoengine_partner/i18n/geoengine_partner.pot b/geoengine_partner/i18n/geoengine_partner.pot new file mode 100644 index 000000000..9acd0e3bb --- /dev/null +++ b/geoengine_partner/i18n/geoengine_partner.pot @@ -0,0 +1,41 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * geoengine_partner +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.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.ui.view,arch_db:geoengine_partner.geo_partner_view_form +msgid "Geoengine Map" +msgstr "" + +#. module: geoengine_partner +#: model:ir.model,name:geoengine_partner.model_res_partner +msgid "Partner" +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 "" + From 264d4fbc5056c13ced7044e599e747b54fb45eac Mon Sep 17 00:00:00 2001 From: "Laurent Mignon (ACSONE)" Date: Fri, 19 Jun 2020 11:07:33 +0200 Subject: [PATCH 33/46] [FIX] demo data: unknown field 'symbol_binary' --- geoengine_partner/views/partner.xml | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/geoengine_partner/views/partner.xml b/geoengine_partner/views/partner.xml index a991be189..6e2e4c9e9 100644 --- a/geoengine_partner/views/partner.xml +++ b/geoengine_partner/views/partner.xml @@ -47,25 +47,6 @@ basic #FF680A - iVBORw0KGgoAAAANSUhEUgAAACAAAAAfCAYAAACGVs+MAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ - bWFnZVJlYWR5ccllPAAAA3VJREFUeNq8V89rE0EUfjOz6aZNpFZpqyCEIooHoVaoQkGoB3vyJB49 - iYieFERBEMRbxYP/gFcv3ntQLHqwqNR6LNUqIq0/m8S2u0l3NzszfpNsqN0e3MiuA4/Jmx3e++Z7 - 3/wI01pTkvZicF+zzwvR1c35efRX0B/K7SgScUHScVZ8KR96St31pPyuEHfk6+e/xrUoYWMwQM3D - 7gvOL9lIYA8MkD1+gli+hxozM/3qw8erHtEYpp7D/MUkcXlSAFiZUEQXEfgSiwCJvp0kDh8mcWSY - 2J49xBkzAY8B5KSvdTFVAKHWJan1dVMwQy/AkCyXKZydo8bLVySXl0kqZVgizDvT0Ho0SdzEJUDA - CaH1XgQ3YCjgnESlSmp6uqmBsFajoDWPmnOUOgX3WXoAlBoFxSLAKgWoZjDDhLXuNMsRwg/gQ4Bm - rvldSpUBrPoXR3CvLUgka4AFi7eqqExijPlmjmFISi9VDaA9xqoCiJHqSGKsBnPDkGowNxrbiL77 - Sr1JlQG017DnCDzR1oFol6MlvKYZFlCCCsT4JG0A67CbsGEkHzSK520KAcIkp2h3oN2CfUy7BKa9 - hZ2FzWnPo7BepwB9gF7ClKYKvl2GPUgaMDEDGtusfSrr0J+g42PXVLF4Uy8vM76rj6hQmKKn0zeY - EPOdrCgxAOvk+KazsVGlC+cf2fv3X+sOQ9uT5gDSU9q25ynh3dIxgO47t/+4GBhpxwn3Fgu6NFSi - paUv5Ky7gXVvcvPWSBsAd92tJdF6FQeRr0KZ1+YI1mpNrq5Rpy2xCBnjcYPgWOWP6/wH/UNLzEBX - Vy7OQIBKrEbpfVglUwCFnp44AI0jyI3KXYfb0B0KsLNtGBNW02fUFsaGuS4yZcDUPQZJY+xnpHgH - FmQKgHMWS48xRu1H3zdThmwBxBgwJcBYNXLL5tWWMQM8LkJinDuR62ZeAhYrQVODnK1H0jQXhcwU - gBBia35cfWClbJDgeeaADcPIfwTA8SARAKCb5Slb+M6zBLBNA62dYYSn8UdlNWdZ2QLo6+vdNibx - LAIQF+z4tp3ftlVTBVBZqcZPJurv3x16nv+jt7fXd/FgaYQNar0QMwDw6dPSFt+svVqt+iMjw3Jh - 4X24Ui2Tldt6YR06eCDFF5Flxc+B00g8/G5xYVYF6ui+odIOzHmI8Y62428BBgDwu9RGZbaLEwAA - AABJRU5ErkJggg== - osm From 09f6d0cca9cda583c53527aced5ed550978084b5 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 19 Jun 2020 13:17:56 +0000 Subject: [PATCH 34/46] geoengine_partner 10.0.1.0.1 --- geoengine_partner/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geoengine_partner/__manifest__.py b/geoengine_partner/__manifest__.py index a352bcd71..a3cbaac94 100644 --- a/geoengine_partner/__manifest__.py +++ b/geoengine_partner/__manifest__.py @@ -2,7 +2,7 @@ # Copyright 2011-2017 Camptocamp SA # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) {'name': 'Geospatial support of partners', - 'version': '10.0.1.0.0', + 'version': '10.0.1.0.1', 'category': 'GeoBI', 'author': "Camptocamp, Odoo Community Association (OCA)", 'license': 'AGPL-3', From 57e444f930dec3e5df9438c788d690d35ce1fe56 Mon Sep 17 00:00:00 2001 From: oca-travis Date: Fri, 19 Jun 2020 13:59:01 +0000 Subject: [PATCH 35/46] [UPD] Update geoengine_partner.pot --- geoengine_partner/i18n/geoengine_partner.pot | 5 ----- 1 file changed, 5 deletions(-) diff --git a/geoengine_partner/i18n/geoengine_partner.pot b/geoengine_partner/i18n/geoengine_partner.pot index 9acd0e3bb..fdd7087ab 100644 --- a/geoengine_partner/i18n/geoengine_partner.pot +++ b/geoengine_partner/i18n/geoengine_partner.pot @@ -19,11 +19,6 @@ msgstr "" msgid "Address coordinates" msgstr "" -#. module: geoengine_partner -#: model:ir.ui.view,arch_db:geoengine_partner.geo_partner_view_form -msgid "Geoengine Map" -msgstr "" - #. module: geoengine_partner #: model:ir.model,name:geoengine_partner.model_res_partner msgid "Partner" From ef9e2919efca9b9a1e6151be03ff8b49154548dc Mon Sep 17 00:00:00 2001 From: sbejaoui Date: Mon, 6 Mar 2023 16:19:40 +0100 Subject: [PATCH 36/46] [16.0][MIG] - geoengine_partner --- geoengine_partner/__manifest__.py | 29 ++++++------- geoengine_partner/models/partner.py | 7 ++- geoengine_partner/views/partner.xml | 66 +++++++++++++++++------------ 3 files changed, 55 insertions(+), 47 deletions(-) diff --git a/geoengine_partner/__manifest__.py b/geoengine_partner/__manifest__.py index a3cbaac94..80d76e6f0 100644 --- a/geoengine_partner/__manifest__.py +++ b/geoengine_partner/__manifest__.py @@ -1,19 +1,14 @@ -# -*- coding: utf-8 -*- # Copyright 2011-2017 Camptocamp SA # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) -{'name': 'Geospatial support of partners', - 'version': '10.0.1.0.1', - 'category': 'GeoBI', - 'author': "Camptocamp, Odoo Community Association (OCA)", - 'license': 'AGPL-3', - 'website': 'http://openerp.camptocamp.com', - 'depends': [ - 'base', - 'base_geoengine' - ], - 'data': [ - 'views/partner.xml' - ], - 'installable': True, - 'application': True, - } +{ + "name": "Geospatial support of partners", + "version": "16.0.1.0.1", + "category": "GeoBI", + "author": "Camptocamp, Odoo Community Association (OCA)", + "license": "AGPL-3", + "website": "https://github.com/OCA/geospatial", + "depends": ["base", "base_geoengine"], + "data": ["views/partner.xml"], + "installable": True, + "application": True, +} diff --git a/geoengine_partner/models/partner.py b/geoengine_partner/models/partner.py index 3d70bd0fa..5865fd7ca 100644 --- a/geoengine_partner/models/partner.py +++ b/geoengine_partner/models/partner.py @@ -1,13 +1,12 @@ -# -*- coding: utf-8 -*- # Copyright 2011-2017 Camptocamp SA # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) -from odoo.addons.base_geoengine import geo_model -from odoo.addons.base_geoengine import fields +from odoo import fields, models -class ResPartner(geo_model.GeoModel): +class ResPartner(models.Model): """Add geo_point to partner using a function filed""" + _inherit = "res.partner" geo_point = fields.GeoPoint("Address coordinates") diff --git a/geoengine_partner/views/partner.xml b/geoengine_partner/views/partner.xml index 6e2e4c9e9..f65938f20 100644 --- a/geoengine_partner/views/partner.xml +++ b/geoengine_partner/views/partner.xml @@ -1,14 +1,17 @@ - + geo_partner_form res.partner - + - - + + @@ -18,41 +21,52 @@ Partner view - + - - - - - + + + + + + + + + + Name: + +
    +
  • Title:
  • +
  • Function:
  • +
  • Website:
  • +
  • ZIP:
  • +
  • City:
  • +
  • Country:
  • +
+
+
- + res.partner
- - - geoengine - - - - - + Partner location - - + + basic - + #FF680A osm Partner background - - + +
From e52c1e4d6207e6df62a3a788a5ab80c3995f3a6f Mon Sep 17 00:00:00 2001 From: sbejaoui Date: Mon, 6 Nov 2023 14:39:06 +0100 Subject: [PATCH 37/46] [IMP] improve partner geoengine view --- geoengine_partner/views/partner.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/geoengine_partner/views/partner.xml b/geoengine_partner/views/partner.xml index f65938f20..1a48dcb82 100644 --- a/geoengine_partner/views/partner.xml +++ b/geoengine_partner/views/partner.xml @@ -20,7 +20,7 @@ Partner view - + @@ -56,9 +56,11 @@ ref="geoengine_partner.field_res_partner__geo_point" /> Partner location - + basic + + 0.8 #FF680A From b9d9424668584e78eaeb3b3416454fc4f3600a51 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Mon, 13 Nov 2023 12:44:59 +0000 Subject: [PATCH 38/46] [UPD] Update geoengine_partner.pot --- geoengine_partner/i18n/geoengine_partner.pot | 51 +++++++++++++++++--- 1 file changed, 45 insertions(+), 6 deletions(-) diff --git a/geoengine_partner/i18n/geoengine_partner.pot b/geoengine_partner/i18n/geoengine_partner.pot index fdd7087ab..9beec5d33 100644 --- a/geoengine_partner/i18n/geoengine_partner.pot +++ b/geoengine_partner/i18n/geoengine_partner.pot @@ -1,12 +1,12 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * geoengine_partner +# * geoengine_partner # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: <>\n" +"Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -14,14 +14,39 @@ msgstr "" "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 +#: 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_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner +msgid "City:" +msgstr "" + #. module: geoengine_partner #: model:ir.model,name:geoengine_partner.model_res_partner -msgid "Partner" +msgid "Contact" +msgstr "" + +#. module: geoengine_partner +#: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner +msgid "Country:" +msgstr "" + +#. module: geoengine_partner +#: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner +msgid "Function:" +msgstr "" + +#. module: geoengine_partner +#: model_terms:ir.ui.view,arch_db:geoengine_partner.geo_partner_view_form +msgid "Geoengine Map" +msgstr "" + +#. module: geoengine_partner +#: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner +msgid "Name:" msgstr "" #. module: geoengine_partner @@ -34,3 +59,17 @@ msgstr "" msgid "Partner location" msgstr "" +#. module: geoengine_partner +#: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner +msgid "Title:" +msgstr "" + +#. module: geoengine_partner +#: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner +msgid "Website:" +msgstr "" + +#. module: geoengine_partner +#: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner +msgid "ZIP:" +msgstr "" From e9fbfd14d84955fc64b827567ea2ae9c3bbfc70b Mon Sep 17 00:00:00 2001 From: mymage Date: Fri, 26 Jan 2024 08:28:35 +0000 Subject: [PATCH 39/46] Added translation using Weblate (Italian) --- geoengine_partner/i18n/it.po | 78 ++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 geoengine_partner/i18n/it.po diff --git a/geoengine_partner/i18n/it.po b/geoengine_partner/i18n/it.po new file mode 100644 index 000000000..26d33a7be --- /dev/null +++ b/geoengine_partner/i18n/it.po @@ -0,0 +1,78 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * geoengine_partner +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-04-04 11:40+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\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 "Coordinate indirizzo" + +#. module: geoengine_partner +#: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner +msgid "City:" +msgstr "Città:" + +#. module: geoengine_partner +#: model:ir.model,name:geoengine_partner.model_res_partner +msgid "Contact" +msgstr "Contatto" + +#. module: geoengine_partner +#: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner +msgid "Country:" +msgstr "Nazione:" + +#. module: geoengine_partner +#: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner +msgid "Function:" +msgstr "Funzione:" + +#. module: geoengine_partner +#: model_terms:ir.ui.view,arch_db:geoengine_partner.geo_partner_view_form +msgid "Geoengine Map" +msgstr "Mappa Geoengine" + +#. module: geoengine_partner +#: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner +msgid "Name:" +msgstr "Nome:" + +#. module: geoengine_partner +#: model:geoengine.raster.layer,name:geoengine_partner.geoengine_raster_layer_res_partner_osm +msgid "Partner background" +msgstr "Sfondo partner" + +#. module: geoengine_partner +#: model:geoengine.vector.layer,name:geoengine_partner.geoengine_vector_layer_res_partner +msgid "Partner location" +msgstr "Posizione partner" + +#. module: geoengine_partner +#: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner +msgid "Title:" +msgstr "Titolo:" + +#. module: geoengine_partner +#: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner +msgid "Website:" +msgstr "Sito web:" + +#. module: geoengine_partner +#: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner +msgid "ZIP:" +msgstr "CAP:" From b4e66cfba1965ab9baf13a5175a95dea81bfa4bb Mon Sep 17 00:00:00 2001 From: Antoni Marroig Campomar Date: Thu, 16 May 2024 08:33:34 +0200 Subject: [PATCH 40/46] [IMP] geoengine_partner: pre-commit auto fixes --- geoengine_partner/pyproject.toml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 geoengine_partner/pyproject.toml diff --git a/geoengine_partner/pyproject.toml b/geoengine_partner/pyproject.toml new file mode 100644 index 000000000..4231d0ccc --- /dev/null +++ b/geoengine_partner/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" From e36bb803e49e9f07b19587237403f1cd219858c6 Mon Sep 17 00:00:00 2001 From: Antoni Marroig Campomar Date: Thu, 16 May 2024 09:32:39 +0200 Subject: [PATCH 41/46] [MIG] geoengine_partner: Migration to 17.0 --- geoengine_partner/README.rst | 91 ++-- geoengine_partner/__manifest__.py | 2 +- geoengine_partner/readme/CONTRIBUTORS.md | 9 + geoengine_partner/readme/DESCRIPTION.md | 1 + geoengine_partner/readme/INSTALL.md | 1 + geoengine_partner/readme/USAGE.md | 6 + .../static/description/index.html | 448 ++++++++++++++++++ 7 files changed, 526 insertions(+), 32 deletions(-) create mode 100644 geoengine_partner/readme/CONTRIBUTORS.md create mode 100644 geoengine_partner/readme/DESCRIPTION.md create mode 100644 geoengine_partner/readme/INSTALL.md create mode 100644 geoengine_partner/readme/USAGE.md create mode 100644 geoengine_partner/static/description/index.html diff --git a/geoengine_partner/README.rst b/geoengine_partner/README.rst index 4e9bcad68..802ad5ebb 100644 --- a/geoengine_partner/README.rst +++ b/geoengine_partner/README.rst @@ -1,13 +1,39 @@ -.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg - :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html - :alt: License: AGPL-3 - ============================== Geospatial support of partners ============================== +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:ae44b0e11797ff8a1aa6cebb41d7948d7c6999905ecd7dfd2d717f398ecd2ddc + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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/17.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-17-0/geospatial-17-0-geoengine_partner + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/geospatial&target_branch=17.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + Geolocalise your partner. +**Table of contents** + +.. contents:: + :local: Installation ============ @@ -18,56 +44,59 @@ Take a look at the installation section in the description of the module Usage ===== -* Open a partner form -* Go in `Geoengine Map` tab -* Change to edit mode -* Click on the map to add a point. +- Open a partner form +- Go in Geoengine Map tab +- Change to edit mode +- Click on the map to add a point. -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 +To remove the point click on the trash bin. To edit the point drag and +drop it. Bug Tracker =========== Bugs are tracked on `GitHub 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. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. Credits ======= -Images ------- +Authors +------- -* Odoo Community Association: `Icon `_. +* Camptocamp Contributors ------------ -* Guewen Baconnier -* Jordi Riera -* Laurent Mignon -* Nicolas Bessi -* Sandy Carter -* Yannick Vaucher -* Pierre Verkest +- Guewen Baconnier +- Jordi Riera +- Laurent Mignon +- Nicolas Bessi +- Sandy Carter +- Yannick Vaucher +- Pierre Verkest +- `APSL-Nagarro `__: -Maintainer ----------- + - Antoni Marroig + +Maintainers +----------- + +This module is maintained by the OCA. .. image:: https://odoo-community.org/logo.png :alt: Odoo Community Association :target: https://odoo-community.org -This module is maintained by the OCA. - 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. -To contribute to this module, please visit https://odoo-community.org. +This module is part of the `OCA/geospatial `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/geoengine_partner/__manifest__.py b/geoengine_partner/__manifest__.py index 80d76e6f0..0c01ce659 100644 --- a/geoengine_partner/__manifest__.py +++ b/geoengine_partner/__manifest__.py @@ -2,7 +2,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) { "name": "Geospatial support of partners", - "version": "16.0.1.0.1", + "version": "17.0.1.0.0", "category": "GeoBI", "author": "Camptocamp, Odoo Community Association (OCA)", "license": "AGPL-3", diff --git a/geoengine_partner/readme/CONTRIBUTORS.md b/geoengine_partner/readme/CONTRIBUTORS.md new file mode 100644 index 000000000..13b636db1 --- /dev/null +++ b/geoengine_partner/readme/CONTRIBUTORS.md @@ -0,0 +1,9 @@ +- Guewen Baconnier \<\> +- Jordi Riera \<\> +- Laurent Mignon \<\> +- Nicolas Bessi \<\> +- Sandy Carter \<\> +- Yannick Vaucher \<\> +- Pierre Verkest \<\> +- [APSL-Nagarro](https://www.apsl.tech): + - Antoni Marroig \<\> \ No newline at end of file diff --git a/geoengine_partner/readme/DESCRIPTION.md b/geoengine_partner/readme/DESCRIPTION.md new file mode 100644 index 000000000..d66df5d3e --- /dev/null +++ b/geoengine_partner/readme/DESCRIPTION.md @@ -0,0 +1 @@ +Geolocalise your partner. diff --git a/geoengine_partner/readme/INSTALL.md b/geoengine_partner/readme/INSTALL.md new file mode 100644 index 000000000..91f07271f --- /dev/null +++ b/geoengine_partner/readme/INSTALL.md @@ -0,0 +1 @@ +Take a look at the installation section in the description of the module 'base_geoengine'. diff --git a/geoengine_partner/readme/USAGE.md b/geoengine_partner/readme/USAGE.md new file mode 100644 index 000000000..dfd361e80 --- /dev/null +++ b/geoengine_partner/readme/USAGE.md @@ -0,0 +1,6 @@ +- Open a partner form +- Go in Geoengine Map tab +- Change to edit mode +- Click on the map to add a point. + +To remove the point click on the trash bin. To edit the point drag and drop it. \ No newline at end of file diff --git a/geoengine_partner/static/description/index.html b/geoengine_partner/static/description/index.html new file mode 100644 index 000000000..2d630e89d --- /dev/null +++ b/geoengine_partner/static/description/index.html @@ -0,0 +1,448 @@ + + + + + +Geospatial support of partners + + + +
+

Geospatial support of partners

+ + +

Beta License: AGPL-3 OCA/geospatial Translate me on Weblate Try me on Runboat

+

Geolocalise your partner.

+

Table of contents

+ +
+

Installation

+

Take a look at the installation section in the description of the module +‘base_geoengine’.

+
+
+

Usage

+
    +
  • Open a partner form
  • +
  • Go in Geoengine Map tab
  • +
  • Change to edit mode
  • +
  • Click on the map to add a point.
  • +
+

To remove the point click on the trash bin. To edit the point drag and +drop it.

+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Camptocamp
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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 project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + From a1c62925f21972623659d3abe2f307f1c0dca2af Mon Sep 17 00:00:00 2001 From: oca-ci Date: Thu, 17 Oct 2024 08:37:24 +0000 Subject: [PATCH 42/46] [UPD] Update geoengine_partner.pot --- geoengine_partner/i18n/geoengine_partner.pot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geoengine_partner/i18n/geoengine_partner.pot b/geoengine_partner/i18n/geoengine_partner.pot index 9beec5d33..53e05568f 100644 --- a/geoengine_partner/i18n/geoengine_partner.pot +++ b/geoengine_partner/i18n/geoengine_partner.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0\n" +"Project-Id-Version: Odoo Server 17.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" From 197e0c60cf7976a686aa86cd8b4d80ec1dd5c5a4 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 17 Oct 2024 08:44:25 +0000 Subject: [PATCH 43/46] [BOT] post-merge updates --- geoengine_partner/README.rst | 2 +- geoengine_partner/static/description/index.html | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/geoengine_partner/README.rst b/geoengine_partner/README.rst index 802ad5ebb..6a146fe1b 100644 --- a/geoengine_partner/README.rst +++ b/geoengine_partner/README.rst @@ -7,7 +7,7 @@ Geospatial support of partners !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:ae44b0e11797ff8a1aa6cebb41d7948d7c6999905ecd7dfd2d717f398ecd2ddc + !! source digest: sha256:bc3288d0ca7beee07a92d26b0d31c7d41a8a35a81eeb272b2877d4c15e619bbe !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/geoengine_partner/static/description/index.html b/geoengine_partner/static/description/index.html index 2d630e89d..b9339b10a 100644 --- a/geoengine_partner/static/description/index.html +++ b/geoengine_partner/static/description/index.html @@ -8,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -274,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* 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 } @@ -300,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -366,7 +367,7 @@

Geospatial support of partners

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:ae44b0e11797ff8a1aa6cebb41d7948d7c6999905ecd7dfd2d717f398ecd2ddc +!! source digest: sha256:bc3288d0ca7beee07a92d26b0d31c7d41a8a35a81eeb272b2877d4c15e619bbe !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/geospatial Translate me on Weblate Try me on Runboat

Geolocalise your partner.

@@ -435,7 +436,9 @@

Contributors

Maintainers

This module is maintained by the OCA.

-Odoo Community Association + +Odoo Community Association +

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.

From 70f3b8076a2feb9de6c4bdbfd1e708a610ff29f9 Mon Sep 17 00:00:00 2001 From: xtanuiha Date: Mon, 25 Nov 2024 06:42:11 +0000 Subject: [PATCH 44/46] Added translation using Weblate (Chinese (Simplified) (zh_CN)) --- geoengine_partner/i18n/zh_CN.po | 76 +++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 geoengine_partner/i18n/zh_CN.po diff --git a/geoengine_partner/i18n/zh_CN.po b/geoengine_partner/i18n/zh_CN.po new file mode 100644 index 000000000..3fbcb9ea8 --- /dev/null +++ b/geoengine_partner/i18n/zh_CN.po @@ -0,0 +1,76 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * geoengine_partner +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\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_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner +msgid "City:" +msgstr "" + +#. module: geoengine_partner +#: model:ir.model,name:geoengine_partner.model_res_partner +msgid "Contact" +msgstr "" + +#. module: geoengine_partner +#: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner +msgid "Country:" +msgstr "" + +#. module: geoengine_partner +#: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner +msgid "Function:" +msgstr "" + +#. module: geoengine_partner +#: model_terms:ir.ui.view,arch_db:geoengine_partner.geo_partner_view_form +msgid "Geoengine Map" +msgstr "" + +#. module: geoengine_partner +#: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner +msgid "Name:" +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 "" + +#. module: geoengine_partner +#: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner +msgid "Title:" +msgstr "" + +#. module: geoengine_partner +#: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner +msgid "Website:" +msgstr "" + +#. module: geoengine_partner +#: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner +msgid "ZIP:" +msgstr "" From 2042a572852eafd745f88d393219b25781a466ff Mon Sep 17 00:00:00 2001 From: xtanuiha Date: Mon, 25 Nov 2024 06:42:18 +0000 Subject: [PATCH 45/46] Translated using Weblate (Chinese (Simplified) (zh_CN)) Currently translated at 100.0% (12 of 12 strings) Translation: geospatial-17.0/geospatial-17.0-geoengine_partner Translate-URL: https://translation.odoo-community.org/projects/geospatial-17-0/geospatial-17-0-geoengine_partner/zh_CN/ --- geoengine_partner/i18n/zh_CN.po | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/geoengine_partner/i18n/zh_CN.po b/geoengine_partner/i18n/zh_CN.po index 3fbcb9ea8..94e97c702 100644 --- a/geoengine_partner/i18n/zh_CN.po +++ b/geoengine_partner/i18n/zh_CN.po @@ -6,71 +6,73 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 17.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-11-25 09:06+0000\n" +"Last-Translator: xtanuiha \n" "Language-Team: none\n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.6.2\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 "" +msgstr "地址坐标" #. module: geoengine_partner #: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner msgid "City:" -msgstr "" +msgstr "城市:" #. module: geoengine_partner #: model:ir.model,name:geoengine_partner.model_res_partner msgid "Contact" -msgstr "" +msgstr "联系人" #. module: geoengine_partner #: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner msgid "Country:" -msgstr "" +msgstr "国家:" #. module: geoengine_partner #: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner msgid "Function:" -msgstr "" +msgstr "职务:" #. module: geoengine_partner #: model_terms:ir.ui.view,arch_db:geoengine_partner.geo_partner_view_form msgid "Geoengine Map" -msgstr "" +msgstr "地理引擎地图" #. module: geoengine_partner #: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner msgid "Name:" -msgstr "" +msgstr "名称:" #. module: geoengine_partner #: model:geoengine.raster.layer,name:geoengine_partner.geoengine_raster_layer_res_partner_osm msgid "Partner background" -msgstr "" +msgstr "合作伙伴背景" #. module: geoengine_partner #: model:geoengine.vector.layer,name:geoengine_partner.geoengine_vector_layer_res_partner msgid "Partner location" -msgstr "" +msgstr "合作伙伴位置" #. module: geoengine_partner #: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner msgid "Title:" -msgstr "" +msgstr "头衔:" #. module: geoengine_partner #: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner msgid "Website:" -msgstr "" +msgstr "网站:" #. module: geoengine_partner #: model_terms:ir.ui.view,arch_db:geoengine_partner.ir_ui_view_geo_partner msgid "ZIP:" -msgstr "" +msgstr "邮编:" From 43be8fe106c4f1644fd94cbc67f13730674be3cd Mon Sep 17 00:00:00 2001 From: solomonprabu Date: Wed, 27 May 2026 16:44:04 +0530 Subject: [PATCH 46/46] [MIG] geoengine_partner: Migration to 18.0 --- geoengine_partner/README.rst | 36 +++++++++---------- geoengine_partner/__manifest__.py | 5 +-- .../static/description/index.html | 6 ++-- geoengine_partner/views/partner.xml | 35 ++++++++++++------ 4 files changed, 48 insertions(+), 34 deletions(-) diff --git a/geoengine_partner/README.rst b/geoengine_partner/README.rst index 6a146fe1b..00e58ea02 100644 --- a/geoengine_partner/README.rst +++ b/geoengine_partner/README.rst @@ -17,13 +17,13 @@ Geospatial support of partners :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/17.0/geoengine_partner + :target: https://github.com/OCA/geospatial/tree/18.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-17-0/geospatial-17-0-geoengine_partner + :target: https://translation.odoo-community.org/projects/geospatial-18-0/geospatial-18-0-geoengine_partner :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/geospatial&target_branch=17.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/geospatial&target_branch=18.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -44,10 +44,10 @@ Take a look at the installation section in the description of the module Usage ===== -- Open a partner form -- Go in Geoengine Map tab -- Change to edit mode -- Click on the map to add a point. +- Open a partner form +- Go in Geoengine Map tab +- Change to edit mode +- Click on the map to add a point. To remove the point click on the trash bin. To edit the point drag and drop it. @@ -58,7 +58,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -73,16 +73,16 @@ Authors Contributors ------------ -- Guewen Baconnier -- Jordi Riera -- Laurent Mignon -- Nicolas Bessi -- Sandy Carter -- Yannick Vaucher -- Pierre Verkest -- `APSL-Nagarro `__: +- Guewen Baconnier +- Jordi Riera +- Laurent Mignon +- Nicolas Bessi +- Sandy Carter +- Yannick Vaucher +- Pierre Verkest +- `APSL-Nagarro `__: - - Antoni Marroig + - Antoni Marroig Maintainers ----------- @@ -97,6 +97,6 @@ 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 `_ project on GitHub. +This module is part of the `OCA/geospatial `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/geoengine_partner/__manifest__.py b/geoengine_partner/__manifest__.py index 0c01ce659..3b5ee5df8 100644 --- a/geoengine_partner/__manifest__.py +++ b/geoengine_partner/__manifest__.py @@ -1,13 +1,14 @@ # Copyright 2011-2017 Camptocamp SA +# Copyright 2026 CIT Services EU # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) { "name": "Geospatial support of partners", - "version": "17.0.1.0.0", + "version": "18.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"], + "depends": ["base", "contacts", "base_geoengine"], "data": ["views/partner.xml"], "installable": True, "application": True, diff --git a/geoengine_partner/static/description/index.html b/geoengine_partner/static/description/index.html index b9339b10a..e687a25fb 100644 --- a/geoengine_partner/static/description/index.html +++ b/geoengine_partner/static/description/index.html @@ -369,7 +369,7 @@

Geospatial support of partners

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:bc3288d0ca7beee07a92d26b0d31c7d41a8a35a81eeb272b2877d4c15e619bbe !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/geospatial Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/geospatial Translate me on Weblate Try me on Runboat

Geolocalise your partner.

Table of contents

@@ -406,7 +406,7 @@

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -feedback.

+feedback.

Do not contact contributors directly about support or help with technical issues.

@@ -442,7 +442,7 @@

Maintainers

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 project on GitHub.

+

This module is part of the OCA/geospatial project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

diff --git a/geoengine_partner/views/partner.xml b/geoengine_partner/views/partner.xml index 1a48dcb82..52f012529 100644 --- a/geoengine_partner/views/partner.xml +++ b/geoengine_partner/views/partner.xml @@ -30,19 +30,19 @@ - - + + Name: -
    -
  • Title:
  • -
  • Function:
  • -
  • Website:
  • -
  • ZIP:
  • -
  • City:
  • -
  • Country:
  • -
-
+
    +
  • Title:
  • +
  • Function:
  • +
  • Website:
  • +
  • ZIP:
  • +
  • City:
  • +
  • Country:
  • +
+
@@ -71,4 +71,17 @@
+ + geoengine,kanban,list,form,activity + + + + + geoengine + + +