diff --git a/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/ConstantsSharing.java b/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/ConstantsSharing.java index f12b6eb..da707f9 100644 --- a/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/ConstantsSharing.java +++ b/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/ConstantsSharing.java @@ -16,5 +16,5 @@ public interface ConstantsSharing { public static int WIDTH_DIALOG = 530; - public static int HEIGHT_DIALOG = 530; + public static int HEIGHT_DIALOG = 430; } diff --git a/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/WorkspaceSharingController.java b/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/WorkspaceSharingController.java index 75b82b1..d06c039 100644 --- a/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/WorkspaceSharingController.java +++ b/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/WorkspaceSharingController.java @@ -31,7 +31,7 @@ public class WorkspaceSharingController { private ACL_TYPE defaultPermission; - private Window win = null; + private DialogShareWItem sharingDialog = null; // /** @@ -71,9 +71,9 @@ public class WorkspaceSharingController { private void initWindow(){ - win = new Window(); - win.setSize(ConstantsSharing.WIDTH_DIALOG+20, ConstantsSharing.HEIGHT_DIALOG+20); - win.mask("Loading File from Workspace", ConstantsSharing.LOADINGSTYLE); + sharingDialog = new DialogShareWItem(); + sharingDialog.setSize(ConstantsSharing.WIDTH_DIALOG+20, ConstantsSharing.HEIGHT_DIALOG+20); + sharingDialog.mask("Loading File from Workspace", ConstantsSharing.LOADINGSTYLE); } @@ -83,16 +83,17 @@ public class WorkspaceSharingController { @Override public void onFailure(Throwable caught) { - win.unmask(); + sharingDialog.unmask(); MessageBox.alert("Error", caught.getMessage(), null); } @Override public void onSuccess(FileModel result) { - win.mask("File loaded", ConstantsSharing.LOADINGSTYLE); + sharingDialog.unmask(); + sharingDialog.mask("File loaded", ConstantsSharing.LOADINGSTYLE); if(showSharingDialog) - createDialog(result); + updateSharingDialog(result); } }); } @@ -101,13 +102,12 @@ public class WorkspaceSharingController { * * @param fileModel */ - private void createDialog(FileModel fileModel){ - win.unmask(); - DialogShareWItem dialogShareItem = new DialogShareWItem(fileModel, shareOnlyOwner, defaultPermission); - win.add(dialogShareItem); - dialogShareItem.show(); + private void updateSharingDialog(FileModel fileModel){ + sharingDialog.unmask(); + sharingDialog.updateSharingDialog(fileModel, shareOnlyOwner, defaultPermission); +// dialogShareItem.show(); - win.layout(); + sharingDialog.layout(); } /** @@ -160,8 +160,8 @@ public class WorkspaceSharingController { * * @return */ - public Window getSharingWindow() { - return win; + public Window getSharingDialog() { + return sharingDialog; } } diff --git a/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/view/sharing/DialogShareWItem.java b/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/view/sharing/DialogShareWItem.java index 72f1637..e2cc444 100644 --- a/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/view/sharing/DialogShareWItem.java +++ b/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/view/sharing/DialogShareWItem.java @@ -16,6 +16,9 @@ import com.extjs.gxt.ui.client.Style.HorizontalAlignment; import com.extjs.gxt.ui.client.Style.Scroll; import com.extjs.gxt.ui.client.Style.VerticalAlignment; import com.extjs.gxt.ui.client.event.ButtonEvent; +import com.extjs.gxt.ui.client.event.EventType; +import com.extjs.gxt.ui.client.event.Events; +import com.extjs.gxt.ui.client.event.Listener; import com.extjs.gxt.ui.client.event.SelectionListener; import com.extjs.gxt.ui.client.widget.Dialog; import com.extjs.gxt.ui.client.widget.HorizontalPanel; @@ -51,7 +54,16 @@ public class DialogShareWItem extends Dialog { private TextField txtOwner; private PanelTogglePermission permission; private HorizontalPanel hpPermission = null; + private boolean showError = false; + /** + * + */ + public DialogShareWItem() { + initLayout(); + } + + private List listAlreadyShared = new ArrayList(){ /** @@ -81,16 +93,18 @@ public class DialogShareWItem extends Dialog { }; + + /** * Use to modify a shared folder or share an existing folder * @param fileModel * @param type */ - public DialogShareWItem(FileModel fileModel, final boolean shareOnlyOwner, final ACL_TYPE defaultACL) { - initLayout(); - this.fileToShare = fileModel; - + + public void updateSharingDialog(FileModel fileModel, final boolean shareOnlyOwner, final ACL_TYPE defaultACL){ + this.fileToShare = fileModel; + setButtons(Dialog.OKCANCEL); String heading = "Share workspace"; @@ -220,19 +234,32 @@ public class DialogShareWItem extends Dialog { if(shareOnlyOwner) enableFormDialog(false); //FORM IS DISABLED BY DEFAULT } - + private void permissionControl(String owner, boolean showAlert){ GWT.log("Permission control compare between owner: "+owner +" and my login: "+WorkspaceSharingController.getMyLogin()); if(WorkspaceSharingController.getMyLogin().compareToIgnoreCase(owner)!=0){ enableFormDialog(false); - if(showAlert) - MessageBox.alert("Permission denied", "You have no permissions to change sharing. You are not owner of \""+txtName.getValue()+"\"", null); + if(showAlert){ + showError = true; + } }else{ enableFormDialog(true); } } + /* (non-Javadoc) + * @see com.extjs.gxt.ui.client.widget.Window#afterShow() + */ + @Override + protected void afterShow() { + super.afterShow(); + + if(showError){ + MessageBox.alert("Permission denied", "You have no permissions to change sharing. You are not owner of \""+txtName.getValue()+"\"", null); + } + } + private void enableFormDialog(boolean bool){ getButtonById(Dialog.OK).setEnabled(bool); buttonMultiDrag.setEnabled(bool); diff --git a/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/view/sharing/DialogShareWItemNoACL.java b/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/view/sharing/DialogShareWItemNoACL.java index 83b97e2..81b0c17 100644 --- a/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/view/sharing/DialogShareWItemNoACL.java +++ b/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/view/sharing/DialogShareWItemNoACL.java @@ -224,7 +224,7 @@ public class DialogShareWItemNoACL extends Dialog { if(shareOnlyOwner) enableFormDialog(false); //FORM IS DISABLED BY DEFAULT - this.show(); +// this.show(); } private void permissionControl(String owner, boolean showAlert){ diff --git a/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/view/sharing/PanelTogglePermission.java b/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/view/sharing/PanelTogglePermission.java index 40bda6e..b779b7a 100644 --- a/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/view/sharing/PanelTogglePermission.java +++ b/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/view/sharing/PanelTogglePermission.java @@ -62,8 +62,10 @@ public class PanelTogglePermission extends LayoutContainer { bToggle.setAllowDepress(false); if(defaultACLType!=null){ - defaultACLType.equals(acl.getAclType()); - bToggle.toggle(true); + GWT.log("comparing.. "+defaultACLType + " and "+acl.getAclType()); + GWT.log(defaultACLType.equals(acl.getAclType())+""); +// defaultACLType.equals(acl.getAclType()); + bToggle.toggle(defaultACLType.equals(acl.getAclType())); }else{ bToggle.toggle(acl.getDefaultValue()); } diff --git a/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/view/sharing/UserStore.java b/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/view/sharing/UserStore.java index 0832f40..4ddad45 100644 --- a/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/view/sharing/UserStore.java +++ b/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/view/sharing/UserStore.java @@ -46,7 +46,7 @@ public class UserStore implements ContactFetcher{ @Override public void onSuccess(List result) { - GWT.log("loaded "+result.size() + " contacts from server"); + GWT.log("Get all contacts loaded "+result.size() + " contacts from server"); listAllContact = result; callback.onSuccess(listAllContact); } @@ -73,7 +73,7 @@ public class UserStore implements ContactFetcher{ @Override public void onSuccess(List result) { - GWT.log("loaded "+result.size() + " contacts from server for "+sharedFolderId); + GWT.log("Get List user shared loaded "+result.size() + " contacts from server for "+sharedFolderId); callback.onSuccess(result); } }); diff --git a/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/shared/InfoContactModel.java b/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/shared/InfoContactModel.java index 10ef530..f15d18a 100644 --- a/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/shared/InfoContactModel.java +++ b/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/shared/InfoContactModel.java @@ -64,6 +64,7 @@ public class InfoContactModel extends BaseModelData implements Serializable { } }; + @Override public String toString() { StringBuilder builder = new StringBuilder(); @@ -77,5 +78,4 @@ public class InfoContactModel extends BaseModelData implements Serializable { return builder.toString(); } - } \ No newline at end of file