258 from logilab.common.deprecation import deprecated, class_renamed |
258 from logilab.common.deprecation import deprecated, class_renamed |
259 from logilab.common.logging_ext import set_log_methods |
259 from logilab.common.logging_ext import set_log_methods |
260 from logilab.common.registry import (Predicate, NotPredicate, OrPredicate, |
260 from logilab.common.registry import (Predicate, NotPredicate, OrPredicate, |
261 classid, objectify_predicate, yes) |
261 classid, objectify_predicate, yes) |
262 |
262 |
263 from cubicweb import RegistryNotFound |
263 from cubicweb import RegistryNotFound, server |
264 from cubicweb.cwvreg import CWRegistry, CWRegistryStore |
264 from cubicweb.cwvreg import CWRegistry, CWRegistryStore |
265 from cubicweb.predicates import ExpectedValuePredicate, is_instance |
265 from cubicweb.predicates import ExpectedValuePredicate, is_instance |
266 from cubicweb.appobject import AppObject |
266 from cubicweb.appobject import AppObject |
267 |
267 |
268 ENTITIES_HOOKS = set(('before_add_entity', 'after_add_entity', |
268 ENTITIES_HOOKS = set(('before_add_entity', 'after_add_entity', |
323 # by default, hooks are executed with security turned off |
323 # by default, hooks are executed with security turned off |
324 with session.security_enabled(read=False): |
324 with session.security_enabled(read=False): |
325 for _kwargs in _iter_kwargs(entities, eids_from_to, kwargs): |
325 for _kwargs in _iter_kwargs(entities, eids_from_to, kwargs): |
326 hooks = sorted(self.filtered_possible_objects(pruned, session, **_kwargs), |
326 hooks = sorted(self.filtered_possible_objects(pruned, session, **_kwargs), |
327 key=lambda x: x.order) |
327 key=lambda x: x.order) |
|
328 debug = server.DEBUG & server.DBG_HOOKS |
328 with session.security_enabled(write=False): |
329 with session.security_enabled(write=False): |
329 for hook in hooks: |
330 for hook in hooks: |
|
331 if debug: |
|
332 print event, _kwargs, hook |
330 hook() |
333 hook() |
331 |
334 |
332 def get_pruned_hooks(self, session, event, entities, eids_from_to, kwargs): |
335 def get_pruned_hooks(self, session, event, entities, eids_from_to, kwargs): |
333 """return a set of hooks that should not be considered by filtered_possible objects |
336 """return a set of hooks that should not be considered by filtered_possible objects |
334 |
337 |