[Checkins]
SVN: zope.contentprovider/trunk/src/zope/contentprovider/
add request to beforeupdateevent
Bernd Dorn
bernd.dorn at lovelysystems.com
Sat May 5 05:27:46 EDT 2007
Log message for revision 75494:
add request to beforeupdateevent
Changed:
U zope.contentprovider/trunk/src/zope/contentprovider/README.txt
U zope.contentprovider/trunk/src/zope/contentprovider/interfaces.py
U zope.contentprovider/trunk/src/zope/contentprovider/tales.py
-=-
Modified: zope.contentprovider/trunk/src/zope/contentprovider/README.txt
===================================================================
--- zope.contentprovider/trunk/src/zope/contentprovider/README.txt 2007-05-05 08:53:36 UTC (rev 75493)
+++ zope.contentprovider/trunk/src/zope/contentprovider/README.txt 2007-05-05 09:27:45 UTC (rev 75494)
@@ -370,6 +370,13 @@
>>> events
[<zope.contentprovider.interfaces.BeforeUpdateEvent object at ...>]
+The event holds the provider and the request.
+
+ >>> events[0].request
+ <zope.publisher.browser.TestRequest instance URL=http://127.0.0.1>
+ >>> events[0].object
+ <MessageBox object at ...>
+
Failure to lookup a Content Provider
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Modified: zope.contentprovider/trunk/src/zope/contentprovider/interfaces.py
===================================================================
--- zope.contentprovider/trunk/src/zope/contentprovider/interfaces.py 2007-05-05 08:53:36 UTC (rev 75493)
+++ zope.contentprovider/trunk/src/zope/contentprovider/interfaces.py 2007-05-05 09:27:45 UTC (rev 75494)
@@ -39,13 +39,21 @@
class IBeforeUpdateEvent(IObjectEvent):
"""A Contentprovider will be updated"""
-
+
+ request = zope.interface.Attribute(
+ """The request in which the object is udpated, might also be
+ None""")
+
class BeforeUpdateEvent(ObjectEvent):
- """A Contentprovider willt be updated"""
+ """A Contentprovider will be updated"""
zope.interface.implements(IBeforeUpdateEvent)
+ def __init__(self, provider, request=None):
+ super(BeforeUpdateEvent, self).__init__(provider)
+ self.request = request
+
class IContentProvider(browser.IBrowserView):
"""A piece of content to be shown on a page.
Modified: zope.contentprovider/trunk/src/zope/contentprovider/tales.py
===================================================================
--- zope.contentprovider/trunk/src/zope/contentprovider/tales.py 2007-05-05 08:53:36 UTC (rev 75493)
+++ zope.contentprovider/trunk/src/zope/contentprovider/tales.py 2007-05-05 09:27:45 UTC (rev 75494)
@@ -73,7 +73,7 @@
addTALNamespaceData(provider, econtext)
# Stage 1: Do the state update.
- zope.event.notify(interfaces.BeforeUpdateEvent(provider))
+ zope.event.notify(interfaces.BeforeUpdateEvent(provider, request))
provider.update()
# Stage 2: Render the HTML content.
More information about the Checkins
mailing list