summaryrefslogtreecommitdiff
path: root/addons/website_partner/controllers
diff options
context:
space:
mode:
authorAntony Lesuisse <al@openerp.com>2014-01-31 01:51:57 +0100
committerAntony Lesuisse <al@openerp.com>2014-01-31 01:51:57 +0100
commit4b30f1fcbd8701f82dbbe4e5c8386ee432b063ac (patch)
tree93b17a03b45927c20fbb045cda8c8aa09d853409 /addons/website_partner/controllers
parentba2d4c90307661a79d78e6ce3b274b76b4c62717 (diff)
parent1c283ddf242f0681c1d060f3b8658efa3fcaa0a8 (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__.py1
-rw-r--r--addons/website_partner/controllers/main.py43
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)