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') |