From cdbd95617c8ded1561f67194cff766404e387d42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 8 Oct 2013 17:21:33 +0200 Subject: [PATCH] [IMP] [FIX] website_customer: fixed controllers + improved view; notably partner detail back in full form instead of calling website_partne rone, to be able to inherit from it and add some data. bzr revid: tde@openerp.com-20131008152133-tx2ro5l0i6m1s4jx --- addons/website_customer/controllers/main.py | 21 ++++--- .../views/website_customer.xml | 59 +++++++++++++++---- 2 files changed, 56 insertions(+), 24 deletions(-) diff --git a/addons/website_customer/controllers/main.py b/addons/website_customer/controllers/main.py index b1c7cb85dc2..1539c9587d9 100644 --- a/addons/website_customer/controllers/main.py +++ b/addons/website_customer/controllers/main.py @@ -20,49 +20,48 @@ class WebsiteCustomer(http.Controller): partner_obj = request.registry['res.partner'] partner_name = post.get('search', '') - base_domain = [('customer', '=', True)] - if request.context['is_public_user']: - base_domain += [('website_published', '=', True)] + base_domain = [('customer', '=', True), ('is_company', '=', True)] + domain = list(base_domain) if partner_name: - base_domain += [ + domain += [ '|', ('name', 'ilike', "%%%s%%" % post.get("search")), ('website_description', 'ilike', "%%%s%%" % post.get("search")) ] - domain = base_domain if country_id: domain += [('country_id', '=', country_id)] # group by country, based on all customers (base domain) countries = partner_obj.read_group( - cr, openerp.SUPERUSER_ID, domain, ["id", "country_id"], + cr, uid, base_domain, ["id", "country_id"], groupby="country_id", orderby="country_id", context=request.context) country_count = partner_obj.search( - cr, openerp.SUPERUSER_ID, base_domain, count=True, context=request.context) + cr, uid, base_domain, count=True, context=request.context) countries.insert(0, { 'country_id_count': country_count, - 'country_id': ("all", _("All Countries")) + 'country_id': (0, _("All Countries")) }) # search customers to display - partner_ids = partner_obj.search(cr, openerp.SUPERUSER_ID, domain, context=request.context) + partner_ids = partner_obj.search(cr, uid, domain, context=request.context) google_map_partner_ids = ",".join([str(p) for p in partner_ids]) # pager pager = request.website.pager( - url="/references/", total=len(partner_ids), page=page, step=self._references_per_page, + url="/customers/", total=len(partner_ids), page=page, step=self._references_per_page, scope=7, url_args=post ) # browse page of customers to display partner_ids = partner_obj.search( - cr, openerp.SUPERUSER_ID, domain, + cr, uid, domain, limit=self._references_per_page, offset=pager['offset'], context=context) partners = partner_obj.browse(request.cr, openerp.SUPERUSER_ID, partner_ids, request.context) values = { 'countries': countries, + 'current_country_id': country_id, 'partner_ids': partners, 'google_map_partner_ids': google_map_partner_ids, 'pager': pager, diff --git a/addons/website_customer/views/website_customer.xml b/addons/website_customer/views/website_customer.xml index 4e88e14e007..efc31d6f2a5 100644 --- a/addons/website_customer/views/website_customer.xml +++ b/addons/website_customer/views/website_customer.xml @@ -32,7 +32,21 @@ Customer References
Trusted by millions worldwide -
+
+

Search by Country

+ +
+