Fixed removal of permissions
[pithos] / web_client / src / gr / grnet / pithos / web / client / FilePropertiesDialog.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