hooks/bookmark.py
changeset 4050 f2e1bb4b7536
parent 3376 f5c69485381f
child 4307 7fba9c34c88f
equal deleted inserted replaced
4049:5838a4b0766d 4050:f2e1bb4b7536
     5 :contact: http://www.logilab.fr/ -- mailto:contact@logilab.fr
     5 :contact: http://www.logilab.fr/ -- mailto:contact@logilab.fr
     6 :license: GNU Lesser General Public License, v2.1 - http://www.gnu.org/licenses
     6 :license: GNU Lesser General Public License, v2.1 - http://www.gnu.org/licenses
     7 """
     7 """
     8 __docformat__ = "restructuredtext en"
     8 __docformat__ = "restructuredtext en"
     9 
     9 
    10 from cubicweb.selectors import entity_implements
       
    11 from cubicweb.server import hook
    10 from cubicweb.server import hook
    12 
    11 
    13 
    12 
    14 class AutoDeleteBookmarkOp(hook.Operation):
    13 class AutoDeleteBookmarkOp(hook.Operation):
    15     bookmark = None # make pylint happy
    14     bookmark = None # make pylint happy
    20 
    19 
    21 
    20 
    22 class DelBookmarkedByHook(hook.Hook):
    21 class DelBookmarkedByHook(hook.Hook):
    23     """ensure user logins are stripped"""
    22     """ensure user logins are stripped"""
    24     __regid__ = 'autodelbookmark'
    23     __regid__ = 'autodelbookmark'
    25     __select__ = hook.Hook.__select__ & entity_implements('bookmarked_by',)
    24     __select__ = hook.Hook.__select__ & hook.match_rtype('bookmarked_by',)
    26     category = 'bookmark'
    25     category = 'bookmark'
    27     events = ('after_delete_relation',)
    26     events = ('after_delete_relation',)
    28 
    27 
    29     def __call__(self):
    28     def __call__(self):
    30         AutoDeleteBookmarkOp(self._cw,
    29         AutoDeleteBookmarkOp(self._cw,