diff options
Diffstat (limited to 'addons/website_project_issue')
| -rw-r--r-- | addons/website_project_issue/controllers/main.py | 8 | ||||
| -rw-r--r-- | addons/website_project_issue/models/project_issue.py | 10 | ||||
| -rw-r--r-- | addons/website_project_issue/views/project_issue_templates.xml | 1 |
3 files changed, 15 insertions, 4 deletions
diff --git a/addons/website_project_issue/controllers/main.py b/addons/website_project_issue/controllers/main.py index 179d8b301c4..715c83e30eb 100644 --- a/addons/website_project_issue/controllers/main.py +++ b/addons/website_project_issue/controllers/main.py @@ -4,7 +4,7 @@ from collections import OrderedDict from odoo import http, _ -from odoo.addons.website_portal.controllers.main import website_account +from odoo.addons.website_portal.controllers.main import website_account, get_records_pager from odoo.http import request @@ -70,6 +70,7 @@ class WebsiteAccount(website_account): ) # content according to pager and archive selected project_issues = request.env['project.issue'].search(domain, order=order, limit=self._items_per_page, offset=pager['offset']) + request.session['my_issues_history'] = project_issues.ids[:100] values.update({ 'date': date_begin, @@ -90,4 +91,7 @@ class WebsiteAccount(website_account): @http.route(['/my/issues/<int:issue_id>'], type='http', auth="user", website=True) def my_issues_issue(self, issue_id=None, **kw): issue = request.env['project.issue'].browse(issue_id) - return request.render("website_project_issue.my_issues_issue", {'issue': issue}) + vals = {'issue': issue} + history = request.session.get('my_issues_history', []) + vals.update(get_records_pager(history, issue)) + return request.render("website_project_issue.my_issues_issue", vals) diff --git a/addons/website_project_issue/models/project_issue.py b/addons/website_project_issue/models/project_issue.py index d6d8916026a..24eef83c905 100644 --- a/addons/website_project_issue/models/project_issue.py +++ b/addons/website_project_issue/models/project_issue.py @@ -1,13 +1,19 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from odoo import api, exceptions, models, _ +from odoo import api, exceptions, models, fields class Issue(models.Model): _name = "project.issue" _inherit = ['project.issue'] + website_url = fields.Char('Website URL', compute='_compute_website_url', help='The full URL to access the document through the website.') + + def _compute_website_url(self): + for issue in self: + issue.website_url = '/my/issues/%s' % issue.id + @api.multi def get_access_action(self): """ Instead of the classic form view, redirect to website for portal users @@ -21,7 +27,7 @@ class Issue(models.Model): else: return { 'type': 'ir.actions.act_url', - 'url': '/my/issues/%s' % self.id, + 'url': self.website_url, 'target': 'self', 'res_id': self.id, } diff --git a/addons/website_project_issue/views/project_issue_templates.xml b/addons/website_project_issue/views/project_issue_templates.xml index 1205709d967..ff214578126 100644 --- a/addons/website_project_issue/views/project_issue_templates.xml +++ b/addons/website_project_issue/views/project_issue_templates.xml @@ -86,6 +86,7 @@ <div class="row"> <div class="col-md-12"> <h4> + <t t-call='website_portal.record_pager'/> Issue <span t-field="issue.id"/> - <span t-field="issue.name"/> <a class="btn btn-info" t-att-href="'/web#return_label=Website&model=project.issue&id=%s&view_type=form' % (issue.id)" groups="project.group_project_user">Edit Issue</a> <span t-field="issue.stage_id.name" class="pull-right label label-info" title="Current stage of this issue"/> |
