override publisher.render_response instead of template.decorate (#15806)

This commit is contained in:
Frédéric Péters 2017-04-10 10:51:01 +02:00
parent 0270ded68b
commit 3b6de2bb8a
1 changed files with 8 additions and 8 deletions

View File

@ -1,4 +1,5 @@
from quixote import get_request, get_publisher, get_response
from qommon.publisher import get_publisher_class
from quixote.html import htmltext
from qommon import _
@ -6,22 +7,22 @@ from qommon import template
from qommon.admin.texts import TextsDirectory
from wcs.categories import Category
wcs_decorate = template.decorate
wcs_error_page = template.error_page
def decorate(body, response):
def render_response(publisher, body):
response = publisher.get_request().response
body = str(body)
for key in ('bigdiv', 'gauche'):
if not response.filter.has_key(key):
response.filter[key] = None
root_url = get_publisher().get_root_url()
wcs_path = get_request().get_path()[len(root_url):]
root_url = publisher.get_root_url()
wcs_path = publisher.get_request().get_path()[len(root_url):]
section = wcs_path.split('/')[0]
if section in ('backoffice', 'admin'):
return wcs_decorate(body, response)
return template.decorate(body, response)
section_title = ''
page_title = response.filter.get('title')
@ -61,7 +62,7 @@ def decorate(body, response):
if len(response.breadcrumb) == 1:
response.breadcrumb = None
return wcs_decorate(body, response)
return template.decorate(body, response)
def error_page(*args, **kwargs):
@ -75,8 +76,7 @@ def error_page(*args, **kwargs):
get_response().filter['title'] = None
return htmltext('<div id="info"><h2>%s</h2>' % title) + error_page + htmltext('</div>')
template.decorate = decorate
template.error_page = error_page
get_publisher_class().render_response = render_response
TextsDirectory.register('aq-error-assistance', N_('Assistance text next to errors'))