[MERGE] upstream

bzr revid: fme@openerp.com-20131104114431-dhjp6iy1sfxq4cg1
This commit is contained in:
Fabien Meghazi
2013-11-04 12:44:31 +01:00
4 changed files with 39 additions and 40 deletions
+4 -6
View File
@@ -136,11 +136,8 @@ class Website(openerp.addons.web.controllers.main.Home):
values = {
'path': path,
}
try:
html = request.website.render(path, values)
except ValueError:
html = request.website.render('website.404', values)
return html
return request.website.render(path, values)
@website.route('/website/customize_template_toggle', type='json', auth='user')
def customize_template_set(self, view_id):
@@ -281,7 +278,8 @@ class Website(openerp.addons.web.controllers.main.Home):
@website.route(['/robots.txt'], type='http', auth="public")
def robots(self):
return request.website.render('website.robots', {'url_root': request.httprequest.url_root})
body = request.website.render('website.robots', {'url_root': request.httprequest.url_root})
return request.make_response(body, headers=[('Content-Type', 'text/plain')])
@website.route('/sitemap', type='http', auth='public', multilang=True)
def sitemap(self, **kwargs):
+31 -31
View File
@@ -2,22 +2,24 @@
import fnmatch
import functools
import operator
import logging
import math
import simplejson
import openerp
from openerp.osv import osv, fields
from openerp.addons.web import http
from openerp.addons.web.http import request
import traceback
import urllib
from urlparse import urljoin
import math
import traceback
from openerp.tools.safe_eval import safe_eval
from openerp.exceptions import AccessError, AccessDenied
import werkzeug
from openerp.addons.base.ir.ir_qweb import QWebException
import logging
import werkzeug
import werkzeug.exceptions
import werkzeug.wrappers
import openerp
from openerp.exceptions import AccessError, AccessDenied
from openerp.osv import osv, fields
from openerp.tools.safe_eval import safe_eval
from openerp.addons.web import http
from openerp.addons.web.http import request
logger = logging.getLogger(__name__)
def route(routes, *route_args, **route_kwargs):
@@ -180,8 +182,7 @@ class website(osv.osv):
try:
view_ref = IMD.get_object_reference(cr, uid, module, xmlid)
except ValueError:
logger.error("Website Rendering Error.\n\n%s" % traceback.format_exc())
return self.render(cr, uid, ids, 'website.404', qweb_context)
return self.error(cr, uid, 404, qweb_context, context=context)
if 'main_object' not in qweb_context:
try:
@@ -198,24 +199,23 @@ class website(osv.osv):
logger.error(err)
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:
return self.error(cr, uid, 401, qweb_context, context=context)
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.exception("Website Rendering Error.\n%(template)s\n%(expr)s\n%(node)s" % qweb_context)
return self.error(cr, uid, 500 if qweb_context['editable'] else 404,
qweb_context, context=context)
def error(self, cr, uid, code, qweb_context, context=None):
View = request.registry['ir.ui.view']
return werkzeug.wrappers.Response(
View.render(cr, uid, 'website.%d' % code, qweb_context),
status=code,
content_type='text/html;charset=utf-8')
def pager(self, cr, uid, ids, url, total, page=1, step=30, scope=5, url_args=None):
# Compute Pager
@@ -589,7 +589,8 @@
* Displayed into the overlay options on focus
*/
_readXMLData: function() {
this.$el = this.parent.$snippets.siblings("[data-snippet-id='"+this.snippet_id+"']").clone();
var self = this;
this.$el = this.parent.$snippets.filter(function () { return $(this).data("snippet-id") == self.snippet_id; }).clone();
this.$editor = this.$el.find(".oe_snippet_options");
var $options = this.$overlay.find(".oe_overlay_options");
this.$editor.prependTo($options.find(".oe_options ul"));
+2 -2
View File
@@ -391,8 +391,8 @@
<h1 class="container mt32">500: Internal Server Error!</h1>
</div>
<t t-if="editable">
<h3>An exception appear in the template: <span id="exception_template" t-esc="template"/></h3>
<b id="exception_message" t-esc="message"/>
<h3>Exception in template: <span id="exception_template" t-esc="template"/></h3>
<h4 t-if="expr">Expression: <t t-esc="expr"/></h4>
<pre id="exception_node" t-esc="node"/>
<pre id="exception_traceback" t-esc="traceback"/>
</t>