From dec8c40c11cbbe946f292abdfe84dfc509487026 Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Fri, 30 Aug 2013 15:40:26 +0200 Subject: [IMP] rename website_google_map; add demo for event bzr revid: chm@openerp.com-20130830134026-88luqb16o6ny6voy --- addons/website_google_map/controllers/main.py | 69 +++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 addons/website_google_map/controllers/main.py (limited to 'addons/website_google_map/controllers/main.py') diff --git a/addons/website_google_map/controllers/main.py b/addons/website_google_map/controllers/main.py new file mode 100644 index 00000000000..f2f42c41651 --- /dev/null +++ b/addons/website_google_map/controllers/main.py @@ -0,0 +1,69 @@ +# -*- coding: utf-8 -*- + +import openerp +from openerp.addons.web import http +from openerp.addons.web.http import request +import simplejson +import werkzeug.wrappers +from datetime import datetime + +class google_map(http.Controller): + + @http.route(['/google_map/'], type='http', auth="admin") + def google_map(self, *arg, **post): + website = request.registry['website'] + values = website.get_rendering_context() + values['partner_ids'] = post.get('partner_ids', "") + values['width'] = post.get('width', 900) + values['height'] = post.get('height', 460) + values['partner_url'] = post.get('partner_url') + return website.render("website_google_map.google_map", values) + + @http.route(['/google_map/partners.json'], type='http', auth="admin") + def google_map_data(self, *arg, **post): + website = request.registry['website'] + partner_obj = request.registry['res.partner'] + + domain = [("id", "in", [int(p) for p in post.get('partner_ids', "").split(",") if p])] + partner_ids = partner_obj.search(request.cr, openerp.SUPERUSER_ID, domain + [('website_published', '=', True)]) + if request.uid != website.get_public_user().id: + partner_ids += partner_obj.search(request.cr, request.uid, domain) + partner_ids = list(set(partner_ids)) + + data = { + "counter": len(partner_ids), + "partners": [] + } + for partner in partner_obj.browse(request.cr, openerp.SUPERUSER_ID, partner_ids, context={'show_address': True}): + data["partners"].append({ + 'id': partner.id, + 'name': partner.name, + 'address': '\n'.join(partner.name_get()[0][1].split('\n')[1:]), + 'type': partner.grade_id.name, + 'latitude': partner.partner_latitude, + 'longitude': partner.partner_longitude, + }) + + mime = 'application/json' + body = "var data = " + "}, \n{".join(simplejson.dumps(data).split("}, {")) + return werkzeug.wrappers.Response(body, headers=[('Content-Type', mime), ('Content-Length', len(body))]) + + @http.route(['/google_map/set_partner_position/'], type='http', auth="admin") + def google_map_set_partner_position(self, *arg, **post): + website = request.registry['website'] + partner_obj = request.registry['res.partner'] + + partner_id = post.get('partner_id') and int(post['partner_id']) + latitude = post.get('latitude') and float(post['latitude']) + longitude = post.get('longitude') and float(post['longitude']) + + if request.uid != website.get_public_user().id and partner_id and (latitude or longitude): + values = { + 'partner_latitude': latitude, + 'partner_longitude': longitude, + 'date_localization': datetime.now().strftime('%Y-%m-%d'), + } + partner_obj.write(request.cr, request.uid, [partner_id], values) + + +# vim:expandtab:tabstop=4:softtabstop=4:shiftwidth=4: -- cgit v1.2.3 From 65e794813233c3f7c3c1ab7510f75121a508905e Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Fri, 30 Aug 2013 16:25:04 +0200 Subject: [IMP] website_google_map: add helper google_map_json on res.partner bzr revid: chm@openerp.com-20130830142504-ecogcw4l7r70zidz --- addons/website_google_map/controllers/main.py | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) (limited to 'addons/website_google_map/controllers/main.py') diff --git a/addons/website_google_map/controllers/main.py b/addons/website_google_map/controllers/main.py index f2f42c41651..fc2055032d8 100644 --- a/addons/website_google_map/controllers/main.py +++ b/addons/website_google_map/controllers/main.py @@ -3,8 +3,6 @@ import openerp from openerp.addons.web import http from openerp.addons.web.http import request -import simplejson -import werkzeug.wrappers from datetime import datetime class google_map(http.Controller): @@ -30,23 +28,7 @@ class google_map(http.Controller): partner_ids += partner_obj.search(request.cr, request.uid, domain) partner_ids = list(set(partner_ids)) - data = { - "counter": len(partner_ids), - "partners": [] - } - for partner in partner_obj.browse(request.cr, openerp.SUPERUSER_ID, partner_ids, context={'show_address': True}): - data["partners"].append({ - 'id': partner.id, - 'name': partner.name, - 'address': '\n'.join(partner.name_get()[0][1].split('\n')[1:]), - 'type': partner.grade_id.name, - 'latitude': partner.partner_latitude, - 'longitude': partner.partner_longitude, - }) - - mime = 'application/json' - body = "var data = " + "}, \n{".join(simplejson.dumps(data).split("}, {")) - return werkzeug.wrappers.Response(body, headers=[('Content-Type', mime), ('Content-Length', len(body))]) + return partner_obj.google_map_json(request.cr, openerp.SUPERUSER_ID, partner_ids) @http.route(['/google_map/set_partner_position/'], type='http', auth="admin") def google_map_set_partner_position(self, *arg, **post): -- cgit v1.2.3 From 6621c1275b0a3403488565cc4e8e10ace4ad51a0 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Wed, 4 Sep 2013 17:32:36 +0200 Subject: [IMP] Refactoring using `webcontext` bzr revid: fme@openerp.com-20130904153236-gc78bs8pxeprktkr --- addons/website_google_map/controllers/main.py | 29 +++++++++++++-------------- 1 file changed, 14 insertions(+), 15 deletions(-) (limited to 'addons/website_google_map/controllers/main.py') diff --git a/addons/website_google_map/controllers/main.py b/addons/website_google_map/controllers/main.py index fc2055032d8..3867a3f20f0 100644 --- a/addons/website_google_map/controllers/main.py +++ b/addons/website_google_map/controllers/main.py @@ -3,43 +3,42 @@ import openerp from openerp.addons.web import http from openerp.addons.web.http import request +from openerp.addons.website import website from datetime import datetime class google_map(http.Controller): - @http.route(['/google_map/'], type='http', auth="admin") + @website.route(['/google_map/'], type='http', auth="admin") def google_map(self, *arg, **post): - website = request.registry['website'] - values = website.get_rendering_context() - values['partner_ids'] = post.get('partner_ids', "") - values['width'] = post.get('width', 900) - values['height'] = post.get('height', 460) - values['partner_url'] = post.get('partner_url') - return website.render("website_google_map.google_map", values) - - @http.route(['/google_map/partners.json'], type='http', auth="admin") + values = { + 'partner_ids': post.get('partner_ids', ""), + 'width': post.get('width', 900), + 'height': post.get('height', 460), + 'partner_url': post.get('partner_url'), + } + return request.webcontext.render("website_google_map.google_map", values) + + @website.route(['/google_map/partners.json'], type='http', auth="admin") def google_map_data(self, *arg, **post): - website = request.registry['website'] partner_obj = request.registry['res.partner'] domain = [("id", "in", [int(p) for p in post.get('partner_ids', "").split(",") if p])] partner_ids = partner_obj.search(request.cr, openerp.SUPERUSER_ID, domain + [('website_published', '=', True)]) - if request.uid != website.get_public_user().id: + if not request.webcontext.is_public_user: partner_ids += partner_obj.search(request.cr, request.uid, domain) partner_ids = list(set(partner_ids)) return partner_obj.google_map_json(request.cr, openerp.SUPERUSER_ID, partner_ids) - @http.route(['/google_map/set_partner_position/'], type='http', auth="admin") + @website.route(['/google_map/set_partner_position/'], type='http', auth="admin") def google_map_set_partner_position(self, *arg, **post): - website = request.registry['website'] partner_obj = request.registry['res.partner'] partner_id = post.get('partner_id') and int(post['partner_id']) latitude = post.get('latitude') and float(post['latitude']) longitude = post.get('longitude') and float(post['longitude']) - if request.uid != website.get_public_user().id and partner_id and (latitude or longitude): + if not request.webcontext.is_public_user and partner_id and (latitude or longitude): values = { 'partner_latitude': latitude, 'partner_longitude': longitude, -- cgit v1.2.3 From d2e90f062187e9ccbe67bc9f778393141b03ffa2 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 5 Sep 2013 17:18:03 +0200 Subject: [BREAK] request.context everywhere some stuff broken will be repaired by chm bzr revid: fme@openerp.com-20130905151803-7d17us7rn9yubnb2 --- addons/website_google_map/controllers/main.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'addons/website_google_map/controllers/main.py') diff --git a/addons/website_google_map/controllers/main.py b/addons/website_google_map/controllers/main.py index 3867a3f20f0..2b6a8eccd06 100644 --- a/addons/website_google_map/controllers/main.py +++ b/addons/website_google_map/controllers/main.py @@ -23,12 +23,16 @@ class google_map(http.Controller): partner_obj = request.registry['res.partner'] domain = [("id", "in", [int(p) for p in post.get('partner_ids', "").split(",") if p])] - partner_ids = partner_obj.search(request.cr, openerp.SUPERUSER_ID, domain + [('website_published', '=', True)]) + domain_public = domain + [('website_published', '=', True)] + partner_ids = partner_obj.search(request.cr, openerp.SUPERUSER_ID, + domain_public, context=request.context) if not request.webcontext.is_public_user: - partner_ids += partner_obj.search(request.cr, request.uid, domain) + partner_ids += partner_obj.search(request.cr, request.uid, domain, + context=request.context) partner_ids = list(set(partner_ids)) - return partner_obj.google_map_json(request.cr, openerp.SUPERUSER_ID, partner_ids) + return partner_obj.google_map_json(request.cr, openerp.SUPERUSER_ID, + partner_ids, request.context) @website.route(['/google_map/set_partner_position/'], type='http', auth="admin") def google_map_set_partner_position(self, *arg, **post): @@ -43,8 +47,9 @@ class google_map(http.Controller): 'partner_latitude': latitude, 'partner_longitude': longitude, 'date_localization': datetime.now().strftime('%Y-%m-%d'), - } - partner_obj.write(request.cr, request.uid, [partner_id], values) + } + partner_obj.write(request.cr, request.uid, [partner_id], values, + request.context) # vim:expandtab:tabstop=4:softtabstop=4:shiftwidth=4: -- cgit v1.2.3 From 0e82448ed8adc54a73fd01046e7e5c4225b2bdd4 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Tue, 10 Sep 2013 15:41:33 +0200 Subject: [IMP] Refactor code + WIP multiwebsite bzr revid: fme@openerp.com-20130910134133-esdgbhbtt8eguapk --- addons/website_google_map/controllers/main.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'addons/website_google_map/controllers/main.py') diff --git a/addons/website_google_map/controllers/main.py b/addons/website_google_map/controllers/main.py index 2b6a8eccd06..20b855f44e2 100644 --- a/addons/website_google_map/controllers/main.py +++ b/addons/website_google_map/controllers/main.py @@ -16,7 +16,7 @@ class google_map(http.Controller): 'height': post.get('height', 460), 'partner_url': post.get('partner_url'), } - return request.webcontext.render("website_google_map.google_map", values) + return request.website.render("website_google_map.google_map", values) @website.route(['/google_map/partners.json'], type='http', auth="admin") def google_map_data(self, *arg, **post): @@ -26,7 +26,7 @@ class google_map(http.Controller): domain_public = domain + [('website_published', '=', True)] partner_ids = partner_obj.search(request.cr, openerp.SUPERUSER_ID, domain_public, context=request.context) - if not request.webcontext.is_public_user: + if not request.context['is_public_user']: partner_ids += partner_obj.search(request.cr, request.uid, domain, context=request.context) partner_ids = list(set(partner_ids)) @@ -42,7 +42,7 @@ class google_map(http.Controller): latitude = post.get('latitude') and float(post['latitude']) longitude = post.get('longitude') and float(post['longitude']) - if not request.webcontext.is_public_user and partner_id and (latitude or longitude): + if not request.context['is_public_user'] and partner_id and (latitude or longitude): values = { 'partner_latitude': latitude, 'partner_longitude': longitude, -- cgit v1.2.3 From 726cda367ee8e770365d0fd8cbaf24558d954f89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 1 Oct 2013 10:57:39 +0200 Subject: [FIX] website and all derived addons: fixed imports broken when moving website.py to models/ directory in website (revision 9491 revid:xmo@openerp.com-20130930145358-qh7xdicgg21prsk4). bzr revid: tde@openerp.com-20131001085739-hoczgpqrv2nrr6lb --- addons/website_google_map/controllers/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/website_google_map/controllers/main.py') diff --git a/addons/website_google_map/controllers/main.py b/addons/website_google_map/controllers/main.py index 20b855f44e2..786cae8e81d 100644 --- a/addons/website_google_map/controllers/main.py +++ b/addons/website_google_map/controllers/main.py @@ -3,7 +3,7 @@ import openerp from openerp.addons.web import http from openerp.addons.web.http import request -from openerp.addons.website import website +from openerp.addons.website.models import website from datetime import datetime class google_map(http.Controller): -- cgit v1.2.3 From ed7623fc4564372cf38a1d961012b090ce07bc01 Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Sat, 30 Nov 2013 16:46:59 +0100 Subject: [IMP] Performance improvement: improved cache with context, better get_object bzr revid: fp@tinyerp.com-20131130154659-uqis34x2cemmocly --- addons/website_google_map/controllers/main.py | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) (limited to 'addons/website_google_map/controllers/main.py') diff --git a/addons/website_google_map/controllers/main.py b/addons/website_google_map/controllers/main.py index 786cae8e81d..b81823428e8 100644 --- a/addons/website_google_map/controllers/main.py +++ b/addons/website_google_map/controllers/main.py @@ -26,11 +26,6 @@ class google_map(http.Controller): domain_public = domain + [('website_published', '=', True)] partner_ids = partner_obj.search(request.cr, openerp.SUPERUSER_ID, domain_public, context=request.context) - if not request.context['is_public_user']: - partner_ids += partner_obj.search(request.cr, request.uid, domain, - context=request.context) - partner_ids = list(set(partner_ids)) - return partner_obj.google_map_json(request.cr, openerp.SUPERUSER_ID, partner_ids, request.context) @@ -42,14 +37,13 @@ class google_map(http.Controller): latitude = post.get('latitude') and float(post['latitude']) longitude = post.get('longitude') and float(post['longitude']) - if not request.context['is_public_user'] and partner_id and (latitude or longitude): - values = { - 'partner_latitude': latitude, - 'partner_longitude': longitude, - 'date_localization': datetime.now().strftime('%Y-%m-%d'), - } - partner_obj.write(request.cr, request.uid, [partner_id], values, - request.context) + values = { + 'partner_latitude': latitude, + 'partner_longitude': longitude, + 'date_localization': datetime.now().strftime('%Y-%m-%d'), + } + partner_obj.write(request.cr, request.uid, [partner_id], values, + request.context) # vim:expandtab:tabstop=4:softtabstop=4:shiftwidth=4: -- cgit v1.2.3 From 14bb6060d74277ffbd55ddd2b87538089c61ac52 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 20 Jan 2014 16:37:33 +0100 Subject: [REM] Removed @website.route() decorator Need trunk-website-al Rev#5151 bzr revid: fme@openerp.com-20140120153733-ve3dn2kwvha7n3yl --- addons/website_google_map/controllers/main.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'addons/website_google_map/controllers/main.py') diff --git a/addons/website_google_map/controllers/main.py b/addons/website_google_map/controllers/main.py index b81823428e8..04cea6901fc 100644 --- a/addons/website_google_map/controllers/main.py +++ b/addons/website_google_map/controllers/main.py @@ -3,12 +3,11 @@ import openerp from openerp.addons.web import http from openerp.addons.web.http import request -from openerp.addons.website.models import website from datetime import datetime class google_map(http.Controller): - @website.route(['/google_map/'], type='http', auth="admin") + @http.route(['/google_map/'], type='http', auth="admin", website=True) def google_map(self, *arg, **post): values = { 'partner_ids': post.get('partner_ids', ""), @@ -18,7 +17,7 @@ class google_map(http.Controller): } return request.website.render("website_google_map.google_map", values) - @website.route(['/google_map/partners.json'], type='http', auth="admin") + @http.route(['/google_map/partners.json'], type='http', auth="admin", website=True) def google_map_data(self, *arg, **post): partner_obj = request.registry['res.partner'] @@ -29,7 +28,7 @@ class google_map(http.Controller): return partner_obj.google_map_json(request.cr, openerp.SUPERUSER_ID, partner_ids, request.context) - @website.route(['/google_map/set_partner_position/'], type='http', auth="admin") + @http.route(['/google_map/set_partner_position/'], type='http', auth="admin", website=True) def google_map_set_partner_position(self, *arg, **post): partner_obj = request.registry['res.partner'] -- cgit v1.2.3 From 2b3ad30f8a18b58abb5342bb4c63757f10ab11a6 Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Wed, 29 Jan 2014 10:10:50 +0100 Subject: [FIX] website: change auth=admin into auth=public. Fix website_project link bzr revid: chm@openerp.com-20140129091050-w2d7dbigflwod1uj --- addons/website_google_map/controllers/main.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'addons/website_google_map/controllers/main.py') diff --git a/addons/website_google_map/controllers/main.py b/addons/website_google_map/controllers/main.py index 04cea6901fc..98a86230d7e 100644 --- a/addons/website_google_map/controllers/main.py +++ b/addons/website_google_map/controllers/main.py @@ -7,7 +7,7 @@ from datetime import datetime class google_map(http.Controller): - @http.route(['/google_map/'], type='http', auth="admin", website=True) + @http.route(['/google_map/'], type='http', auth="public", website=True) def google_map(self, *arg, **post): values = { 'partner_ids': post.get('partner_ids', ""), @@ -17,7 +17,7 @@ class google_map(http.Controller): } return request.website.render("website_google_map.google_map", values) - @http.route(['/google_map/partners.json'], type='http', auth="admin", website=True) + @http.route(['/google_map/partners.json'], type='http', auth="public", website=True) def google_map_data(self, *arg, **post): partner_obj = request.registry['res.partner'] @@ -28,7 +28,7 @@ class google_map(http.Controller): return partner_obj.google_map_json(request.cr, openerp.SUPERUSER_ID, partner_ids, request.context) - @http.route(['/google_map/set_partner_position/'], type='http', auth="admin", website=True) + @http.route(['/google_map/set_partner_position/'], type='http', auth="public", website=True) def google_map_set_partner_position(self, *arg, **post): partner_obj = request.registry['res.partner'] @@ -41,7 +41,7 @@ class google_map(http.Controller): 'partner_longitude': longitude, 'date_localization': datetime.now().strftime('%Y-%m-%d'), } - partner_obj.write(request.cr, request.uid, [partner_id], values, + partner_obj.write(request.cr, openerp.SUPERUSER_ID, [partner_id], values, request.context) -- cgit v1.2.3