web/views/bookmark.py
changeset 8128 0a927fe4541b
parent 6800 3f3d576b87d9
child 8190 2a3c1b787688
equal deleted inserted replaced
8125:7070250bf50d 8128:0a927fe4541b
    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})