diff --git a/.classpath b/.classpath index 5bf4492..e589261 100644 --- a/.classpath +++ b/.classpath @@ -1,6 +1,6 @@ - + @@ -25,5 +25,5 @@ - + diff --git a/.settings/com.google.gdt.eclipse.core.prefs b/.settings/com.google.gdt.eclipse.core.prefs index e622e7e..b0171bc 100644 --- a/.settings/com.google.gdt.eclipse.core.prefs +++ b/.settings/com.google.gdt.eclipse.core.prefs @@ -3,6 +3,6 @@ >>>>>>>=.r93212 eclipse.preferences.version=1 jarsExcludedFromWebInfLib= -lastWarOutDir=/home/francesco-mangiacrapa/wseclipse/workspace-TRUNK/target/workspace-6.6.5-SNAPSHOT +lastWarOutDir=/home/francesco-mangiacrapa/wseclipse/workspace-TRUNK/target/workspace-6.6.7-SNAPSHOT warSrcDir=src/main/webapp warSrcDirIsOutput=false diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index cd739a2..e7bf8c1 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -5,7 +5,10 @@ - + + uses + + uses diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/AppController.java b/src/main/java/org/gcube/portlets/user/workspace/client/AppController.java index 53eebe9..9d027be 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/AppController.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/AppController.java @@ -14,6 +14,8 @@ import org.gcube.portlets.user.workspace.client.event.AccountingReadersEvent; import org.gcube.portlets.user.workspace.client.event.AccountingReadersEventHandler; import org.gcube.portlets.user.workspace.client.event.ActiveGroupingView; import org.gcube.portlets.user.workspace.client.event.ActiveGroupingViewHandler; +import org.gcube.portlets.user.workspace.client.event.AddAdministratorEvent; +import org.gcube.portlets.user.workspace.client.event.AddAdministratorEventHandler; import org.gcube.portlets.user.workspace.client.event.AddFolderEvent; import org.gcube.portlets.user.workspace.client.event.AddFolderEventHandler; import org.gcube.portlets.user.workspace.client.event.AddSmartFolderEvent; @@ -184,6 +186,18 @@ public class AppController implements SubscriberInterface { } }); + eventBus.addHandler(AddAdministratorEvent.TYPE, new AddAdministratorEventHandler() { + + @Override + public void onAddAdministrator(AddAdministratorEvent addAdministratorEvent) { + FileModel parent = wsPortlet.getToolBarPath().getLastParent(); + + if(parent!=null) + AppControllerExplorer.getEventBus().fireEvent(new AddAdministratorEvent(parent)); + + } + }); + eventBus.addHandler(TrashEvent.TYPE, new TrashEventHandler() { @Override diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtBottomToolBarItem.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtBottomToolBarItem.java index 31ebcfa..127d104 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtBottomToolBarItem.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtBottomToolBarItem.java @@ -3,12 +3,14 @@ package org.gcube.portlets.user.workspace.client.view.toolbars; import org.gcube.portlets.user.workspace.client.AppController; import org.gcube.portlets.user.workspace.client.event.AccountingHistoryEvent; import org.gcube.portlets.user.workspace.client.event.AccountingReadersEvent; +import org.gcube.portlets.user.workspace.client.event.AddAdministratorEvent; import org.gcube.portlets.user.workspace.client.event.GetInfoEvent; import org.gcube.portlets.user.workspace.client.event.TrashEvent; import org.gcube.portlets.user.workspace.client.resources.Resources; import org.gcube.portlets.user.workspace.client.util.GetPermissionIconByACL; import org.gcube.portlets.user.workspace.shared.WorkspaceACL; import org.gcube.portlets.user.workspace.shared.WorkspaceTrashOperation; +import org.gcube.portlets.user.workspace.shared.WorkspaceACL.USER_TYPE; import com.extjs.gxt.ui.client.Style.HorizontalAlignment; import com.extjs.gxt.ui.client.event.BaseEvent; @@ -44,6 +46,8 @@ public class GxtBottomToolBarItem extends ToolBar{ * */ protected static final String HISTORY = "History"; + private static final String ADD_ADMINISTRATOR = "Add Admnistrator/s"; + private TextField txfName = new TextField(); private Text txtOwner = new Text("Empty"); private Text txtCreationTime = new Text("Empty"); @@ -56,6 +60,7 @@ public class GxtBottomToolBarItem extends ToolBar{ private ACLDivInfo aclDivInfo; private Label labelItemsNumber = new Label(); private HorizontalPanel hpItemsNumber; + private Button btnAddAdmin; public GxtBottomToolBarItem(){ super(); @@ -113,6 +118,20 @@ public class GxtBottomToolBarItem extends ToolBar{ } }); + + + btnAddAdmin = new Button(ADD_ADMINISTRATOR); + btnAddAdmin.setIcon(Resources.getIconAddAdministrator()); + btnAddAdmin.addSelectionListener(new SelectionListener() { + + @Override + public void componentSelected(ButtonEvent ce) { + + AppController.getEventBus().fireEvent(new AddAdministratorEvent(null)); + } + }); + + setVisibleAddAdministrators(false); aclDivInfo = new ACLDivInfo("", null); @@ -148,12 +167,17 @@ public class GxtBottomToolBarItem extends ToolBar{ FillToolItem filler = new FillToolItem(); filler.setId("filler-item"); add(filler); + add(btnAddAdmin); add(aclDivInfo); enableInfoHistoryButtons(false); } + private void setVisibleAddAdministrators(boolean bool){ + btnAddAdmin.setVisible(bool); + } + public void resetDetails(){ @@ -194,12 +218,18 @@ public class GxtBottomToolBarItem extends ToolBar{ public void updateACLInfo(WorkspaceACL acl){ + setVisibleAddAdministrators(false); if(acl==null){ aclDivInfo.updateInfo(null, null); return; } AbstractImagePrototype img = GetPermissionIconByACL.getImage(acl); + + if(acl.getUserType().equals(USER_TYPE.ADMINISTRATOR)){ + setVisibleAddAdministrators(true); + } + aclDivInfo.updateInfo(acl.getLabel(), img); this.layout(); } diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index 912dccc..29095ec 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -17,25 +17,30 @@ uploadprogress org.gcube.portlets.widgets.fileupload.server.UploadProgressServlet - + uploadprogress /workspace/uploadprogress - + upload org.gcube.portlets.widgets.fileupload.server.UploadServlet - + upload /FileUpload/upload - + + + workspacesharing + org.gcube.portlets.widgets.workspacesharingwidget.server.WorkspaceSharingServiceImpl + + - + UploadService org.gcube.portlets.user.workspace.server.UploadServlet @@ -45,22 +50,21 @@ UploadService /workspace/UploadService - - - - - LocalUploadService - org.gcube.portlets.user.workspace.server.LocalUploadServlet - + + workspacesharing + /workspace/workspacesharing + LocalUploadService /workspace/LocalUploadService - - - + + + LocalUploadService + org.gcube.portlets.user.workspace.server.LocalUploadServlet + DownloadService @@ -153,7 +157,7 @@ quicktourServlet org.gcube.portlets.widgets.guidedtour.server.TourServiceImpl - + quicktourServlet /workspace/quicktourServlet