equal
deleted
inserted
replaced
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, |