web/facet.py
changeset 2658 5535857eeaa5
parent 2656 a93ae0f6c0ad
child 2770 356e9d7c356d
child 2996 866a2c135c33
equal deleted inserted replaced
2657:de974465d381 2658:5535857eeaa5
   257     visible = True
   257     visible = True
   258     context = ''
   258     context = ''
   259     needs_update = False
   259     needs_update = False
   260     start_unfolded = True
   260     start_unfolded = True
   261 
   261 
   262     @classmethod
   262     def __init__(self, req, rset=None, rqlst=None, filtered_variable=None,
   263     def selected(cls, req, rset=None, rqlst=None, context=None,
   263                  **kwargs):
   264                  filtered_variable=None):
   264         super(AbstractFacet, self).__init__(req, rset, **kwargs)
   265         assert rset is not None or rqlst is not None
   265         assert rset is not None or rqlst is not None
   266         assert filtered_variable
   266         assert filtered_variable
   267         instance = super(AbstractFacet, cls).selected(req, rset)
       
   268         #instance = AppObject.selected(req, rset)
       
   269         #instance.__class__ = cls
       
   270         # facet retreived using `object_by_id` from an ajax call
   267         # facet retreived using `object_by_id` from an ajax call
   271         if rset is None:
   268         if rset is None:
   272             instance.init_from_form(rqlst=rqlst)
   269             self.init_from_form(rqlst=rqlst)
   273         # facet retreived from `select` using the result set to filter
   270         # facet retreived from `select` using the result set to filter
   274         else:
   271         else:
   275             instance.init_from_rset()
   272             self.init_from_rset()
   276         instance.filtered_variable = filtered_variable
   273         self.filtered_variable = filtered_variable
   277         return instance
       
   278 
   274 
   279     def init_from_rset(self):
   275     def init_from_rset(self):
   280         self.rqlst = self.rset.syntax_tree().children[0]
   276         self.rqlst = self.rset.syntax_tree().children[0]
   281 
   277 
   282     def init_from_form(self, rqlst):
   278     def init_from_form(self, rqlst):