diff options
| author | Antony Lesuisse <al@openerp.com> | 2014-05-15 00:43:38 +0200 |
|---|---|---|
| committer | Antony Lesuisse <al@openerp.com> | 2014-05-15 00:43:38 +0200 |
| commit | 1501c7e64b74e5a9afd3c8076d9febce3a1781ad (patch) | |
| tree | becc6a145ae1294a4ab91ec0b90790d0ba858050 /addons/website_customer/controllers | |
| parent | cfefd04871487ff9b4714d0714f6f9702c440674 (diff) | |
[FIX] website_partner remove controller, add support for negative ids
Diffstat (limited to 'addons/website_customer/controllers')
| -rw-r--r-- | addons/website_customer/controllers/main.py | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/addons/website_customer/controllers/main.py b/addons/website_customer/controllers/main.py index 2caf8c74373..09db80c8908 100644 --- a/addons/website_customer/controllers/main.py +++ b/addons/website_customer/controllers/main.py @@ -1,10 +1,11 @@ # -*- coding: utf-8 -*- +import re import openerp +from openerp import SUPERUSER_ID from openerp.addons.web import http from openerp.tools.translate import _ from openerp.addons.web.http import request -from openerp.addons.website_partner.controllers import main as website_partner import werkzeug.urls class WebsiteCustomer(http.Controller): @@ -80,11 +81,15 @@ class WebsiteCustomer(http.Controller): } return request.website.render("website_customer.index", values) - @http.route(['/customers/<int:partner_id>', '/customers/<partner_name>-<int:partner_id>'], type='http', auth="public", website=True, multilang=True) - def customer(self, partner_id, partner_name='', **post): - values = website_partner.get_partner_template_value(partner_id) - if not values: - return self.customers(**post) - - values['main_object'] = values['partner'] - return request.website.render("website_customer.details", values) + # Do not use semantic controller due to SUPERUSER_ID + @http.route(['/customers/<partner_id>'], type='http', auth="public", website=True, multilang=True) + def partners_detail(self, partner_id, **post): + mo = re.search('-([-0-9]+)$', str(partner_id)) + if mo: + partner_id = int(mo.group(1)) + partner = request.registry['res.partner'].browse(request.cr, SUPERUSER_ID, partner_id, context=request.context) + if partner.exists() and partner.website_published: + values = {} + values['main_object'] = values['partner'] = partner + return request.website.render("website_customer.details", values) + return self.customers(**post) |
