merge tls-sprint
authorAdrien Di Mascio <Adrien.DiMascio@logilab.fr>
Wed, 18 Feb 2009 10:06:20 +0100
branchtls-sprint
changeset 760 95b3419e94c5
parent 759 e044f28372bd (diff)
parent 756 2c3981830408 (current diff)
child 761 6378cd66d69f
merge
vregistry.py
web/views/baseviews.py
--- a/selectors.py	Wed Feb 18 02:07:58 2009 +0100
+++ b/selectors.py	Wed Feb 18 10:06:20 2009 +0100
@@ -347,7 +347,7 @@
 @lltrace
 def authenticated_user(cls, req, *args, **kwargs):
     """accept if user is authenticated"""
-    return not anonymous_user(cls, req, *args, **kwargs)
+    return not anonymous_user()(cls, req, *args, **kwargs)
 
 @objectify_selector
 @lltrace
--- a/view.py	Wed Feb 18 02:07:58 2009 +0100
+++ b/view.py	Wed Feb 18 10:06:20 2009 +0100
@@ -323,7 +323,7 @@
     # XXX deprecate
     __registerer__ = accepts_registerer
     __select__ = implements('Any')
-    registered = accepts_compat(View.registered.im_func)
+    registered = accepts_compat(View.registered)
 
     category = 'entityview'
 
@@ -334,7 +334,7 @@
     """
     __registerer__ = priority_registerer
     __select__ = none_rset()
-    registered = require_group_compat(View.registered.im_func)
+    registered = require_group_compat(View.registered)
     
     category = 'startupview'
     
@@ -421,7 +421,7 @@
     __registry__ = 'templates'
     __select__ = yes()
 
-    registered = require_group_compat(View.registered.im_func)
+    registered = require_group_compat(View.registered)
 
     def template(self, oid, **kwargs):
         """shortcut to self.registry.render method on the templates registry"""
--- a/vregistry.py	Wed Feb 18 02:07:58 2009 +0100
+++ b/vregistry.py	Wed Feb 18 10:06:20 2009 +0100
@@ -685,7 +685,9 @@
     will be the sum of each selector'score
     """
     assert selectors
-    selector = AndSelector(*selectors)
+    # XXX do we need to create the AndSelector here, a tuple might be enough
+    selector = AndSelector(*[_instantiate_selector(selector)
+                             for selector in selectors])
     if 'name' in kwargs:
         selector.__name__ = kwargs['name']
     return selector
@@ -696,7 +698,8 @@
     will be the first non-zero selector score
     """
     assert selectors
-    selector = OrSelector(*selectors)
+    selector = OrSelector(*[_instantiate_selector(selector)
+                            for selector in selectors])
     if 'name' in kwargs:
         selector.__name__ = kwargs['name']
     return selector
--- a/web/action.py	Wed Feb 18 02:07:58 2009 +0100
+++ b/web/action.py	Wed Feb 18 10:06:20 2009 +0100
@@ -82,7 +82,7 @@
         return selector(cls, req, rset, row, col, **kwargs)
 
     __select__ = my_selector()
-    registered = accepts_compat(Action.registered.im_func)
+    registered = accepts_compat(Action.registered)
     
     category = 'addrelated'
                 
--- a/web/controller.py	Wed Feb 18 02:07:58 2009 +0100
+++ b/web/controller.py	Wed Feb 18 10:06:20 2009 +0100
@@ -69,7 +69,7 @@
     __registry__ = 'controllers'
     __registerer__ = priority_registerer
     __select__ = yes()
-    registered = require_group_compat(AppObject.registered.im_func)
+    registered = require_group_compat(AppObject.registered)
 
     def __init__(self, *args, **kwargs):
         super(Controller, self).__init__(*args, **kwargs)
--- a/web/form.py	Wed Feb 18 02:07:58 2009 +0100
+++ b/web/form.py	Wed Feb 18 10:06:20 2009 +0100
@@ -239,9 +239,7 @@
     should list necessary parameters in the form to be accepted.
     """
     __registerer__ = accepts_registerer
-    __select__ = classmethod(match_form_params)
-
-    form_params = ()
+    __select__ = match_form_params()
 
 class EntityForm(FormMixIn, EntityView):
     """base class for forms applying on an entity (i.e. uniform result set)
--- a/web/views/basecomponents.py	Wed Feb 18 02:07:58 2009 +0100
+++ b/web/views/basecomponents.py	Wed Feb 18 10:06:20 2009 +0100
@@ -194,8 +194,8 @@
     to be able to filter accordingly.
     """
     id = 'etypenavigation'
-    __select__ = classmethod(chainfirst(two_etypes_rset, match_form_params))
-    form_params = ('__restrtype', '__restrtypes', '__restrrql')
+    __select__ = two_etypes_rset() | match_form_params('__restrtype', '__restrtypes',
+                                                       '__restrrql')
     visible = False # disabled by default
     
     def call(self):
--- a/web/views/baseviews.py	Wed Feb 18 02:07:58 2009 +0100
+++ b/web/views/baseviews.py	Wed Feb 18 10:06:20 2009 +0100
@@ -35,7 +35,7 @@
 class NullView(AnyRsetView):
     """default view when no result has been found"""
     id = 'null'
-    __select__ = classmethod(yes)
+    __select__ = yes()
     def call(self, **kwargs):
         pass
     cell_call = call
--- a/web/views/facets.py	Wed Feb 18 02:07:58 2009 +0100
+++ b/web/views/facets.py	Wed Feb 18 10:06:20 2009 +0100
@@ -30,8 +30,8 @@
     """filter results of a query"""
     id = 'filter_box'
     __select__ = (((non_final_entity() & two_lines_rset())
-                   | contextview_selector
-                   ) & match_context_prop)
+                   | contextview_selector()
+                   ) & match_context_prop())
     context = 'left'
     title = _('boxes_filter_box')
     visible = True # functionality provided by the search box by default