diff --git a/addons/website_quote/controllers/main.py b/addons/website_quote/controllers/main.py index 859eb5f715c..f8c67177304 100644 --- a/addons/website_quote/controllers/main.py +++ b/addons/website_quote/controllers/main.py @@ -4,13 +4,28 @@ import base64 import werkzeug -from odoo import fields, http, _ +from odoo import exceptions, fields, http, _ from odoo.http import request -from odoo.addons.portal.controllers.portal import get_records_pager +from odoo.addons.portal.controllers.portal import CustomerPortal, get_records_pager from odoo.addons.portal.controllers.mail import _message_post_helper +class CustomerPortal(CustomerPortal): + + @http.route() + def portal_order_page(self, order=None, access_token=None, **kw): + try: + order_sudo = self._order_check_access(order, access_token=access_token) + except exceptions.AccessError: + pass + else: + if order_sudo.template_id and order_sudo.template_id.active: + return request.redirect('/quote/%s/%s' % (order, access_token or '')) + return super(CustomerPortal, self).portal_order_page(order=order, access_token=access_token, **kw) + + class sale_quote(http.Controller): + @http.route("/quote/", type='http', auth="user", website=True) def view_user(self, *args, **kwargs): return self.view(*args, **kwargs) diff --git a/addons/website_quote/views/website_quote_templates.xml b/addons/website_quote/views/website_quote_templates.xml index f7c9ef5a58b..d1b546bbc81 100644 --- a/addons/website_quote/views/website_quote_templates.xml +++ b/addons/website_quote/views/website_quote_templates.xml @@ -675,32 +675,14 @@ - +