web/views/basetemplates.py
branchstable
changeset 9542 79b9bf88be28
parent 9378 4a668dcfa0a0
child 9709 d60dc7e03a45
equal deleted inserted replaced
9540:43b4895a150f 9542:79b9bf88be28
    84         else:
    84         else:
    85             self.w(u'<h2>%s</h2>' % msg)
    85             self.w(u'<h2>%s</h2>' % msg)
    86 
    86 
    87 
    87 
    88 @objectify_predicate
    88 @objectify_predicate
       
    89 def modal_view(cls, req, rset, *args, **kwargs):
       
    90     if req.form.get('__modal', None):
       
    91         return 1
       
    92 
       
    93 @objectify_predicate
    89 def templatable_view(cls, req, rset, *args, **kwargs):
    94 def templatable_view(cls, req, rset, *args, **kwargs):
    90     view = kwargs.pop('view', None)
    95     view = kwargs.pop('view', None)
    91     if view is None:
    96     if view is None:
    92         return 1
    97         return 1
    93     if view.binary:
    98     if view.binary:
   114         else:
   119         else:
   115             view.render()
   120             view.render()
   116         # have to replace our stream by view's stream (which may be a binary
   121         # have to replace our stream by view's stream (which may be a binary
   117         # stream)
   122         # stream)
   118         self._stream = view._stream
   123         self._stream = view._stream
       
   124 
       
   125 
       
   126 class ModalMainTemplate(MainTemplate):
       
   127     """ a no-decoration main template for standard views
       
   128     that typically live in a modal context """
       
   129     __regid__ = 'main-template'
       
   130     __select__ = templatable_view() & modal_view()
       
   131 
       
   132     def call(self, view):
       
   133         view.set_request_content_type()
       
   134         view.render(w=self.w)
   119 
   135 
   120 
   136 
   121 class TheMainTemplate(MainTemplate):
   137 class TheMainTemplate(MainTemplate):
   122     """default main template :
   138     """default main template :
   123 
   139