# HG changeset patch # User Adrien Di Mascio # Date 1234813350 -3600 # Node ID 616191014b8b2998f3d73afe4946c0ca21319c92 # Parent 2cf7b79d8e776ae98b27f515e645608193ec9de5 [jsoncontroller] reorganize _html_exec (used by replacePageChunk) to output required css and js scripts diff -r 2cf7b79d8e77 -r 616191014b8b common/utils.py --- a/common/utils.py Mon Feb 16 20:40:12 2009 +0100 +++ b/common/utils.py Mon Feb 16 20:42:30 2009 +0100 @@ -177,7 +177,7 @@ self.post_inlined_scripts.append(self.js_unload_code) self.pagedata_unload = True - def getvalue(self): + def getvalue(self, skiphead=False): """reimplement getvalue to provide a consistent (and somewhat browser optimzed cf. http://stevesouders.com/cuzillion) order in external resources declaration @@ -209,7 +209,10 @@ w(u'\n') - return u'\n%s\n' % super(HTMLHead, self).getvalue() + header = super(HTMLHead, self).getvalue() + if skiphead: + return header + return u'\n%s\n' % header class HTMLStream(object): diff -r 2cf7b79d8e77 -r 616191014b8b web/views/basecontrollers.py --- a/web/views/basecontrollers.py Mon Feb 16 20:40:12 2009 +0100 +++ b/web/views/basecontrollers.py Mon Feb 16 20:42:30 2009 +0100 @@ -211,14 +211,14 @@ self.req.set_content_type(content_type) return xmlize(data) return data - + def html_exec(self, rset=None): - """html mode: execute query and return the view as HTML""" + # XXX try to use the page-content template req = self.req rql = req.form.get('rql') if rset is None and rql: rset = self._exec(rql) - + vid = req.form.get('vid') or vid_from_rset(req, rset, self.schema) try: view = self.vreg.select_view(vid, req, rset) @@ -239,6 +239,10 @@ if divid == 'pageContent': stream.write(u'
') view.dispatch() + extresources = req.html_headers.getvalue(skiphead=True) + stream.write(u'
\n') # XXX use a widget ? + stream.write(extresources) + stream.write(u'
\n') if req.form.get('paginate') and divid == 'pageContent': stream.write(u'
') source = stream.getvalue()