diff --git a/core/js/files/client.js b/core/js/files/client.js index d8e615f6d6..176cabf04b 100644 --- a/core/js/files/client.js +++ b/core/js/files/client.js @@ -331,11 +331,10 @@ case 'C': case 'K': data.permissions |= OC.PERMISSION_CREATE; - if (!isFile) { - data.permissions |= OC.PERMISSION_UPDATE; - } break; case 'W': + case 'N': + case 'V': data.permissions |= OC.PERMISSION_UPDATE; break; case 'D': diff --git a/lib/private/Files/View.php b/lib/private/Files/View.php index c384d07c03..71b453d299 100644 --- a/lib/private/Files/View.php +++ b/lib/private/Files/View.php @@ -770,14 +770,18 @@ class View { $this->changeLock($path1, ILockingProvider::LOCK_EXCLUSIVE, true); $this->changeLock($path2, ILockingProvider::LOCK_EXCLUSIVE, true); - if ($internalPath1 === '' and $mount1 instanceof MoveableMount) { - if ($this->isTargetAllowed($absolutePath2)) { - /** - * @var \OC\Files\Mount\MountPoint | \OC\Files\Mount\MoveableMount $mount1 - */ - $sourceMountPoint = $mount1->getMountPoint(); - $result = $mount1->moveMount($absolutePath2); - $manager->moveMount($sourceMountPoint, $mount1->getMountPoint()); + if ($internalPath1 === '') { + if ($mount1 instanceof MoveableMount) { + if ($this->isTargetAllowed($absolutePath2)) { + /** + * @var \OC\Files\Mount\MountPoint | \OC\Files\Mount\MoveableMount $mount1 + */ + $sourceMountPoint = $mount1->getMountPoint(); + $result = $mount1->moveMount($absolutePath2); + $manager->moveMount($sourceMountPoint, $mount1->getMountPoint()); + } else { + $result = false; + } } else { $result = false; }