[IMP] website: better error message (401, 404, 500)
bzr revid: chm@openerp.com-20130814151122-v1gw1l0wmg6c4vv8
This commit is contained in:
parent
30f643c641
commit
9449a20293
|
@ -382,6 +382,36 @@
|
|||
</t>
|
||||
</template>
|
||||
|
||||
<template id="500">
|
||||
<t t-call="website.layout">
|
||||
<div class="container">
|
||||
<h1 class="mt32">500: Internal Server Error!</h1>
|
||||
<pre t-esc="traceback"/>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
<template id="401">
|
||||
<t t-call="website.layout">
|
||||
<div class="container">
|
||||
<h1 class="mt32">401: Unauthorized Access!</h1>
|
||||
<p>
|
||||
The page you were looking for could not be
|
||||
authorized.
|
||||
</p><p>
|
||||
Maybe you were looking for one of these
|
||||
popular pages ?
|
||||
</p>
|
||||
<pre class="hidden" t-esc="error"/>
|
||||
<ul>
|
||||
<li><a href="/">Homepage</a></li>
|
||||
<li><a href="/">Contact Us</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
|
||||
<template id="contactus" name="Contact us">
|
||||
<t t-call="website.layout">
|
||||
<t t-set="title">Contact us - <t t-raw="res_company.name"/></t>
|
||||
|
|
|
@ -2,12 +2,16 @@
|
|||
import simplejson
|
||||
|
||||
import openerp
|
||||
from openerp.osv import osv
|
||||
from openerp.osv import osv, orm
|
||||
from openerp.addons.web import http
|
||||
from openerp.addons.web.controllers import main
|
||||
from openerp.addons.web.http import request
|
||||
import urllib
|
||||
import math
|
||||
import traceback
|
||||
|
||||
import logging
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def auth_method_public():
|
||||
|
@ -68,7 +72,22 @@ class website(osv.osv):
|
|||
context = {
|
||||
'inherit_branding': values.get('editable', False),
|
||||
}
|
||||
return request.registry.get("ir.ui.view").render(request.cr, request.uid, template, values, context=context)
|
||||
try:
|
||||
return request.registry.get("ir.ui.view").render(request.cr, request.uid, template, values, context=context)
|
||||
except (osv.except_osv, orm.except_orm), err:
|
||||
logger.error(err)
|
||||
values['error'] = err[1]
|
||||
return self.render('website.401', values)
|
||||
except ValueError:
|
||||
logger.error("Website Rendering Error.\n\n%s" % (traceback.format_exc()))
|
||||
return self.render('website.404', values)
|
||||
except Exception:
|
||||
logger.error("Website Rendering Error.\n\n%s" % (traceback.format_exc()))
|
||||
if values['editable']:
|
||||
values['traceback'] = traceback.format_exc()
|
||||
return self.render('website.500', values)
|
||||
else:
|
||||
return self.render('website.404', values)
|
||||
|
||||
def pager(self, url, total, page=1, step=30, scope=5, url_args=None):
|
||||
# Compute Pager
|
||||
|
|
Loading…
Reference in New Issue