diff options
Diffstat (limited to 'lib/private/Files/View.php')
-rw-r--r-- | lib/private/Files/View.php | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/private/Files/View.php b/lib/private/Files/View.php index 5e581feba6e..c10b5b693b7 100644 --- a/lib/private/Files/View.php +++ b/lib/private/Files/View.php @@ -1351,8 +1351,12 @@ class View { return false; } - if ($mount instanceof MoveableMount && $internalPath === '') { - $data['permissions'] |= \OCP\Constants::PERMISSION_DELETE; + if ($internalPath === '') { + if ($mount instanceof MoveableMount) { + $data['permissions'] = $data['permissions'] | \OCP\Constants::PERMISSION_UPDATE | \OCP\Constants::PERMISSION_DELETE; + } else { + $data['permissions'] = $data['permissions'] & (\OCP\Constants::PERMISSION_ALL - (\OCP\Constants::PERMISSION_UPDATE | \OCP\Constants::PERMISSION_DELETE)); + } } $owner = $this->getUserObjectForOwner($storage->getOwner($internalPath)); |