From d721a2a0ca6f32effa4ad803d6f59fe49a3cb98c Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Sat, 28 Jan 2012 01:00:40 +0100 Subject: [PATCH 01/42] [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 fe10932df47e1bd415f2b2f0a75d00a9199bef5e Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Thu, 2 Feb 2012 00:21:41 +0100 Subject: [PATCH 02/42] [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 564794fa33e636d831fb7495750e0d08f7acf95a Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Thu, 2 Feb 2012 19:59:29 +0100 Subject: [PATCH 03/42] [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 3efa915ddaf80a8fc66fcc71e56d751bd4cf85d9 Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Thu, 2 Feb 2012 23:08:18 +0100 Subject: [PATCH 04/42] =?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 8e7d878393476e7380149950cdced7f60e6b17e4 Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Mon, 6 Feb 2012 18:15:11 +0100 Subject: [PATCH 05/42] [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 df3d9ac667758de36329e8a319574d3be64808ae Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Thu, 9 Feb 2012 10:19:59 +0100 Subject: [PATCH 06/42] [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 4632c382daf55cffb07f04abd6e14003334f3826 Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Thu, 9 Feb 2012 15:24:50 +0100 Subject: [PATCH 07/42] [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 13ad4ad78530f066f9fe5ec7654126e0896a7ed8 Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Thu, 19 Apr 2012 10:15:51 +0200 Subject: [PATCH 08/42] =?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 222b6006c7a80aca405e3805830e9d0127999655 Mon Sep 17 00:00:00 2001 From: "@" <@> Date: Mon, 1 Oct 2012 12:27:35 +0200 Subject: [PATCH 09/42] [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 0938bb2f0f674ab34a28049beba64c444edd00b4 Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Fri, 28 Dec 2012 10:54:56 +0100 Subject: [PATCH 10/42] [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 9e0b5d3dab4a2e195e785353c544e06b8e96b893 Mon Sep 17 00:00:00 2001 From: Sandy Carter Date: Fri, 13 Sep 2013 16:48:29 -0400 Subject: [PATCH 11/42] 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 1849e2ef117cf6cbf72814be267132b477f8ba4a Mon Sep 17 00:00:00 2001 From: Sandy Carter Date: Mon, 16 Sep 2013 17:58:02 -0400 Subject: [PATCH 12/42] 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 12982e5a6dc81704854bb96ec1b1fa98977b6883 Mon Sep 17 00:00:00 2001 From: Sandy Carter Date: Wed, 25 Sep 2013 17:50:12 -0400 Subject: [PATCH 13/42] [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 e927aa088272603e1dec64cf77e33e0d1ec719a8 Mon Sep 17 00:00:00 2001 From: Sandy Carter Date: Thu, 26 Sep 2013 18:16:09 -0400 Subject: [PATCH 14/42] [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 67583f72392f5dfd549523f00db0c93139be2134 Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Fri, 27 Sep 2013 13:20:43 +0200 Subject: [PATCH 15/42] [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 8a83bebd44cfe61980973fa7433bb337ff632ca5 Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Mon, 30 Jun 2014 16:59:15 +0200 Subject: [PATCH 16/42] 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 01057c30b6e7e2fcf8d15a2df4bd9fecd3b87bbd Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Wed, 2 Jul 2014 14:41:39 +0200 Subject: [PATCH 17/42] 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 751bf035080adc03a7fd56c172265d37ec905c9d Mon Sep 17 00:00:00 2001 From: Nicolas Bessi Date: Wed, 2 Jul 2014 14:42:45 +0200 Subject: [PATCH 18/42] [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 4907763537a00645755a49c1a8bf65cee0fe2e4f Mon Sep 17 00:00:00 2001 From: "Laurent Mignon (aka lmi)" Date: Wed, 4 Mar 2015 10:42:16 +0100 Subject: [PATCH 19/42] [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 4566f31db6abb7ff1e995935bcd6ee399833d1c7 Mon Sep 17 00:00:00 2001 From: Laurent Mignon Date: Fri, 6 Mar 2015 09:13:42 +0100 Subject: [PATCH 20/42] [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 cbc369043b8d362161f8d62f8cfb3ce646a0b41f Mon Sep 17 00:00:00 2001 From: "Laurent Mignon (aka lmi)" Date: Thu, 5 Mar 2015 18:58:57 +0100 Subject: [PATCH 21/42] [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 21d1a3bb614bca7245aa77f488d27af534cf2c20 Mon Sep 17 00:00:00 2001 From: Jordi Riera Date: Mon, 9 Mar 2015 14:28:14 -0400 Subject: [PATCH 22/42] [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/42] [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 24a912945a0f5ee01fb51254d5c8e2b771eb37e1 Mon Sep 17 00:00:00 2001 From: "Laurent Mignon (ACSONE)" Date: Tue, 10 Mar 2015 18:01:09 +0100 Subject: [PATCH 24/42] [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 1ebf1e9e37547195e3dc974a65100d1001f73e6a Mon Sep 17 00:00:00 2001 From: Laurent Mignon Date: Tue, 2 Jun 2015 10:24:50 +0200 Subject: [PATCH 25/42] [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 628e719643d0c213ef0783a84527f1d888e5a89d 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/42] [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 1c0697ba486ac5fa9f54beba45d3bc85515f50f7 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Wed, 14 Oct 2015 02:25:35 +0200 Subject: [PATCH 27/42] [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 a0ac24b236b35d5da473ff04adf62e4dffa8c4be Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Thu, 6 Oct 2016 14:51:48 +0200 Subject: [PATCH 28/42] [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 7c66dff7967c2c73b4efd0f2199adffc516c86a8 Mon Sep 17 00:00:00 2001 From: Yannick Vaucher Date: Sat, 8 Oct 2016 19:46:41 +0200 Subject: [PATCH 29/42] 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 002027cf1f8b422efbbea2775b5026845d66c72a Mon Sep 17 00:00:00 2001 From: Yannick Vaucher Date: Fri, 17 Feb 2017 15:37:43 +0100 Subject: [PATCH 30/42] [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 c010474d24fb5bf0c8ab02e620aa747c0002403e Mon Sep 17 00:00:00 2001 From: Pierre Verkest Date: Wed, 5 Apr 2017 16:47:48 +0200 Subject: [PATCH 31/42] [10.0][MIG] geoengine_partner --- geoengine_partner/README.rst | 16 ++- geoengine_partner/__manifest__.py | 4 +- geoengine_partner/i18n/geoengine_partner.pot | 41 ++++++ geoengine_partner/models/partner.py | 4 +- geoengine_partner/views/partner.xml | 144 +++++++++---------- 5 files changed, 128 insertions(+), 81 deletions(-) create mode 100644 geoengine_partner/i18n/geoengine_partner.pot 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/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 "" + 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 e8a67ec88096281a4ae61429d137f39d7f2393d9 Mon Sep 17 00:00:00 2001 From: "Laurent Mignon (ACSONE)" Date: Fri, 19 Jun 2020 11:07:33 +0200 Subject: [PATCH 32/42] [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 d2b6b1a381d839adb3207d353e1186c76c7e3979 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 19 Jun 2020 13:17:56 +0000 Subject: [PATCH 33/42] geoengine_partner 10.0.1.0.1 --- geoengine_partner/__manifest__.py | 2 +- geoengine_partner/i18n/geoengine_partner.pot | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) 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', 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 5c163427bdee773ac3b6d57d440dd068cf1e4331 Mon Sep 17 00:00:00 2001 From: sbejaoui Date: Mon, 6 Mar 2023 16:19:40 +0100 Subject: [PATCH 34/42] [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 65e6964d04ba40e7bedaedbfd341774937787529 Mon Sep 17 00:00:00 2001 From: sbejaoui Date: Mon, 6 Nov 2023 14:39:06 +0100 Subject: [PATCH 35/42] [IMP] improve partner geoengine view --- geoengine_partner/i18n/geoengine_partner.pot | 51 +++++++++++++++++--- geoengine_partner/views/partner.xml | 6 ++- 2 files changed, 49 insertions(+), 8 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 "" 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 014bc5a6fa3fd45b535cd6c0c29caa267437ad39 Mon Sep 17 00:00:00 2001 From: mymage Date: Fri, 26 Jan 2024 08:28:35 +0000 Subject: [PATCH 36/42] 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 b5026b1590828b9f7f5882ce2cb75e2801435902 Mon Sep 17 00:00:00 2001 From: Antoni Marroig Campomar Date: Thu, 16 May 2024 08:33:34 +0200 Subject: [PATCH 37/42] [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 272b82865e2ca48ae157322502f3446fcaed4a4c Mon Sep 17 00:00:00 2001 From: Antoni Marroig Campomar Date: Thu, 16 May 2024 09:32:39 +0200 Subject: [PATCH 38/42] [MIG] geoengine_partner: Migration to 17.0 --- geoengine_partner/README.rst | 91 ++-- geoengine_partner/__manifest__.py | 2 +- geoengine_partner/i18n/geoengine_partner.pot | 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 | 451 ++++++++++++++++++ 8 files changed, 530 insertions(+), 33 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..6a146fe1b 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:bc3288d0ca7beee07a92d26b0d31c7d41a8a35a81eeb272b2877d4c15e619bbe + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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/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" 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..b9339b10a --- /dev/null +++ b/geoengine_partner/static/description/index.html @@ -0,0 +1,451 @@ + + + + + +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 2b3f9391a77eeb547e446de3da411af797471e19 Mon Sep 17 00:00:00 2001 From: xtanuiha Date: Mon, 25 Nov 2024 06:42:11 +0000 Subject: [PATCH 39/42] Added translation using Weblate (Chinese (Simplified) (zh_CN)) --- geoengine_partner/i18n/zh_CN.po | 78 +++++++++++++++++++++++++++++++++ 1 file changed, 78 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..94e97c702 --- /dev/null +++ b/geoengine_partner/i18n/zh_CN.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 17.0\n" +"Report-Msgid-Bugs-To: \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 "地址坐标" + +#. 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 b506e8fb738cf3b04e21f5984e3f1b4a7633350e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Paradis?= Date: Fri, 10 Apr 2026 13:18:06 +0000 Subject: [PATCH 40/42] [IMP] geoengine_partner: pre-commit auto fixes --- geoengine_partner/views/partner.xml | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/geoengine_partner/views/partner.xml b/geoengine_partner/views/partner.xml index 1a48dcb82..f2c52f501 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:
  • +
+
@@ -70,5 +70,4 @@
- From 52ca122c8c8f600384a7591254381fa18e2c2a8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Paradis?= Date: Fri, 10 Apr 2026 13:18:06 +0000 Subject: [PATCH 41/42] [MIG] geoengine_partner: Migration to 19.0 --- geoengine_partner/README.rst | 42 ++++++++++--------- geoengine_partner/__manifest__.py | 2 +- geoengine_partner/models/partner.py | 2 +- .../static/description/index.html | 32 ++++++++------ geoengine_partner/views/partner.xml | 22 +++++----- 5 files changed, 56 insertions(+), 44 deletions(-) diff --git a/geoengine_partner/README.rst b/geoengine_partner/README.rst index 6a146fe1b..aaa2a0d1d 100644 --- a/geoengine_partner/README.rst +++ b/geoengine_partner/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + ============================== Geospatial support of partners ============================== @@ -13,17 +17,17 @@ Geospatial support of partners .. |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 +.. |badge2| image:: https://img.shields.io/badge/license-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 + :target: https://github.com/OCA/geospatial/tree/19.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-19-0/geospatial-19-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=19.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -44,10 +48,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 +62,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 +77,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 +101,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..74eca698a 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": "17.0.1.0.0", + "version": "19.0.1.0.0", "category": "GeoBI", "author": "Camptocamp, Odoo Community Association (OCA)", "license": "AGPL-3", diff --git a/geoengine_partner/models/partner.py b/geoengine_partner/models/partner.py index 5865fd7ca..429458881 100644 --- a/geoengine_partner/models/partner.py +++ b/geoengine_partner/models/partner.py @@ -5,7 +5,7 @@ class ResPartner(models.Model): - """Add geo_point to partner using a function filed""" + """Add geo_point to partner using a function field""" _inherit = "res.partner" diff --git a/geoengine_partner/static/description/index.html b/geoengine_partner/static/description/index.html index b9339b10a..e35439770 100644 --- a/geoengine_partner/static/description/index.html +++ b/geoengine_partner/static/description/index.html @@ -3,7 +3,7 @@ -Geospatial support of partners +README.rst -
-

Geospatial support of partners

+
+ + +Odoo Community Association + +
+

Geospatial support of partners

-

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

@@ -386,12 +391,12 @@

Geospatial support of partners

-

Installation

+

Installation

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

-

Usage

+

Usage

  • Open a partner form
  • Go in Geoengine Map tab
  • @@ -402,23 +407,23 @@

    Usage

    drop it.

-

Bug Tracker

+

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.

-

Credits

+

Credits

-

Authors

+

Authors

  • Camptocamp
-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association @@ -442,10 +447,11 @@

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 f2c52f501..9dfe6b7b4 100644 --- a/geoengine_partner/views/partner.xml +++ b/geoengine_partner/views/partner.xml @@ -22,7 +22,6 @@ - @@ -31,16 +30,19 @@ - - Name: - + Name: +
    -
  • Title:
  • -
  • Function:
  • -
  • Website:
  • -
  • ZIP:
  • -
  • City:
  • -
  • Country:
  • +
  • Function: +
  • +
  • Website: +
  • +
  • ZIP: +
  • +
  • City: +
  • +
  • Country: +
From d0757d686c79abb7afd0d5cc56cdfd651f7d3e9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Paradis?= Date: Fri, 10 Apr 2026 15:35:07 +0000 Subject: [PATCH 42/42] [DON'T MERGE] test-requirements.txt --- geoengine_partner/test-requirements.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 geoengine_partner/test-requirements.txt diff --git a/geoengine_partner/test-requirements.txt b/geoengine_partner/test-requirements.txt new file mode 100644 index 000000000..45d799892 --- /dev/null +++ b/geoengine_partner/test-requirements.txt @@ -0,0 +1 @@ +odoo-addon-geoengine_base @ git+https://github.com/OCA/geospatial.git@refs/pull/414/head#subdirectory=geoengine_base