X-Git-Url: https://code.grnet.gr/git/pithos/blobdiff_plain/4315bcc53e1481a7bd5a13140ebab1e3895c6fa4..c3cf7286a71489b56e28c33cd446ef1f1c80e271:/src/gr/ebs/gss/client/FolderPropertiesDialog.java?ds=inline diff --git a/src/gr/ebs/gss/client/FolderPropertiesDialog.java b/src/gr/ebs/gss/client/FolderPropertiesDialog.java index 29c6fda..93c349a 100644 --- a/src/gr/ebs/gss/client/FolderPropertiesDialog.java +++ b/src/gr/ebs/gss/client/FolderPropertiesDialog.java @@ -1,5 +1,5 @@ /* - * Copyright 2007, 2008, 2009 Electronic Business Systems Ltd. + * Copyright 2007, 2008, 2009, 2010 Electronic Business Systems Ltd. * * This file is part of GSS. * @@ -19,18 +19,21 @@ package gr.ebs.gss.client; import gr.ebs.gss.client.FilePropertiesDialog.Images; -import gr.ebs.gss.client.dnd.DnDTreeItem; import gr.ebs.gss.client.rest.PostCommand; import gr.ebs.gss.client.rest.RestException; import gr.ebs.gss.client.rest.resource.FolderResource; import gr.ebs.gss.client.rest.resource.GroupResource; import gr.ebs.gss.client.rest.resource.PermissionHolder; +import gr.ebs.gss.client.rest.resource.RestResource; +import gr.ebs.gss.client.rest.resource.RestResourceWrapper; import java.util.List; import java.util.Set; import com.google.gwt.core.client.GWT; import com.google.gwt.dom.client.NativeEvent; +import com.google.gwt.event.dom.client.ChangeEvent; +import com.google.gwt.event.dom.client.ChangeHandler; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.dom.client.KeyCodes; @@ -95,8 +98,8 @@ public class FolderPropertiesDialog extends DialogBox { GSS.enableIESelection(); create = _create; - DnDTreeItem folderItem = (DnDTreeItem)GSS.get().getFolders().getCurrent(); - folder = folderItem.getFolderResource(); + + folder = ((RestResourceWrapper) GSS.get().getTreeView().getSelection()).getResource(); permList = new PermissionsList(images, folder.getPermissions(), folder.getOwner()); groups = _groups; @@ -123,19 +126,38 @@ public class FolderPropertiesDialog extends DialogBox { inner.add(permPanel, "Sharing"); inner.selectTab(0); + final Label folderNameNote = new Label("Please note that slashes ('/') are not allowed in folder names.", true); + folderNameNote.setVisible(false); + folderNameNote.setStylePrimaryName("gss-readForAllNote"); + FlexTable generalTable = new FlexTable(); generalTable.setText(0, 0, "Name"); generalTable.setText(1, 0, "Parent"); generalTable.setText(2, 0, "Creator"); generalTable.setText(3, 0, "Last modified"); folderName.setText(create ? "" : folder.getName()); + folderName.getElement().setId("folderPropertiesDialog.textBox.name"); generalTable.setWidget(0, 1, folderName); + folderName.addChangeHandler(new ChangeHandler() { + + @Override + public void onChange(ChangeEvent event) { + if(folderName.getText().contains("/")) + folderNameNote.setVisible(true); + else + folderNameNote.setVisible(false); + + } + }); + + if (create) generalTable.setText(1, 1, folder.getName()); else if(folder.getParentName() == null) generalTable.setText(1, 1, "-"); else generalTable.setText(1, 1, folder.getParentName()); + generalTable.setWidget(0, 2, folderNameNote); generalTable.setText(2, 1, folder.getOwner()); DateTimeFormat formatter = DateTimeFormat.getFormat("d/M/yyyy h:mm a"); if(folder.getModificationDate() != null) @@ -159,13 +181,18 @@ public class FolderPropertiesDialog extends DialogBox { okLabel = "Update"; Button ok = new Button(okLabel, new ClickHandler() { @Override - public void onClick(ClickEvent event) { - - createOrUpdateFolder(); + public void onClick(ClickEvent event) { + if(folderName.getText().contains("/")) + folderNameNote.setVisible(true); + else { + folderNameNote.setVisible(false); + createOrUpdateFolder(); + closeDialog(); + } - closeDialog(); } }); + ok.getElement().setId("folderPropertiesDialog.button.ok"); buttons.add(ok); buttons.setCellHorizontalAlignment(ok, HasHorizontalAlignment.ALIGN_CENTER); // Create the 'Cancel' button, along with a listener that hides the @@ -177,6 +204,7 @@ public class FolderPropertiesDialog extends DialogBox { closeDialog(); } }); + cancel.getElement().setId("folderPropertiesDialog.button.cancel"); buttons.add(cancel); buttons.setCellHorizontalAlignment(cancel, HasHorizontalAlignment.ALIGN_CENTER); buttons.setSpacing(8); @@ -189,6 +217,7 @@ public class FolderPropertiesDialog extends DialogBox { dlg.center(); } }); + add.getElement().setId("folderPropertiesDialog.button.addGroup"); permButtons.add(add); permButtons.setCellHorizontalAlignment(add, HasHorizontalAlignment.ALIGN_CENTER); @@ -199,6 +228,7 @@ public class FolderPropertiesDialog extends DialogBox { dlg.center(); } }); + addUser.getElement().setId("folderPropertiesDialog.button.addUser"); permButtons.add(addUser); permButtons.setCellHorizontalAlignment(addUser, HasHorizontalAlignment.ALIGN_CENTER); @@ -213,6 +243,7 @@ public class FolderPropertiesDialog extends DialogBox { readForAllNote.setStylePrimaryName("gss-readForAllNote"); readForAll = new CheckBox(); + readForAll.getElement().setId("folderPropertiesDialog.checkBox.public"); readForAll.setValue(folder.isReadForAll()); readForAll.addClickHandler(new ClickHandler() { @Override @@ -236,6 +267,7 @@ public class FolderPropertiesDialog extends DialogBox { permPanel.add(permForAll); } TextBox path = new TextBox(); + path.getElement().setId("folderPropertiesDialog.textBox.link"); path.setWidth("100%"); path.addClickHandler(new ClickHandler() { @Override @@ -324,7 +356,9 @@ public class FolderPropertiesDialog extends DialogBox { @Override public void onComplete() { - GSS.get().getFolders().updateFolder((DnDTreeItem) GSS.get().getFolders().getCurrent()); + //TODO:CELLTREE + GSS.get().getTreeView().updateNodeChildren((RestResourceWrapper) GSS.get().getTreeView().getSelection()); + //GSS.get().getFolders().updateFolder((DnDTreeItem) GSS.get().getFolders().getCurrent()); } @Override @@ -398,19 +432,29 @@ public class FolderPropertiesDialog extends DialogBox { @Override public void onComplete() { + //TODO:CELLTREE + if(getPostBody() != null && !"".equals(getPostBody().trim())){ - DnDTreeItem folderItem = (DnDTreeItem) GSS.get().getFolders().getCurrent(); - FolderResource fres = folderItem.getFolderResource(); + + + FolderResource fres = ((RestResourceWrapper) GSS.get().getTreeView().getSelection()).getResource(); String initialPath = fres.getUri(); String newPath = getPostBody().trim(); fres.setUri(newPath); - + ((RestResourceWrapper) GSS.get().getTreeView().getSelection()).getResource().setUri(newPath); + ((RestResourceWrapper) GSS.get().getTreeView().getSelection()).setUri(newPath); + GSS.get().getTreeView().updateNodeChildren(fres.getParentURI()); + if (permList.hasChanges()) { + GSS.get().getTreeView().updateMySharedNode(); + } + /* if(folderItem.getParentItem() != null && ((DnDTreeItem)folderItem.getParentItem()).getFolderResource() != null){ ((DnDTreeItem)folderItem.getParentItem()).getFolderResource().removeSubfolderPath(initialPath); ((DnDTreeItem)folderItem.getParentItem()).getFolderResource().getSubfolderPaths().add(newPath); - } + }*/ } - GSS.get().getFolders().updateFolder( (DnDTreeItem) GSS.get().getFolders().getCurrent()); + //GSS.get().getFolders().updateFolder( (DnDTreeItem) GSS.get().getFolders().getCurrent()); + GSS.get().showFileList(true); } @@ -429,7 +473,8 @@ public class FolderPropertiesDialog extends DialogBox { } else GSS.get().displayError("System error moifying file: "+t.getMessage()); - GSS.get().getFolders().updateFolder( (DnDTreeItem) GSS.get().getFolders().getCurrent()); + //TODO:CELLTREE + //GSS.get().getFolders().updateFolder( (DnDTreeItem) GSS.get().getFolders().getCurrent()); } }; DeferredCommand.addCommand(ep);