diff options
| author | P. Christeas <p_christ@hol.gr> | 2010-07-12 22:32:36 +0300 |
|---|---|---|
| committer | P. Christeas <p_christ@hol.gr> | 2010-07-12 22:32:36 +0300 |
| commit | 83ff0d67573a6f921cc9736c750cfb6f487b7a8a (patch) | |
| tree | 6ecebc606cc090abd3efe74322c196a3b9450046 /addons/document_webdav/webdav_server.py | |
| parent | 8dc0cc8a32f7ee38e21f8e65b38cf320190ed155 (diff) | |
Document webdav: fix mkcol, rename, get_data (temp)
Conflicts:
document_webdav/dav_fs.py
document_webdav/webdav_server.py
bzr revid: p_christ@hol.gr-20100712193236-8xde2tpmmxfp004n
Diffstat (limited to 'addons/document_webdav/webdav_server.py')
| -rw-r--r-- | addons/document_webdav/webdav_server.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/addons/document_webdav/webdav_server.py b/addons/document_webdav/webdav_server.py index b4cac5ffc70..9f9f2733a68 100644 --- a/addons/document_webdav/webdav_server.py +++ b/addons/document_webdav/webdav_server.py @@ -78,6 +78,18 @@ class DAVHandler(FixSendError,DAVRequestHandler): self.baseuri = "http://%s:%d/"% (self.server.server_name, self.server.server_port) self.IFACE_CLASS = openerp_dav_handler(self, self.verbose) + def copymove(self, CLASS): + """ Our uri scheme removes the /webdav/ component from there, so we + need to mangle the header, too. + """ + dest = self.headers['Destination'] + up = urlparse.urlparse(urllib.unquote(self.headers['Destination'])) + if up.path.startswith(self.davpath): + self.headers['Destination'] = up.path[len(self.davpath):] + else: + raise DAV_Forbidden("Not allowed to copy/move outside webdav path") + DAVRequestHandler.copymove(self, CLASS) + def get_davpath(self): return self.davpath |
