equal
deleted
inserted
replaced
61 from cubicweb.schema import display_name |
61 from cubicweb.schema import display_name |
62 from cubicweb.utils import make_uid |
62 from cubicweb.utils import make_uid |
63 from cubicweb.selectors import match_context_prop, partial_relation_possible |
63 from cubicweb.selectors import match_context_prop, partial_relation_possible |
64 from cubicweb.appobject import AppObject |
64 from cubicweb.appobject import AppObject |
65 from cubicweb.web.htmlwidgets import HTMLWidget |
65 from cubicweb.web.htmlwidgets import HTMLWidget |
|
66 |
|
67 |
|
68 def rtype_facet_title(facet): |
|
69 ptypes = facet.cw_rset.column_types(0) |
|
70 if len(ptypes) == 1: |
|
71 return display_name(facet._cw, facet.rtype, form=facet.role, |
|
72 context=iter(ptypes).next()) |
|
73 return display_name(facet._cw, facet.rtype, form=facet.role) |
66 |
74 |
67 ## rqlst manipulation functions used by facets ################################ |
75 ## rqlst manipulation functions used by facets ################################ |
68 |
76 |
69 def prepare_facets_rqlst(rqlst, args=None): |
77 def prepare_facets_rqlst(rqlst, args=None): |
70 """prepare a syntax tree to generate facet filters |
78 """prepare a syntax tree to generate facet filters |
509 label_vid = None |
517 label_vid = None |
510 |
518 |
511 # internal purpose |
519 # internal purpose |
512 _select_target_entity = True |
520 _select_target_entity = True |
513 |
521 |
514 @property |
522 title = property(rtype_facet_title) |
515 def title(self): |
|
516 return display_name(self._cw, self.rtype, form=self.role) |
|
517 |
523 |
518 @property |
524 @property |
519 def rql_sort(self): |
525 def rql_sort(self): |
520 """return true if we can handle sorting in the rql query. E.g. if |
526 """return true if we can handle sorting in the rql query. E.g. if |
521 sortfunc is set or if we have not to transform the returned value (eg no |
527 sortfunc is set or if we have not to transform the returned value (eg no |
886 role = 'subject' |
892 role = 'subject' |
887 """ |
893 """ |
888 rtype = None # override me in subclass |
894 rtype = None # override me in subclass |
889 role = 'subject' # role of filtered entity in the relation |
895 role = 'subject' # role of filtered entity in the relation |
890 |
896 |
891 @property |
897 title = property(rtype_facet_title) |
892 def title(self): |
|
893 return display_name(self._cw, self.rtype, self.role) |
|
894 |
898 |
895 def support_and(self): |
899 def support_and(self): |
896 return False |
900 return False |
897 |
901 |
898 def get_widget(self): |
902 def get_widget(self): |