[Pkg-owncloud-commits] [owncloud-client] 82/94: Sharing: Use maximum allowed permissions for new share #6346

Sandro Knauß hefee at debian.org
Thu Mar 29 11:12:17 UTC 2018


This is an automated email from the git hooks/post-receive script.

hefee pushed a commit to branch upstream
in repository owncloud-client.

commit e7e6584cab4caa9fa4997c3d34d0402f7df43a67
Author: Christian Kamm <mail at ckamm.de>
Date:   Fri Feb 9 14:39:12 2018 +0100

    Sharing: Use maximum allowed permissions for new share #6346
    
    The client already computed the valid permissions, there was just a typo
    that meant we didn't end up using them.
---
 src/gui/sharemanager.cpp | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/gui/sharemanager.cpp b/src/gui/sharemanager.cpp
index 9901b47..898295f 100644
--- a/src/gui/sharemanager.cpp
+++ b/src/gui/sharemanager.cpp
@@ -289,7 +289,7 @@ void ShareManager::slotLinkShareCreated(const QJsonDocument &reply)
 void ShareManager::createShare(const QString &path,
     const Share::ShareType shareType,
     const QString shareWith,
-    const Share::Permissions permissions)
+    const Share::Permissions desiredPermissions)
 {
     auto job = new OcsShareJob(_account);
     connect(job, &OcsJob::ocsError, this, &ShareManager::slotOcsError);
@@ -305,17 +305,18 @@ void ShareManager::createShare(const QString &path,
 
             // Limit the permissions we request for a share to the ones the item
             // was shared with initially.
-            auto perm = permissions;
-            if (permissions == SharePermissionDefault) {
-                perm = existingPermissions;
-            } else if (existingPermissions != SharePermissionDefault) {
-                perm &= existingPermissions;
+            auto validPermissions = desiredPermissions;
+            if (validPermissions == SharePermissionDefault) {
+                validPermissions = existingPermissions;
+            }
+            if (existingPermissions != SharePermissionDefault) {
+                validPermissions &= existingPermissions;
             }
 
             OcsShareJob *job = new OcsShareJob(_account);
             connect(job, &OcsShareJob::shareJobFinished, this, &ShareManager::slotShareCreated);
             connect(job, &OcsJob::ocsError, this, &ShareManager::slotOcsError);
-            job->createShare(path, shareType, shareWith, permissions);
+            job->createShare(path, shareType, shareWith, validPermissions);
         });
     job->getSharedWithMe();
 }

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud-client.git



More information about the Pkg-owncloud-commits mailing list