diff options
| author | Antony Lesuisse <al@openerp.com> | 2014-01-31 01:51:57 +0100 |
|---|---|---|
| committer | Antony Lesuisse <al@openerp.com> | 2014-01-31 01:51:57 +0100 |
| commit | 4b30f1fcbd8701f82dbbe4e5c8386ee432b063ac (patch) | |
| tree | 93b17a03b45927c20fbb045cda8c8aa09d853409 /addons/website_partner/controllers | |
| parent | ba2d4c90307661a79d78e6ce3b274b76b4c62717 (diff) | |
| parent | 1c283ddf242f0681c1d060f3b8658efa3fcaa0a8 (diff) | |
[MERGE] trunk-website-al
bzr revid: al@openerp.com-20140131005157-jkf8hz6fh2buml2c
Diffstat (limited to 'addons/website_partner/controllers')
| -rw-r--r-- | addons/website_partner/controllers/__init__.py | 1 | ||||
| -rw-r--r-- | addons/website_partner/controllers/main.py | 43 |
2 files changed, 44 insertions, 0 deletions
diff --git a/addons/website_partner/controllers/__init__.py b/addons/website_partner/controllers/__init__.py new file mode 100644 index 00000000000..8ee9bae18d9 --- /dev/null +++ b/addons/website_partner/controllers/__init__.py @@ -0,0 +1 @@ +import main diff --git a/addons/website_partner/controllers/main.py b/addons/website_partner/controllers/main.py new file mode 100644 index 00000000000..6b0dc18a1f8 --- /dev/null +++ b/addons/website_partner/controllers/main.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- + +import openerp +from openerp import SUPERUSER_ID +from openerp.addons.web import http +from openerp.addons.web.http import request +import werkzeug + + +def get_partner_template_value(partner): + ctx = dict(request.context, show_address=True) + partner_obj = request.registry['res.partner'] + partner_id = partner.id + partner_ids = partner_obj.search(request.cr, request.uid, [('id', '=', partner_id)], context=request.context) + if not partner.exists() or not partner_ids: + partner = None + + partner_data = partner_obj.read( + request.cr, openerp.SUPERUSER_ID, [partner_id], request.website.get_partner_white_list_fields(), context=ctx)[0] + + if not partner_data["website_published"]: + return None + + partner_data['name_get'] = partner_obj.name_get(request.cr, openerp.SUPERUSER_ID, [partner_id],context=request.context)[0] + + partner_data['address'] = '<br/>'.join(partner_obj.name_get( + request.cr, openerp.SUPERUSER_ID, [partner_id],context=ctx)[0][1].split('\n')[1:]) + + values = { + 'partner': partner, + 'partner_data': partner_data, + } + return values + +class WebsitePartner(http.Controller): + @http.route(['/partners/<int:partner_id>/', '/partners/<partner_name>-<int:partner_id>/'], type='http', auth="public", website=True, multilang=True) + def partner(self, partner_id, **post): + """ Route for displaying a single partner / customer. """ + partner = request.registry['res.partner'].browse(request.cr, SUPERUSER_ID, partner_id, context=request.context) + values = get_partner_template_value(partner) + if not values: + raise werkzeug.exceptions.NotFound + return request.website.render("website_partner.partner_detail", values) |
