Fixed removal of permissions
authorChristos Stathis <chstath@ebs.gr>
Thu, 11 Aug 2011 13:48:32 +0000 (16:48 +0300)
committerChristos Stathis <chstath@ebs.gr>
Thu, 11 Aug 2011 13:48:32 +0000 (16:48 +0300)
web_client/src/gr/grnet/pithos/web/client/FilePropertiesDialog.java
web_client/src/gr/grnet/pithos/web/client/FolderPropertiesDialog.java

index b574bbc..75c63cd 100644 (file)
@@ -459,8 +459,8 @@ public class FilePropertiesDialog extends AbstractPropertiesDialog {
             if (published != null)\r
                 updateFile.setHeader("X-Object-Public", published.toString());\r
             if (newPermissions != null) {\r
-                String readPermHeader = "read=" + owner + ",";\r
-                String writePermHeader = "write=" + owner + ",";\r
+                String readPermHeader = "read=";\r
+                String writePermHeader = "write=";\r
                 for (String u : newPermissions.keySet()) {\r
                     Boolean[] p = newPermissions.get(u);\r
                     if (p[0] != null && p[0])\r
@@ -468,11 +468,17 @@ public class FilePropertiesDialog extends AbstractPropertiesDialog {
                     if (p[1] != null && p[1])\r
                         writePermHeader += u + ",";\r
                 }\r
-                if (readPermHeader.endsWith(","))\r
+                if (readPermHeader.endsWith("="))\r
+                    readPermHeader = "";\r
+                else if (readPermHeader.endsWith(","))\r
                     readPermHeader = readPermHeader.substring(0, readPermHeader.length() - 1);\r
-                if (writePermHeader.endsWith(","))\r
+                if (writePermHeader.endsWith("="))\r
+                    writePermHeader = "";\r
+                else if (writePermHeader.endsWith(","))\r
                     writePermHeader = writePermHeader.substring(0, writePermHeader.length() - 1);\r
-                String permHeader = readPermHeader +  ";" + writePermHeader;\r
+                String permHeader = readPermHeader +  ((readPermHeader.length()  > 0 && writePermHeader.length() > 0) ?  ";" : "") + writePermHeader;\r
+                if (permHeader.length() == 0)\r
+                    permHeader="~";\r
                 updateFile.setHeader("X-Object-Sharing", permHeader);\r
             }\r
             Scheduler.get().scheduleDeferred(updateFile);\r
index 5799892..1daf0ee 100644 (file)
@@ -356,8 +356,8 @@ public class FolderPropertiesDialog extends DialogBox {
             };\r
             updateFolder.setHeader("X-Auth-Token", app.getToken());\r
             if (newPermissions != null) {\r
-                String readPermHeader = "read=" + folder.getOwner() + ",";\r
-                String writePermHeader = "write=" + folder.getOwner() + ",";\r
+                String readPermHeader = "read=";\r
+                String writePermHeader = "write=";\r
                 for (String u : newPermissions.keySet()) {\r
                     Boolean[] p = newPermissions.get(u);\r
                     if (p[0] != null && p[0])\r
@@ -365,11 +365,17 @@ public class FolderPropertiesDialog extends DialogBox {
                     if (p[1] != null && p[1])\r
                         writePermHeader += u + ",";\r
                 }\r
-                if (readPermHeader.endsWith(","))\r
+                if (readPermHeader.endsWith("="))\r
+                    readPermHeader = "";\r
+                else if (readPermHeader.endsWith(","))\r
                     readPermHeader = readPermHeader.substring(0, readPermHeader.length() - 1);\r
-                if (writePermHeader.endsWith(","))\r
+                if (writePermHeader.endsWith("="))\r
+                    writePermHeader = "";\r
+                else if (writePermHeader.endsWith(","))\r
                     writePermHeader = writePermHeader.substring(0, writePermHeader.length() - 1);\r
-                String permHeader = readPermHeader +  ";" + writePermHeader;\r
+                String permHeader = readPermHeader +  ((readPermHeader.length()  > 0 && writePermHeader.length() > 0) ?  ";" : "") + writePermHeader;\r
+                if (permHeader.length() == 0)\r
+                    permHeader="~";\r
                 updateFolder.setHeader("X-Object-Sharing", permHeader);\r
             }\r
             Scheduler.get().scheduleDeferred(updateFolder);\r