web/facet.py
branchstable
changeset 4614 95ccd84c892b
parent 4546 f8ac61376b2b
child 4615 d69d7ccbe046
equal deleted inserted replaced
4613:141a4f613f8a 4614:95ccd84c892b
   266     visible = True
   266     visible = True
   267     context = ''
   267     context = ''
   268     needs_update = False
   268     needs_update = False
   269     start_unfolded = True
   269     start_unfolded = True
   270 
   270 
   271     def __init__(self, req, rset=None, rqlst=None, filtered_variable=None,
   271     def __init__(self, req, rqlst=None, filtered_variable=None,
   272                  **kwargs):
   272                  **kwargs):
   273         super(AbstractFacet, self).__init__(req, rset=rset, **kwargs)
   273         super(AbstractFacet, self).__init__(req, **kwargs)
   274         assert rset is not None or rqlst is not None
   274         assert rqlst is not None
   275         assert filtered_variable
   275         assert filtered_variable
   276         # facet retreived using `object_by_id` from an ajax call
   276         # take care: facet may be retreived using `object_by_id` from an ajax call
   277         if rset is None:
   277         # or from `select` using the result set to filter
   278             self.init_from_form(rqlst=rqlst)
   278         self.rqlst = rqlst
   279         # facet retreived from `select` using the result set to filter
       
   280         else:
       
   281             self.init_from_rset()
       
   282         self.filtered_variable = filtered_variable
   279         self.filtered_variable = filtered_variable
   283 
       
   284     def init_from_rset(self):
       
   285         self.rqlst = self.cw_rset.syntax_tree().children[0]
       
   286 
       
   287     def init_from_form(self, rqlst):
       
   288         self.rqlst = rqlst
       
   289 
   280 
   290     @property
   281     @property
   291     def operator(self):
   282     def operator(self):
   292         # OR between selected values by default
   283         # OR between selected values by default
   293         return self._cw.form.get(self.__regid__ + '_andor', 'OR')
   284         return self._cw.form.get(self.__regid__ + '_andor', 'OR')