22 |
22 |
23 from cubicweb import Unauthorized, typed_eid |
23 from cubicweb import Unauthorized, typed_eid |
24 from cubicweb.schema import display_name |
24 from cubicweb.schema import display_name |
25 from cubicweb.utils import datetime2ticks, make_uid, ustrftime |
25 from cubicweb.utils import datetime2ticks, make_uid, ustrftime |
26 from cubicweb.selectors import match_context_prop, partial_relation_possible |
26 from cubicweb.selectors import match_context_prop, partial_relation_possible |
27 from cubicweb.appobject import AppRsetObject |
27 from cubicweb.appobject import AppObject |
28 from cubicweb.web.htmlwidgets import HTMLWidget |
28 from cubicweb.web.htmlwidgets import HTMLWidget |
29 |
29 |
30 ## rqlst manipulation functions used by facets ################################ |
30 ## rqlst manipulation functions used by facets ################################ |
31 |
31 |
32 def prepare_facets_rqlst(rqlst, args=None): |
32 def prepare_facets_rqlst(rqlst, args=None): |
239 toremove.add(rqlst.defined_vars[ovarname]) |
239 toremove.add(rqlst.defined_vars[ovarname]) |
240 |
240 |
241 |
241 |
242 |
242 |
243 ## base facet classes ######################################################### |
243 ## base facet classes ######################################################### |
244 class AbstractFacet(AppRsetObject): |
244 class AbstractFacet(AppObject): |
245 __abstract__ = True |
245 __abstract__ = True |
246 __registry__ = 'facets' |
246 __registry__ = 'facets' |
247 property_defs = { |
247 property_defs = { |
248 _('visible'): dict(type='Boolean', default=True, |
248 _('visible'): dict(type='Boolean', default=True, |
249 help=_('display the box or not')), |
249 help=_('display the box or not')), |
263 def selected(cls, req, rset=None, rqlst=None, context=None, |
263 def selected(cls, req, rset=None, rqlst=None, context=None, |
264 filtered_variable=None): |
264 filtered_variable=None): |
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) |
267 instance = super(AbstractFacet, cls).selected(req, rset) |
268 #instance = AppRsetObject.selected(req, rset) |
268 #instance = AppObject.selected(req, rset) |
269 #instance.__class__ = cls |
269 #instance.__class__ = cls |
270 # facet retreived using `object_by_id` from an ajax call |
270 # facet retreived using `object_by_id` from an ajax call |
271 if rset is None: |
271 if rset is None: |
272 instance.init_from_form(rqlst=rqlst) |
272 instance.init_from_form(rqlst=rqlst) |
273 # facet retreived from `select` using the result set to filter |
273 # facet retreived from `select` using the result set to filter |