diff options
| author | David Monjoie <dmo@odoo.com> | 2015-01-20 17:34:17 +0100 |
|---|---|---|
| committer | Thibault Delavallée <tde@openerp.com> | 2015-01-20 17:34:33 +0100 |
| commit | 280774ae8df43f862f48f954cb93cbb7b7ed5827 (patch) | |
| tree | b516fdd768799a71bdd68d07a4e24e8a49e8416a /addons/website_crm_partner_assign/controllers | |
| parent | e185ad21eb861a68a15af9828091a899fcb915aa (diff) | |
[IMP][REF] website_crm_partner_assign: add published mixing on grade model.
Also cleaned grade form view and its inheritance.
Now the website displays partners related to all grades (website publisher) or
only published grades (other people). A publish button has been added in the
website for grades, to have the same behavior as for other website documents.
Diffstat (limited to 'addons/website_crm_partner_assign/controllers')
| -rw-r--r-- | addons/website_crm_partner_assign/controllers/main.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/addons/website_crm_partner_assign/controllers/main.py b/addons/website_crm_partner_assign/controllers/main.py index 190016c9a76..17bf0b6fc97 100644 --- a/addons/website_crm_partner_assign/controllers/main.py +++ b/addons/website_crm_partner_assign/controllers/main.py @@ -4,10 +4,11 @@ from openerp import SUPERUSER_ID from openerp.addons.web import http from openerp.addons.web.http import request from openerp.addons.website.models.website import slug, unslug +from openerp.addons.website_partner.controllers.main import WebsitePartnerPage from openerp.tools.translate import _ -class WebsiteCrmPartnerAssign(http.Controller): +class WebsiteCrmPartnerAssign(WebsitePartnerPage): _references_per_page = 40 @http.route([ @@ -29,7 +30,9 @@ class WebsiteCrmPartnerAssign(http.Controller): country_obj = request.registry['res.country'] search = post.get('search', '') - base_partner_domain = [('is_company', '=', True), ('grade_id.website_published', '=', True), ('website_published', '=', True)] + base_partner_domain = [('is_company', '=', True), ('grade_id', '!=', False), ('website_published', '=', True)] + if request.registry['res.users'].has_group(request.cr, request.uid, 'base.group_website_publisher'): + base_partner_domain += [('grade_id.website_published', '=', True)] if search: base_partner_domain += ['|', ('name', 'ilike', search), ('website_description', 'ilike', search)] @@ -132,7 +135,7 @@ class WebsiteCrmPartnerAssign(http.Controller): # Do not use semantic controller due to SUPERUSER_ID @http.route(['/partners/<partner_id>'], type='http', auth="public", website=True) - def partners_detail(self, partner_id, partner_name='', **post): + def partners_detail(self, partner_id, **post): _, partner_id = unslug(partner_id) current_grade, current_country = None, None grade_id = post.get('grade_id') @@ -147,7 +150,8 @@ class WebsiteCrmPartnerAssign(http.Controller): current_country = request.registry['res.country'].browse(request.cr, request.uid, country_ids[0], context=request.context) if partner_id: partner = request.registry['res.partner'].browse(request.cr, SUPERUSER_ID, partner_id, context=request.context) - if partner.exists() and partner.website_published: + is_website_publisher = request.registry['res.users'].has_group(request.cr, request.uid, 'base.group_website_publisher') + if partner.exists() and (partner.website_published or is_website_publisher): values = { 'main_object': partner, 'partner': partner, |
