from OFS import Moniker
from ZODB.POSException import ConflictError
import OFS.subscribers
+from webdav.NullResource import NullResource
from zope.event import notify
from zope.lifecycleevent import ObjectCopiedEvent
-# from zope.app.container.contained import ObjectMovedEvent
-# from zope.app.container.contained import notifyContainerModified
+try :
+ from zope.app.container.contained import notifyContainerModified
+ from zope.app.container.contained import ObjectMovedEvent
+except ImportError :
+ ## Zope-2.13 compat
+ from zope.container.contained import notifyContainerModified
+ from zope.container.contained import ObjectMovedEvent
from OFS.event import ObjectClonedEvent
from OFS.event import ObjectWillBeMovedEvent
from zope.component.factory import Factory
def __init__( self, id, title='' ) :
PortalFolder.__init__(self, id)
DefaultDublinCoreImpl.__init__(self, title = title)
+
+ def __getitem__(self, key):
+ if key in self:
+ return self._getOb(key, None)
+ request = getattr(self, 'REQUEST', None)
+ if not isinstance(request, (str, NoneType)):
+ method=request.get('REQUEST_METHOD', 'GET')
+ if (request.maybe_webdav_client and
+ method not in ('GET', 'POST')):
+ return NullResource(self, key, request).__of__(self)
+ raise KeyError, key
+
security.declarePublic('allowedContentTypes')
def allowedContentTypes(self):