Commit 610b3a9f authored by Andreas Jung's avatar Andreas Jung

Collector #2482: A COPY operation through WebDAV on a locked

resource left the destination resource in a locked state
so any WebDAV client  was unable to unlock the destination
object. Locks are now cleared from the destination object.
parent e6c2ebde
......@@ -30,6 +30,10 @@ Zope Changes
- WebDAV Lockmanager was not working due to a Python 2.1
incompatibility.
- Collector #2482: A COPY operation through WebDAV on a locked
resource left the destination resource in a locked state
so any WebDAV client was unable to unlock the destination
object. Locks are now cleared from the destination object.
Zope 2.4 beta 2
......
......@@ -85,7 +85,7 @@
"""WebDAV support - resource objects."""
__version__='$Revision: 1.46 $'[11:-2]
__version__='$Revision: 1.47 $'[11:-2]
import sys, os, string, mimetypes, davcmds, ExtensionClass, Lockable
from common import absattr, aq_base, urlfix, rfc1123_date, tokenFinder, urlbase
......@@ -423,6 +423,10 @@ class Resource(ExtensionClass.Base, Lockable.LockableItem):
ob=self._getCopy(parent)
ob.manage_afterClone(ob)
# We remove any locks from the copied object because webdav clients
# don't track the lock status and the lock token for copied resources
ob.wl_clearLocks()
ob._setId(name)
if depth=='0' and hasattr(ob, '__dav_collection__'):
for id in ob.objectIds():
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment