summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorBjoern Schiessle <bjoern@schiessle.org>2016-10-05 17:51:43 +0200
committerBjoern Schiessle <bjoern@schiessle.org>2016-11-01 19:51:11 +0100
commit96c40d14a1a253974db8cb2a51f227afe5dff7bf (patch)
tree9126eb6529b28a172bf30a57a388d3cc9be88130 /apps
parenta17c6a485d91bdc1c322a454c66d9d017a5f8ca5 (diff)
downloadnextcloud-server-96c40d14a1a253974db8cb2a51f227afe5dff7bf.tar.gz
nextcloud-server-96c40d14a1a253974db8cb2a51f227afe5dff7bf.zip
update permissions
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
Diffstat (limited to 'apps')
-rw-r--r--apps/files/lib/Controller/ApiController.php3
-rw-r--r--apps/files_sharing/lib/Controller/ShareAPIController.php9
2 files changed, 10 insertions, 2 deletions
diff --git a/apps/files/lib/Controller/ApiController.php b/apps/files/lib/Controller/ApiController.php
index d6f88581b96..138b68601cb 100644
--- a/apps/files/lib/Controller/ApiController.php
+++ b/apps/files/lib/Controller/ApiController.php
@@ -200,7 +200,8 @@ class ApiController extends Controller {
\OCP\Share::SHARE_TYPE_USER,
\OCP\Share::SHARE_TYPE_GROUP,
\OCP\Share::SHARE_TYPE_LINK,
- \OCP\Share::SHARE_TYPE_REMOTE
+ \OCP\Share::SHARE_TYPE_REMOTE,
+ \OCP\Share::SHARE_TYPE_EMAIL
];
foreach ($requestedShareTypes as $requestedShareType) {
// one of each type is enough to find out about the types
diff --git a/apps/files_sharing/lib/Controller/ShareAPIController.php b/apps/files_sharing/lib/Controller/ShareAPIController.php
index ef22b473189..f9c7d69cf5f 100644
--- a/apps/files_sharing/lib/Controller/ShareAPIController.php
+++ b/apps/files_sharing/lib/Controller/ShareAPIController.php
@@ -405,7 +405,14 @@ class ShareAPIController extends OCSController {
$share->setSharedWith($shareWith);
$share->setPermissions($permissions);
} else if ($shareType === \OCP\Share::SHARE_TYPE_EMAIL) {
- $share->setPermissions(\OCP\Constants::PERMISSION_READ);
+ if ($share->getNodeType() === 'file') {
+ $share->setPermissions(\OCP\Constants::PERMISSION_READ);
+ } else {
+ $share->setPermissions(
+ \OCP\Constants::PERMISSION_READ |
+ \OCP\Constants::PERMISSION_CREATE |
+ \OCP\Constants::PERMISSION_UPDATE);
+ }
$share->setSharedWith($shareWith);
} else {
throw new OCSBadRequestException($this->l->t('Unknown share type'));