summaryrefslogtreecommitdiff
path: root/addons/website_google_map/controllers
diff options
context:
space:
mode:
authorvbh-odoo <vbh@odoo.com>2015-08-20 17:59:46 +0530
committerRichard Mathot <rim@odoo.com>2015-10-08 11:01:56 +0200
commit43edebc328e530ab1446f591e7ead1ac24f11719 (patch)
tree49f665faebf08ac6d20c3dff2c59df126b1d231e /addons/website_google_map/controllers
parenta7dad4ec61d688f7d6b9dd7dfe1be08c23b44c57 (diff)
[MIG] website_google_map: new API migration
Diffstat (limited to 'addons/website_google_map/controllers')
-rw-r--r--addons/website_google_map/controllers/__init__.py3
-rw-r--r--addons/website_google_map/controllers/main.py40
2 files changed, 17 insertions, 26 deletions
diff --git a/addons/website_google_map/controllers/__init__.py b/addons/website_google_map/controllers/__init__.py
index 8ee9bae18d9..f48716d3a69 100644
--- a/addons/website_google_map/controllers/__init__.py
+++ b/addons/website_google_map/controllers/__init__.py
@@ -1 +1,4 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
import main
diff --git a/addons/website_google_map/controllers/main.py b/addons/website_google_map/controllers/main.py
index 870cda8a435..e60c03424fd 100644
--- a/addons/website_google_map/controllers/main.py
+++ b/addons/website_google_map/controllers/main.py
@@ -1,13 +1,13 @@
# -*- coding: utf-8 -*-
-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
import json
-from openerp import SUPERUSER_ID
-from openerp.addons.web import http
-from openerp.addons.web.http import request
-from openerp.tools import html_escape as escape
+
+from odoo.addons.web import http
+from odoo.addons.web.http import request
+from odoo.tools import html_escape as escape
-class google_map(http.Controller):
+class GoogleMap(http.Controller):
'''
This class generates on-the-fly partner maps that can be reused in every
website page. To do so, just use an ``<iframe ...>`` whose ``src``
@@ -26,29 +26,19 @@ class google_map(http.Controller):
@http.route(['/google_map'], type='http', auth="public", website=True)
def google_map(self, *arg, **post):
- cr, uid, context = request.cr, request.uid, request.context
- partner_obj = request.registry['res.partner']
-
- # filter real ints from query parameters and build a domain
clean_ids = []
- for s in post.get('partner_ids', "").split(","):
+ for partner_id in post.get('partner_ids', "").split(","):
try:
- i = int(s)
- clean_ids.append(i)
+ clean_ids.append(int(partner_id))
except ValueError:
pass
-
- # search for partners that can be displayed on a map
- domain = [("id", "in", clean_ids), ('website_published', '=', True), ('is_company', '=', True)]
- partners_ids = partner_obj.search(cr, SUPERUSER_ID, domain, context=context)
-
- # browse and format data
+ partners = request.env['res.partner'].sudo().search([("id", "in", clean_ids),
+ ('website_published', '=', True), ('is_company', '=', True)])
partner_data = {
- "counter": len(partners_ids),
- "partners": []
+ "counter": len(partners),
+ "partners": []
}
- request.context.update({'show_address': True})
- for partner in partner_obj.browse(cr, SUPERUSER_ID, partners_ids, context=context):
+ for partner in partners.with_context({'show_address': True}):
# TODO in master, do not use `escape` but `t-esc` in the qweb template.
partner_data["partners"].append({
'id': partner.id,
@@ -56,9 +46,7 @@ class google_map(http.Controller):
'address': escape('\n'.join(partner.name_get()[0][1].split('\n')[1:])),
'latitude': escape(str(partner.partner_latitude)),
'longitude': escape(str(partner.partner_longitude)),
- })
-
- # generate the map
+ })
values = {
'partner_url': post.get('partner_url'),
'partner_data': json.dumps(partner_data)