web/views/basetemplates.py
changeset 2555 ca7b122f34fa
parent 2381 caad2367d940
child 2559 46859078c866
equal deleted inserted replaced
2554:3b6a6d2f9d7e 2555:ca7b122f34fa
    11 from logilab.mtconverter import xml_escape
    11 from logilab.mtconverter import xml_escape
    12 
    12 
    13 from cubicweb.vregistry import objectify_selector
    13 from cubicweb.vregistry import objectify_selector
    14 from cubicweb.selectors import match_kwargs
    14 from cubicweb.selectors import match_kwargs
    15 from cubicweb.view import View, MainTemplate, NOINDEX, NOFOLLOW
    15 from cubicweb.view import View, MainTemplate, NOINDEX, NOFOLLOW
       
    16 from cubicweb.web.views.basecontrollers import xhtml_wrap_header, xhtml_wrap_tail
    16 from cubicweb.utils import make_uid, UStringIO
    17 from cubicweb.utils import make_uid, UStringIO
       
    18 
    17 
    19 
    18 # main templates ##############################################################
    20 # main templates ##############################################################
    19 
    21 
    20 class LogInOutTemplate(MainTemplate):
    22 class LogInOutTemplate(MainTemplate):
    21 
    23 
    81     __select__ = ~templatable_view()
    83     __select__ = ~templatable_view()
    82 
    84 
    83     def call(self, view):
    85     def call(self, view):
    84         view.set_request_content_type()
    86         view.set_request_content_type()
    85         view.set_stream()
    87         view.set_stream()
    86         xhtml_wrap = (self.req.form.has_key('__notemplate') and view.templatable
    88         if view.content_type == self.req.html_content_type():
    87                       and view.content_type == self.req.html_content_type())
    89             view.w(xhtml_wrap_header(self))
    88         if xhtml_wrap:
    90             view.render()
    89             view.w(u'<?xml version="1.0"?>\n' + self.doctype)
    91             view.w(xhtml_wrap_tail(self))
    90             view.w(u'<div xmlns="http://www.w3.org/1999/xhtml" xmlns:cubicweb="http://www.logilab.org/2008/cubicweb">')
    92         else:
    91         # have to replace our unicode stream using view's binary stream
    93             view.render()
    92         view.render()
       
    93         if xhtml_wrap:
       
    94             view.w(u'</div>')
       
    95         self._stream = view._stream
    94         self._stream = view._stream
    96 
    95 
    97 
    96 
    98 class TheMainTemplate(MainTemplate):
    97 class TheMainTemplate(MainTemplate):
    99     """default main template :
    98     """default main template :