web/views/basecontrollers.py
branchtls-sprint
changeset 643 616191014b8b
parent 603 18c6c31bbaf4
child 644 5e5b296a657e
equal deleted inserted replaced
642:2cf7b79d8e77 643:616191014b8b
   209         content_type = vobj.content_type
   209         content_type = vobj.content_type
   210         if content_type == 'application/xhtml+xml':
   210         if content_type == 'application/xhtml+xml':
   211             self.req.set_content_type(content_type)
   211             self.req.set_content_type(content_type)
   212             return xmlize(data)
   212             return xmlize(data)
   213         return data
   213         return data
   214 
   214     
   215     def html_exec(self, rset=None):
   215     def html_exec(self, rset=None):
   216         """html mode: execute query and return the view as HTML"""
   216         # XXX try to use the page-content template
   217         req = self.req
   217         req = self.req
   218         rql = req.form.get('rql')
   218         rql = req.form.get('rql')
   219         if rset is None and rql:
   219         if rset is None and rql:
   220             rset = self._exec(rql)
   220             rset = self._exec(rql)
   221             
   221         
   222         vid = req.form.get('vid') or vid_from_rset(req, rset, self.schema)
   222         vid = req.form.get('vid') or vid_from_rset(req, rset, self.schema)
   223         try:
   223         try:
   224             view = self.vreg.select_view(vid, req, rset)
   224             view = self.vreg.select_view(vid, req, rset)
   225         except NoSelectableObject:
   225         except NoSelectableObject:
   226             vid = req.form.get('fallbackvid', 'noresult')
   226             vid = req.form.get('fallbackvid', 'noresult')
   237                     stream.write(u'<h1 class="vtitle">%s</h1>\n' % vtitle)
   237                     stream.write(u'<h1 class="vtitle">%s</h1>\n' % vtitle)
   238             view.pagination(req, rset, view.w, not view.need_navigation)
   238             view.pagination(req, rset, view.w, not view.need_navigation)
   239             if divid == 'pageContent':
   239             if divid == 'pageContent':
   240                 stream.write(u'<div id="contentmain">')
   240                 stream.write(u'<div id="contentmain">')
   241         view.dispatch()
   241         view.dispatch()
       
   242         extresources = req.html_headers.getvalue(skiphead=True)
       
   243         stream.write(u'<div class="ajaxHtmlHead">\n') # XXX use a widget ?
       
   244         stream.write(extresources)
       
   245         stream.write(u'</div>\n')
   242         if req.form.get('paginate') and divid == 'pageContent':
   246         if req.form.get('paginate') and divid == 'pageContent':
   243             stream.write(u'</div></div>')
   247             stream.write(u'</div></div>')
   244         source = stream.getvalue()
   248         source = stream.getvalue()
   245         return self._set_content_type(view, source)
   249         return self._set_content_type(view, source)
   246 
   250