From e1a8d51a0ab3f49249cbe5676ad9b2399e4f3ea5 Mon Sep 17 00:00:00 2001 From: Christos Stathis Date: Thu, 11 Aug 2011 16:48:32 +0300 Subject: [PATCH] Fixed removal of permissions --- .../grnet/pithos/web/client/FilePropertiesDialog.java | 16 +++++++++++----- .../pithos/web/client/FolderPropertiesDialog.java | 16 +++++++++++----- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/web_client/src/gr/grnet/pithos/web/client/FilePropertiesDialog.java b/web_client/src/gr/grnet/pithos/web/client/FilePropertiesDialog.java index b574bbc..75c63cd 100644 --- a/web_client/src/gr/grnet/pithos/web/client/FilePropertiesDialog.java +++ b/web_client/src/gr/grnet/pithos/web/client/FilePropertiesDialog.java @@ -459,8 +459,8 @@ public class FilePropertiesDialog extends AbstractPropertiesDialog { if (published != null) updateFile.setHeader("X-Object-Public", published.toString()); if (newPermissions != null) { - String readPermHeader = "read=" + owner + ","; - String writePermHeader = "write=" + owner + ","; + String readPermHeader = "read="; + String writePermHeader = "write="; for (String u : newPermissions.keySet()) { Boolean[] p = newPermissions.get(u); if (p[0] != null && p[0]) @@ -468,11 +468,17 @@ public class FilePropertiesDialog extends AbstractPropertiesDialog { if (p[1] != null && p[1]) writePermHeader += u + ","; } - if (readPermHeader.endsWith(",")) + if (readPermHeader.endsWith("=")) + readPermHeader = ""; + else if (readPermHeader.endsWith(",")) readPermHeader = readPermHeader.substring(0, readPermHeader.length() - 1); - if (writePermHeader.endsWith(",")) + if (writePermHeader.endsWith("=")) + writePermHeader = ""; + else if (writePermHeader.endsWith(",")) writePermHeader = writePermHeader.substring(0, writePermHeader.length() - 1); - String permHeader = readPermHeader + ";" + writePermHeader; + String permHeader = readPermHeader + ((readPermHeader.length() > 0 && writePermHeader.length() > 0) ? ";" : "") + writePermHeader; + if (permHeader.length() == 0) + permHeader="~"; updateFile.setHeader("X-Object-Sharing", permHeader); } Scheduler.get().scheduleDeferred(updateFile); diff --git a/web_client/src/gr/grnet/pithos/web/client/FolderPropertiesDialog.java b/web_client/src/gr/grnet/pithos/web/client/FolderPropertiesDialog.java index 5799892..1daf0ee 100644 --- a/web_client/src/gr/grnet/pithos/web/client/FolderPropertiesDialog.java +++ b/web_client/src/gr/grnet/pithos/web/client/FolderPropertiesDialog.java @@ -356,8 +356,8 @@ public class FolderPropertiesDialog extends DialogBox { }; updateFolder.setHeader("X-Auth-Token", app.getToken()); if (newPermissions != null) { - String readPermHeader = "read=" + folder.getOwner() + ","; - String writePermHeader = "write=" + folder.getOwner() + ","; + String readPermHeader = "read="; + String writePermHeader = "write="; for (String u : newPermissions.keySet()) { Boolean[] p = newPermissions.get(u); if (p[0] != null && p[0]) @@ -365,11 +365,17 @@ public class FolderPropertiesDialog extends DialogBox { if (p[1] != null && p[1]) writePermHeader += u + ","; } - if (readPermHeader.endsWith(",")) + if (readPermHeader.endsWith("=")) + readPermHeader = ""; + else if (readPermHeader.endsWith(",")) readPermHeader = readPermHeader.substring(0, readPermHeader.length() - 1); - if (writePermHeader.endsWith(",")) + if (writePermHeader.endsWith("=")) + writePermHeader = ""; + else if (writePermHeader.endsWith(",")) writePermHeader = writePermHeader.substring(0, writePermHeader.length() - 1); - String permHeader = readPermHeader + ";" + writePermHeader; + String permHeader = readPermHeader + ((readPermHeader.length() > 0 && writePermHeader.length() > 0) ? ";" : "") + writePermHeader; + if (permHeader.length() == 0) + permHeader="~"; updateFolder.setHeader("X-Object-Sharing", permHeader); } Scheduler.get().scheduleDeferred(updateFolder); -- 1.7.10.4