diff options
Diffstat (limited to 'addons/website_project_issue/controllers/main.py')
| -rw-r--r-- | addons/website_project_issue/controllers/main.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/addons/website_project_issue/controllers/main.py b/addons/website_project_issue/controllers/main.py new file mode 100644 index 00000000000..da0496baf91 --- /dev/null +++ b/addons/website_project_issue/controllers/main.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. +from openerp import http +from openerp.addons.website_portal.controllers.main import website_account +from openerp.http import request + + +class WebsiteAccount(website_account): + @http.route(['/my', '/my/home'], type='http', auth="user", website=True) + def account(self): + response = super(WebsiteAccount, self).account() + user = request.env.user + # portal projects where you or someone from your company are a follower + project_issues = request.env['project.issue'].search([ + '&', + ('project_id.privacy_visibility', '=', 'portal'), + '|', + ('message_follower_ids', 'child_of', [user.partner_id.commercial_partner_id.id]), + ('message_follower_ids', 'child_of', [user.partner_id.id]) + ]) + response.qcontext.update({'issues': project_issues}) + return response + + +class WebsiteProjectIssue(http.Controller): + @http.route(['/my/issues/<int:issue_id>'], type='http', auth="user", website=True) + def issues_followup(self, issue_id=None): + issue = request.env['project.issue'].browse(issue_id) + return request.website.render("website_project_issue.issues_followup", {'issue': issue}) |
