78 wdg = facet.get_widget() |
80 wdg = facet.get_widget() |
79 if wdg is not None: |
81 if wdg is not None: |
80 widgets.append(wdg) |
82 widgets.append(wdg) |
81 if not widgets: |
83 if not widgets: |
82 return |
84 return |
|
85 self.displayBookmarkLink(rset) |
83 w = self.w |
86 w = self.w |
84 eschema = self.schema.eschema('Bookmark') |
|
85 if eschema.has_perm(req, 'add'): |
|
86 bk_path = 'view?rql=%s' % rset.printable_rql() |
|
87 bk_title = req._('my custom search') |
|
88 linkto = 'bookmarked_by:%s:subject' % self.req.user.eid |
|
89 bk_add_url = self.build_url('add/Bookmark', path=bk_path, title=bk_title, __linkto=linkto) |
|
90 bk_base_url = self.build_url('add/Bookmark', title=bk_title, __linkto=linkto) |
|
91 w(u'<div class="facetTitle"><a cubicweb:target="%s" id="facetBkLink" href="%s">%s</a></div>' % ( |
|
92 html_escape(bk_base_url), |
|
93 html_escape(bk_add_url), |
|
94 req._('bookmark this search'))) |
|
95 w(u'<form method="post" id="%sForm" cubicweb:facetargs="%s" action="">' % ( |
87 w(u'<form method="post" id="%sForm" cubicweb:facetargs="%s" action="">' % ( |
96 divid, html_escape(dumps([divid, vid, paginate, self.facetargs()])))) |
88 divid, html_escape(dumps([divid, vid, paginate, self.facetargs()])))) |
97 w(u'<fieldset>') |
89 w(u'<fieldset>') |
98 hiddens = {'facets': ','.join(wdg.facet.id for wdg in widgets), |
90 hiddens = {'facets': ','.join(wdg.facet.id for wdg in widgets), |
99 'baserql': baserql} |
91 'baserql': baserql} |
106 w(u'</fieldset>\n</form>\n') |
98 w(u'</fieldset>\n</form>\n') |
107 finally: |
99 finally: |
108 rqlst.recover() |
100 rqlst.recover() |
109 import cubicweb |
101 import cubicweb |
110 cubicweb.info('after facets with rql: %s' % repr(rqlst)) |
102 cubicweb.info('after facets with rql: %s' % repr(rqlst)) |
|
103 |
|
104 def displayBookmarkLink(self, rset): |
|
105 eschema = self.schema.eschema('Bookmark') |
|
106 if eschema.has_perm(self.req, 'add'): |
|
107 bk_path = 'view?rql=%s' % rset.printable_rql() |
|
108 bk_title = self.req._('my custom search') |
|
109 linkto = 'bookmarked_by:%s:subject' % self.req.user.eid |
|
110 bk_add_url = self.build_url('add/Bookmark', path=bk_path, title=bk_title, __linkto=linkto) |
|
111 bk_base_url = self.build_url('add/Bookmark', title=bk_title, __linkto=linkto) |
|
112 bk_link = u'<a cubicweb:target="%s" id="facetBkLink" href="%s">%s</a>' % ( |
|
113 html_escape(bk_base_url), |
|
114 html_escape(bk_add_url), |
|
115 self.req._('bookmark this search')) |
|
116 self.w(self.bkLinkBox_template % bk_link) |
111 |
117 |
112 def get_facets(self, rset, mainvar): |
118 def get_facets(self, rset, mainvar): |
113 return self.vreg.possible_vobjects('facets', self.req, rset=rset, |
119 return self.vreg.possible_vobjects('facets', self.req, rset=rset, |
114 context='facetbox', |
120 context='facetbox', |
115 filtered_variable=mainvar) |
121 filtered_variable=mainvar) |