diff options
| author | fwi-odoo <fwi@odoo.com> | 2016-10-27 16:35:36 +0200 |
|---|---|---|
| committer | Jérome Maes <jem@openerp.com> | 2017-03-23 14:50:32 +0100 |
| commit | 936b215adffd2cb58c0c440d28dfe10adbffffe5 (patch) | |
| tree | 39ecadd42f4a0ccc3726f30df300fa4378bc48e4 /addons/website_project_issue | |
| parent | ce72152679b242476ecec65779f85a2d792cb2f7 (diff) | |
[IMP] website_portal: hide menu when no documents available
This commit impact website_portal, website_portal_sale,
website_project, website_project_issue, and website_crm_partner_assign.
The idea is to hide menu items and dashboard entry in customer
portal when there no document available. Only Sales Orders and
Opportunities are always displayed to avoid empty dashboard.
Also, resequence menu items to be more consistent and to prepare
to insert more items in the future.
Diffstat (limited to 'addons/website_project_issue')
| -rw-r--r-- | addons/website_project_issue/controllers/main.py | 9 | ||||
| -rw-r--r-- | addons/website_project_issue/views/project_issue_templates.xml | 17 |
2 files changed, 10 insertions, 16 deletions
diff --git a/addons/website_project_issue/controllers/main.py b/addons/website_project_issue/controllers/main.py index ca49154e2c3..5910e06e87e 100644 --- a/addons/website_project_issue/controllers/main.py +++ b/addons/website_project_issue/controllers/main.py @@ -11,16 +11,15 @@ from odoo.osv.expression import OR class WebsiteAccount(website_account): - @http.route() - def account(self, **kw): - response = super(WebsiteAccount, self).account(**kw) + def _prepare_portal_layout_values(self): + values = super(WebsiteAccount, self)._prepare_portal_layout_values() # domain is needed to hide non portal project for employee # portal users can't see the privacy_visibility, fetch the domain for them in sudo portal_projects = request.env['project.project'].sudo().search([('privacy_visibility', '=', 'portal')]) - response.qcontext.update({ + values.update({ 'issue_count': request.env['project.issue'].search_count([('project_id', 'in', portal_projects.ids)]) }) - return response + return values @http.route(['/my/issues', '/my/issues/page/<int:page>'], type='http', auth="user", website=True) def my_issues(self, page=1, date_begin=None, date_end=None, sortby=None, filterby=None, search=None, search_in='content', **kw): diff --git a/addons/website_project_issue/views/project_issue_templates.xml b/addons/website_project_issue/views/project_issue_templates.xml index 214418f50f1..802335df83b 100644 --- a/addons/website_project_issue/views/project_issue_templates.xml +++ b/addons/website_project_issue/views/project_issue_templates.xml @@ -1,25 +1,20 @@ <?xml version="1.0" encoding="utf-8"?> <odoo> - <template id="portal_layout" name="Portal layout: Issues menu entry" inherit_id="website_portal.portal_layout" priority="30"> + <template id="portal_layout" name="Portal layout: Issues menu entry" inherit_id="website_portal.portal_layout" priority="45"> <xpath expr="//ul[contains(@class,'o_portal_submenu')]" position="inside"> - <li t-att-class="page_name == 'issue' and 'active' or ''"> - <a href="/my/issues">Issues</a> + <li t-if="issue_count" t-att-class="page_name == 'issue' and 'active'"> + <a href="/my/issues">Issues</a> </li> </xpath> </template> - <template id="portal_my_home" name="Portal My Home: Issue entries" inherit_id="website_portal.portal_my_home" priority="30"> + <template id="portal_my_home" name="Portal My Home: Issue entries" inherit_id="website_portal.portal_my_home" priority="45"> <xpath expr="//div[contains(@class,'o_my_home_content')]" position="inside"> - <h3 class="page-header"> + <h3 t-if="issue_count" class="page-header"> <a href="/my/issues">Your Issues <small class="ml8"> - <t t-if="issue_count"> - <span class='badge'><t t-esc="issue_count"/></span> - </t> - <t t-if="not issue_count"> - There are currently no issues. - </t> + <span class='badge'><t t-esc="issue_count"/></span> </small> </a> </h3> |
