I took my cues from how ObjectModifiedEvent is handled. I figured copied and moved should be treated the same. Also, there is this comment in OFS/subscribers.py:

# The following subscribers should really be defined in ZCML
# but we don't have enough control over subscriber ordering for
# that to work exactly right.
# (Sometimes IItem comes before IObjectManager, sometimes after,
# depending on some of Zope's classes.)
# This code can be simplified when Zope is completely rid of
# manage_afterAdd & co, then IItem wouldn't be relevant anymore and we
# could have a simple subscriber for IObjectManager that directly calls
# dispatchToSublocations.


On 20. Jun 2007, at 12:25, Philipp von Weitershausen wrote:

Stefan H. Holek wrote:
Log message for revision 76597:
  Collector #2307: ObjectCopiedEvent not dispatched to sublocations.


@@ -130,7 +131,15 @@
     if OFS.interfaces.IObjectManager.providedBy(ob):
         dispatchToSublocations(ob, event)
 [EMAIL PROTECTED](OFS.interfaces.IItem, IObjectCopiedEvent)
+def dispatchObjectCopiedEvent(ob, event):
+    """Multi-subscriber for IItem + IObjectCopiedEvent.
+    """
+    # Dispatch to sublocations
+    if OFS.interfaces.IObjectManager.providedBy(ob):
+        dispatchToSublocations(ob, event)

Why are you subscribing to IItem if you really want to work only with IObjectManagers?

Anything that, in happening, causes itself to happen again,
happens again.  --Douglas Adams

Zope-Dev maillist  -  Zope-Dev@zope.org
**  No cross posts or HTML encoding!  **
(Related lists - http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )

Reply via email to