20 __docformat__ = "restructuredtext en" |
20 __docformat__ = "restructuredtext en" |
21 _ = unicode |
21 _ = unicode |
22 |
22 |
23 from logilab.mtconverter import xml_escape |
23 from logilab.mtconverter import xml_escape |
24 |
24 |
25 from cubicweb import Unauthorized |
25 from cubicweb import Unauthorized, typed_eid |
26 from cubicweb.selectors import is_instance, one_line_rset |
26 from cubicweb.selectors import is_instance, one_line_rset |
27 from cubicweb.web import (action, component, uicfg, htmlwidgets, |
27 from cubicweb.web import (action, component, uicfg, htmlwidgets, |
28 formwidgets as fw) |
28 formwidgets as fw) |
29 from cubicweb.web.views import primary |
29 from cubicweb.web.views import primary |
|
30 from cubicweb.web.views.ajaxcontroller import ajaxfunc |
30 |
31 |
31 _abaa = uicfg.actionbox_appearsin_addmenu |
32 _abaa = uicfg.actionbox_appearsin_addmenu |
32 _abaa.tag_subject_of(('*', 'bookmarked_by', '*'), False) |
33 _abaa.tag_subject_of(('*', 'bookmarked_by', '*'), False) |
33 _abaa.tag_object_of(('*', 'bookmarked_by', '*'), False) |
34 _abaa.tag_object_of(('*', 'bookmarked_by', '*'), False) |
34 |
35 |
131 url = req.user.absolute_url(vid='xaddrelation', rtype='bookmarked_by', |
132 url = req.user.absolute_url(vid='xaddrelation', rtype='bookmarked_by', |
132 target='subject') |
133 target='subject') |
133 menu.append(self.link(req._('pick existing bookmarks'), url)) |
134 menu.append(self.link(req._('pick existing bookmarks'), url)) |
134 self.append(menu) |
135 self.append(menu) |
135 self.render_items(w) |
136 self.render_items(w) |
|
137 |
|
138 @ajaxfunc |
|
139 def delete_bookmark(self, beid): |
|
140 rql = 'DELETE B bookmarked_by U WHERE B eid %(b)s, U eid %(u)s' |
|
141 self._cw.execute(rql, {'b': typed_eid(beid), 'u' : self._cw.user.eid}) |