[Zope-Checkins] SVN: Products.Five/branches/1.4/ Restored fix for
#2307 by merging from 1.4-objectcopiedeventdispatcher branch.
Stefan H. Holek
stefan at epy.co.at
Tue Jul 31 18:52:39 EDT 2007
Log message for revision 78509:
Restored fix for #2307 by merging from 1.4-objectcopiedeventdispatcher branch.
Changed:
U Products.Five/branches/1.4/event.zcml
U Products.Five/branches/1.4/tests/event.txt
-=-
Modified: Products.Five/branches/1.4/event.zcml
===================================================================
--- Products.Five/branches/1.4/event.zcml 2007-07-31 22:43:53 UTC (rev 78508)
+++ Products.Five/branches/1.4/event.zcml 2007-07-31 22:52:38 UTC (rev 78509)
@@ -33,4 +33,12 @@
handler="OFS.subscribers.dispatchObjectClonedEvent"
/>
+ <!-- dispatch IObjectCopiedEvent with "top-down" semantics -->
+
+ <subscriber
+ for="OFS.interfaces.IItem
+ zope.app.event.interfaces.IObjectCopiedEvent"
+ handler="OFS.subscribers.dispatchObjectCopiedEvent"
+ />
+
</configure>
Modified: Products.Five/branches/1.4/tests/event.txt
===================================================================
--- Products.Five/branches/1.4/tests/event.txt 2007-07-31 22:43:53 UTC (rev 78508)
+++ Products.Five/branches/1.4/tests/event.txt 2007-07-31 22:52:38 UTC (rev 78509)
@@ -60,6 +60,7 @@
>>> from zope.app.event.interfaces import IObjectEvent
>>> from zope.app.container.interfaces import IObjectMovedEvent
+ >>> from zope.app.event.interfaces import IObjectCopiedEvent
>>> from OFS.interfaces import IObjectWillBeMovedEvent
>>> from OFS.interfaces import IObjectClonedEvent
>>> from OFS.interfaces import IItem
@@ -67,6 +68,7 @@
... print event.__class__.__name__, object.getId()
>>> def printObjectEventExceptSome(object, event):
... if (IObjectMovedEvent.providedBy(event) or
+ ... IObjectCopiedEvent.providedBy(event) or
... IObjectWillBeMovedEvent.providedBy(event) or
... IObjectClonedEvent.providedBy(event)):
... return
@@ -74,6 +76,7 @@
>>> from zope.component import provideHandler
>>> provideHandler(printObjectEvent, (IItem, IObjectMovedEvent))
+ >>> provideHandler(printObjectEvent, (IItem, IObjectCopiedEvent))
>>> provideHandler(printObjectEvent, (IItem, IObjectWillBeMovedEvent))
>>> provideHandler(printObjectEvent, (IItem, IObjectClonedEvent))
>>> provideHandler(printObjectEventExceptSome, (None, IObjectEvent))
@@ -134,6 +137,7 @@
>>> res = folder.manage_clone(folder.marine, 'tank')
ObjectCopiedEvent tank
+ ObjectCopiedEvent dog
ObjectWillBeAddedEvent tank
ObjectWillBeAddedEvent dog
ObjectAddedEvent tank
@@ -283,6 +287,7 @@
>>> res = folder.manage_clone(folder.pluto, 'mickey')
ObjectCopiedEvent mickey
+ ObjectCopiedEvent donald
ObjectWillBeAddedEvent mickey
ObjectWillBeAddedEvent donald
ObjectAddedEvent mickey
@@ -415,6 +420,7 @@
>>> res = folder.manage_clone(folder.firefly, 'serenity')
ObjectCopiedEvent serenity
+ ObjectCopiedEvent mel
ObjectWillBeAddedEvent serenity
ObjectWillBeAddedEvent mel
ObjectAddedEvent serenity
More information about the Zope-Checkins
mailing list