Permissions are allowed to be set on objects that inherit permissions
authorChristos Stathis <chstath@ebs.gr>
Fri, 17 Feb 2012 16:11:48 +0000 (18:11 +0200)
committerChristos Stathis <chstath@ebs.gr>
Fri, 17 Feb 2012 16:11:48 +0000 (18:11 +0200)
src/gr/grnet/pithos/web/client/FilePermissionsDialog.java
src/gr/grnet/pithos/web/client/FolderPermissionsDialog.java
src/gr/grnet/pithos/web/client/PermissionsList.java
src/gr/grnet/pithos/web/client/foldertree/Folder.java

index 4ce8e1e..95dcd48 100644 (file)
@@ -143,39 +143,37 @@ public class FilePermissionsDialog extends AbstractPropertiesDialog {
     private VerticalPanel createSharingPanel() {\r
         VerticalPanel permPanel = new VerticalPanel();\r
 \r
-        permList = new PermissionsList(images, file.getPermissions(), file.getOwner(), file.getInheritedPermissionsFrom() != null);\r
+        permList = new PermissionsList(images, file.getPermissions(), file.getOwner(), false);\r
         permPanel.add(permList);\r
 \r
-        if (file.getInheritedPermissionsFrom() == null) {\r
-            HorizontalPanel permButtons = new HorizontalPanel();\r
-            Button add = new Button("Add Group", new ClickHandler() {\r
-                @Override\r
-                public void onClick(ClickEvent event) {\r
-                    PermissionsAddDialog dlg = new PermissionsAddDialog(app, app.getAccount().getGroups(), permList, false);\r
-                    dlg.center();\r
-                    permList.updatePermissionTable();\r
-                }\r
-            });\r
-            add.addStyleName("button");\r
-            permButtons.add(add);\r
-            permButtons.setCellHorizontalAlignment(add, HasHorizontalAlignment.ALIGN_CENTER);\r
+        HorizontalPanel permButtons = new HorizontalPanel();\r
+        Button add = new Button("Add Group", new ClickHandler() {\r
+            @Override\r
+            public void onClick(ClickEvent event) {\r
+                PermissionsAddDialog dlg = new PermissionsAddDialog(app, app.getAccount().getGroups(), permList, false);\r
+                dlg.center();\r
+                permList.updatePermissionTable();\r
+            }\r
+        });\r
+        add.addStyleName("button");\r
+        permButtons.add(add);\r
+        permButtons.setCellHorizontalAlignment(add, HasHorizontalAlignment.ALIGN_CENTER);\r
 \r
-            final Button addUser = new Button("Add User", new ClickHandler() {\r
-                @Override\r
-                public void onClick(ClickEvent event) {\r
-                    PermissionsAddDialog dlg = new PermissionsAddDialog(app, app.getAccount().getGroups(), permList, true);\r
-                    dlg.center();\r
-                    permList.updatePermissionTable();\r
-                }\r
-            });\r
-            addUser.addStyleName("button");\r
-            permButtons.add(addUser);\r
-            permButtons.setCellHorizontalAlignment(addUser, HasHorizontalAlignment.ALIGN_CENTER);\r
+        final Button addUser = new Button("Add User", new ClickHandler() {\r
+            @Override\r
+            public void onClick(ClickEvent event) {\r
+                PermissionsAddDialog dlg = new PermissionsAddDialog(app, app.getAccount().getGroups(), permList, true);\r
+                dlg.center();\r
+                permList.updatePermissionTable();\r
+            }\r
+        });\r
+        addUser.addStyleName("button");\r
+        permButtons.add(addUser);\r
+        permButtons.setCellHorizontalAlignment(addUser, HasHorizontalAlignment.ALIGN_CENTER);\r
 \r
-            permButtons.setSpacing(8);\r
-            permButtons.addStyleName("pithos-TabPanelBottom");\r
-            permPanel.add(permButtons);\r
-        }\r
+        permButtons.setSpacing(8);\r
+        permButtons.addStyleName("pithos-TabPanelBottom");\r
+        permPanel.add(permButtons);\r
 \r
         final Label readForAllNote = new Label("When this option is enabled, the file will be readable" +\r
                     " by everyone. By checking this option, you are certifying that you have the right to " +\r
index 4199959..007f865 100644 (file)
@@ -119,36 +119,33 @@ public class FolderPermissionsDialog extends DialogBox {
 \r
         VerticalPanel permPanel = new VerticalPanel();\r
         FilePermissionsDialog.Images images = GWT.create(FilePermissionsDialog.Images.class);\r
-        boolean permsReadonly = folder.getInheritedPermissionsFrom() != null || folder.existChildrenPermissions();\r
-        permList = new PermissionsList(images, folder.getPermissions(), folder.getOwner(), permsReadonly);\r
+        permList = new PermissionsList(images, folder.getPermissions(), folder.getOwner(), false);\r
         permPanel.add(permList);\r
 \r
-        if (!permsReadonly) {\r
-            HorizontalPanel permButtons = new HorizontalPanel();\r
-            Button add = new Button("Add Group", new ClickHandler() {\r
-                @Override\r
-                public void onClick(ClickEvent event) {\r
-                    PermissionsAddDialog dlg = new PermissionsAddDialog(app, app.getAccount().getGroups(), permList, false);\r
-                    dlg.center();\r
-                }\r
-            });\r
-            add.addStyleName("button");\r
-            permButtons.add(add);\r
-            permButtons.setCellHorizontalAlignment(add, HasHorizontalAlignment.ALIGN_CENTER);\r
-\r
-            Button addUser = new Button("Add User", new ClickHandler() {\r
-                @Override\r
-                public void onClick(ClickEvent event) {\r
-                    PermissionsAddDialog dlg = new PermissionsAddDialog(app, app.getAccount().getGroups(), permList, true);\r
-                    dlg.center();\r
-                }\r
-            });\r
-            addUser.addStyleName("button");\r
-            permButtons.add(addUser);\r
-            permButtons.setCellHorizontalAlignment(addUser, HasHorizontalAlignment.ALIGN_CENTER);\r
-            permButtons.setSpacing(8);\r
-            permPanel.add(permButtons);\r
-        }\r
+        HorizontalPanel permButtons = new HorizontalPanel();\r
+        Button add = new Button("Add Group", new ClickHandler() {\r
+            @Override\r
+            public void onClick(ClickEvent event) {\r
+                PermissionsAddDialog dlg = new PermissionsAddDialog(app, app.getAccount().getGroups(), permList, false);\r
+                dlg.center();\r
+            }\r
+        });\r
+        add.addStyleName("button");\r
+        permButtons.add(add);\r
+        permButtons.setCellHorizontalAlignment(add, HasHorizontalAlignment.ALIGN_CENTER);\r
+\r
+        Button addUser = new Button("Add User", new ClickHandler() {\r
+            @Override\r
+            public void onClick(ClickEvent event) {\r
+                PermissionsAddDialog dlg = new PermissionsAddDialog(app, app.getAccount().getGroups(), permList, true);\r
+                dlg.center();\r
+            }\r
+        });\r
+        addUser.addStyleName("button");\r
+        permButtons.add(addUser);\r
+        permButtons.setCellHorizontalAlignment(addUser, HasHorizontalAlignment.ALIGN_CENTER);\r
+        permButtons.setSpacing(8);\r
+        permPanel.add(permButtons);\r
 \r
         inner.add(permPanel);\r
 \r
index 728d0ca..2e9a27c 100644 (file)
@@ -72,7 +72,6 @@ public class PermissionsList extends Composite {
                images = theImages;
                owner = theOwner;
                permissions =  new HashMap<String, Boolean[]>(thePermissions);
-        readonly = inheritsPermissions;
                permTable.setText(0, 0, "Users/Groups");
                permTable.setText(0, 1, "Read");
                permTable.setText(0, 2, "Write");
index 267ec75..3c20908 100644 (file)
@@ -288,17 +288,6 @@ public class Folder extends Resource {
         return owner;
     }
 
-    public boolean existChildrenPermissions() {
-        for (File f : files)
-            if (!f.getPermissions().isEmpty() && f.getInheritedPermissionsFrom() == null)
-                return true;
-
-        for (Folder fo : subfolders)
-            if ((!fo.getPermissions().isEmpty() && fo.getInheritedPermissionsFrom() == null) || fo.existChildrenPermissions())
-                return true;
-        return false;
-    }
-
        public boolean isShared() {
                return !permissions.isEmpty();
        }