view.py
branchtls-sprint
changeset 816 9cd49a910fce
parent 781 323656dd85a9
child 819 7fd66f389ef7
--- a/view.py	Wed Feb 18 16:55:01 2009 +0100
+++ b/view.py	Wed Feb 18 17:12:52 2009 +0100
@@ -9,6 +9,7 @@
 
 from cStringIO import StringIO
 
+from logilab.common.deprecation import obsolete
 from logilab.mtconverter import html_escape
 
 from cubicweb import NotAnEntity, NoSelectableObject
@@ -91,8 +92,9 @@
     attributes are added and the `w` attribute will be set at rendering
     time to a write function to use.
     """
+    __registry__ = 'views'
     __registerer__ = priority_registerer
-    __registry__ = 'views'
+    registered = require_group_compat(AppRsetObject.registered)
 
     templatable = True
     need_navigation = True
@@ -205,8 +207,8 @@
         self.req.set_content_type(self.content_type)
 
     # view utilities ##########################################################
-
-    def view(self, __vid, rset, __fallback_vid=None, **kwargs):
+        
+    def view(self, __vid, rset=None, __fallback_vid=None, **kwargs):
         """shortcut to self.vreg.render method avoiding to pass self.req"""
         try:
             view = self.vreg.select_view(__vid, self.req, rset, **kwargs)
@@ -215,7 +217,10 @@
                 raise
             view = self.vreg.select_view(__fallback_vid, self.req, rset, **kwargs)
         return view.dispatch(**kwargs)
-
+    
+    # XXX Template bw compat
+    template = obsolete('.template is deprecated, use .view')(view)
+    
     def wview(self, __vid, rset, __fallback_vid=None, **kwargs):
         """shortcut to self.view method automatically passing self.w as argument
         """
@@ -414,27 +419,13 @@
     
 # concrete template base classes ##############################################
 
-class Template(View):
-    """a template is almost like a view, except that by default a template
-    is only used globally (i.e. no result set adaptation)
-    """
-    __registry__ = 'templates'
-    __select__ = yes()
-
-    registered = require_group_compat(View.registered)
-
-    def template(self, oid, **kwargs):
-        """shortcut to self.registry.render method on the templates registry"""
-        w = kwargs.pop('w', self.w)
-        self.vreg.render('templates', oid, self.req, w=w, **kwargs)
-
-
-class MainTemplate(Template):
+class MainTemplate(View):
     """main template are primary access point to render a full HTML page.
     There is usually at least a regular main template and a simple fallback
     one to display error if the first one failed
     """
     base_doctype = STRICT_DOCTYPE
+    registered = require_group_compat(View.registered)
 
     @property
     def doctype(self):