summaryrefslogtreecommitdiff
path: root/addons/website_project_issue
diff options
context:
space:
mode:
authorJeremy Kersten <jke@odoo.com>2017-01-11 18:36:33 +0100
committerJeremy Kersten <jke@odoo.com>2017-02-24 08:51:26 +0100
commit83bfdb0d212a99d808fa4d0dc9d3ebe3ce469a18 (patch)
treeb37440855ef18c062720cd561b8e9f3921938b09 /addons/website_project_issue
parentd89210e1fdddaa985c86eb147c043d49b626cfa7 (diff)
[IMP] website_portal*, website_project*, website_quote, website_blog: add record pager in portal
+ fix re-use websitue_url in get_access_action
Diffstat (limited to 'addons/website_project_issue')
-rw-r--r--addons/website_project_issue/controllers/main.py8
-rw-r--r--addons/website_project_issue/models/project_issue.py10
-rw-r--r--addons/website_project_issue/views/project_issue_templates.xml1
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&amp;model=project.issue&amp;id=%s&amp;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"/>