From c0dc6c81dcfcd4ab80416b25c4fd7beddadb915c Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Sat, 2 Nov 2013 18:16:56 +0100 Subject: [PATCH] [FIX] qweb exception hiding bzr revid: al@openerp.com-20131102171656-j4lqrx1gfosi8ofd --- addons/website/models/website.py | 23 +++++++--------------- addons/website/views/website_templates.xml | 4 ++-- 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/addons/website/models/website.py b/addons/website/models/website.py index add8c921b92..51efec12979 100644 --- a/addons/website/models/website.py +++ b/addons/website/models/website.py @@ -198,23 +198,14 @@ class website(osv.osv): qweb_context['error'] = err[1] logger.warn("Website Rendering Error.\n\n%s" % traceback.format_exc()) return self.render(cr, uid, ids, 'website.401', qweb_context) - except (QWebException,), err: + except Exception, e: + qweb_context['template'] = getattr(e, 'qweb_template', '') + node = getattr(e, 'qweb_node', None) + qweb_context['node'] = node and node.toxml() + qweb_context['expr'] = getattr(e, 'qweb_eval', '') qweb_context['traceback'] = traceback.format_exc() - qweb_context['template'] = err.template - qweb_context['message'] = err.message - qweb_context['node'] = err.node and err.node.toxml() - logger.error("Website Rendering Error.\n%(message)s\n%(node)s\n\n%(traceback)s" % qweb_context) - return view.render( - cr, uid, - 'website.500' if qweb_context['editable'] else 'website.404', - qweb_context, context=context) - except Exception: - logger.exception("Website Rendering Error.") - qweb_context['traceback'] = traceback.format_exc() - return view.render( - cr, uid, - 'website.500' if qweb_context['editable'] else 'website.404', - qweb_context, context=context) + logger.error("Website Rendering Error.\n%(template)s\n%(expr)s\n%(node)s\n\n%(traceback)s" % qweb_context) + return view.render(cr, uid, 'website.500' if qweb_context['editable'] else 'website.404', qweb_context, context=context) def pager(self, cr, uid, ids, url, total, page=1, step=30, scope=5, url_args=None): # Compute Pager diff --git a/addons/website/views/website_templates.xml b/addons/website/views/website_templates.xml index 43b85ee8b61..57e6fded011 100644 --- a/addons/website/views/website_templates.xml +++ b/addons/website/views/website_templates.xml @@ -364,8 +364,8 @@

500: Internal Server Error!

-

An exception appear in the template:

- +

Exception in template:

+

Expression: