Fix share permission values
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Thu, 10 Aug 2023 06:58:05 +0000 (14:58 +0800)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Fri, 11 Aug 2023 14:59:59 +0000 (22:59 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
src/gui/sharemanager.cpp
src/gui/sharemanager.h
src/gui/sharepermissions.h

index 00f812c31e0aa7f5f23182f2affc53246a78ae39..892454305ce1d77df80e44ef277687c6b0338a2d 100644 (file)
@@ -461,7 +461,7 @@ void ShareManager::createShare(const QString &path,
     connect(job, &OcsShareJob::shareJobFinished, this,
         [=](const QJsonDocument &reply) {
             // Find existing share permissions (if this was shared with us)
-            Share::Permissions existingPermissions = SharePermissionDefault;
+            Share::Permissions existingPermissions = SharePermissionAll;
             foreach (const QJsonValue &element, reply.object()["ocs"].toObject()["data"].toArray()) {
                 auto map = element.toObject();
                 if (map["file_target"] == path)
@@ -471,10 +471,10 @@ void ShareManager::createShare(const QString &path,
             // Limit the permissions we request for a share to the ones the item
             // was shared with initially.
             auto validPermissions = desiredPermissions;
-            if (validPermissions == SharePermissionDefault) {
+            if (validPermissions == SharePermissionAll) {
                 validPermissions = existingPermissions;
             }
-            if (existingPermissions != SharePermissionDefault) {
+            if (existingPermissions != SharePermissionAll) {
                 validPermissions &= existingPermissions;
             }
 
index 6e858e2df4279b61d5ff2ed46311f0394eed28fc..0ba738ded6a5d9006b58aef3f6beac4fd2b05445 100644 (file)
@@ -71,14 +71,14 @@ public:
      * Constructor for shares
      */
     explicit Share(AccountPtr account,
-        const QString &id,
-        const QString &owner,
-        const QString &ownerDisplayName,
-        const QString &path,
-        const ShareType shareType,
-        bool isPasswordSet = false,
-        const Permissions permissions = SharePermissionDefault,
-        const ShareePtr shareWith = ShareePtr(nullptr));
+                   const QString &id,
+                   const QString &owner,
+                   const QString &ownerDisplayName,
+                   const QString &path,
+                   const ShareType shareType,
+                   bool isPasswordSet = false,
+                   const Permissions permissions = SharePermissionAll,
+                   const ShareePtr shareWith = ShareePtr(nullptr));
 
     /**
      * The account the share is defined on.
index 28028e9dd4b8d09d891f60713fc2dff040ea3bb9..5a9763f0dead2d45229643d1bc602f2cc745dbf2 100644 (file)
@@ -23,12 +23,12 @@ namespace OCC {
  * Possible permissions, must match the server permission constants
  */
 enum SharePermission {
-    SharePermissionRead     = 1 << 0,
-    SharePermissionUpdate   = 1 << 1,
-    SharePermissionCreate   = 1 << 2,
-    SharePermissionDelete   = 1 << 3,
-    SharePermissionShare    = 1 << 4,
-    SharePermissionDefault  = 1 << 30
+    SharePermissionRead = 1,
+    SharePermissionUpdate = 1 << 1,
+    SharePermissionCreate = 1 << 2,
+    SharePermissionDelete = 1 << 3,
+    SharePermissionShare = 1 << 4,
+    SharePermissionAll = 31,
 };
 Q_DECLARE_FLAGS(SharePermissions, SharePermission)
 Q_DECLARE_OPERATORS_FOR_FLAGS(SharePermissions)