diff options
| author | vbh-odoo <vbh@odoo.com> | 2015-08-20 17:59:46 +0530 |
|---|---|---|
| committer | Richard Mathot <rim@odoo.com> | 2015-10-08 11:01:56 +0200 |
| commit | 43edebc328e530ab1446f591e7ead1ac24f11719 (patch) | |
| tree | 49f665faebf08ac6d20c3dff2c59df126b1d231e /addons/website_google_map/controllers | |
| parent | a7dad4ec61d688f7d6b9dd7dfe1be08c23b44c57 (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__.py | 3 | ||||
| -rw-r--r-- | addons/website_google_map/controllers/main.py | 40 |
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) |
