diff --git a/.classpath b/.classpath
index a4e40f5..a28d840 100644
--- a/.classpath
+++ b/.classpath
@@ -1,6 +1,6 @@
-
+
@@ -31,5 +31,5 @@
-
+
diff --git a/.settings/org.eclipse.jst.jsp.core.prefs b/.settings/org.eclipse.jst.jsp.core.prefs
new file mode 100644
index 0000000..3a5c98d
--- /dev/null
+++ b/.settings/org.eclipse.jst.jsp.core.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+validateFragments=false
+validation.use-project-settings=true
diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component
index 13474fa..7aaf430 100644
--- a/.settings/org.eclipse.wst.common.component
+++ b/.settings/org.eclipse.wst.common.component
@@ -1,5 +1,5 @@
-
+
diff --git a/.settings/org.eclipse.wst.common.project.facet.core.xml b/.settings/org.eclipse.wst.common.project.facet.core.xml
index 4045d87..b3a52d7 100644
--- a/.settings/org.eclipse.wst.common.project.facet.core.xml
+++ b/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -4,4 +4,5 @@
+
diff --git a/distro/changelog.xml b/distro/changelog.xml
index 990d368..1ba472a 100644
--- a/distro/changelog.xml
+++ b/distro/changelog.xml
@@ -1,9 +1,14 @@
-
- Adapted to the new maven protal bom
+
+ Added invite user functionality
+ Ported to GWT 2.7.0
-
+ Adapted to the new maven portal bom
+
+
First Release
diff --git a/pom.xml b/pom.xml
index c5877a4..304fc70 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,8 +12,8 @@
org.gcube.portlets.admin
register-vre-users
war
- 1.1.0-SNAPSHOT
- Register VRE Users Portlet
+ 1.2.0-SNAPSHOT
+ Register VRE Users
Rigister VRE Users Portlet allow to select a user from the portal and add her to the VRE.
@@ -24,9 +24,8 @@
- 2.5.1
+ 2.7.0
distro
-
1.7
1.7
${project.build.directory}/${project.build.finalName}
@@ -46,18 +45,17 @@
-
-
- xerces
- xercesImpl
- 2.9.1
- provided
-
com.google.gwt
gwt-user
provided
+ ${gwtVersion}
+
+
+ com.google.gwt
+ gwt-servlet
+ ${gwtVersion}
+ provided
org.gcube.applicationsupportlayer
@@ -88,6 +86,31 @@
org.gcube.common
home-library
provided
+
+
+ asm-all
+ asm
+
+
+
+
+ org.gcube.portlets.widgets
+ invite-friends-widget
+ [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)
+
+
+ org.gcube.portal
+ invites-common-library
+ [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)
+
+
+ org.gcube.portal
+ social-networking-library
+ provided
+
+
+ com.google
+ gwt-jsonmaker
org.gcube.core
@@ -96,8 +119,9 @@
com.sencha.gxt
- gxt
- 2.2.5
+ gxt2.2.5-gwt2.X
+ 2.7.0
+ compile
org.gcube.dvos
diff --git a/src/main/java/org/gcube/portlets/admin/manageusers/client/presenter/VREDeploymentPresenter.java b/src/main/java/org/gcube/portlets/admin/manageusers/client/presenter/VREDeploymentPresenter.java
index 3be99b0..7381f2f 100644
--- a/src/main/java/org/gcube/portlets/admin/manageusers/client/presenter/VREDeploymentPresenter.java
+++ b/src/main/java/org/gcube/portlets/admin/manageusers/client/presenter/VREDeploymentPresenter.java
@@ -6,6 +6,7 @@ import java.util.List;
import org.gcube.portlets.admin.manageusers.client.ManageUsersServiceAsync;
import org.gcube.portlets.admin.manageusers.client.view.Display;
import org.gcube.portlets.admin.manageusers.shared.PortalUserDTO;
+import org.gcube.portlets.widgets.inviteswidget.client.ui.InviteWidget;
import com.extjs.gxt.ui.client.event.ButtonEvent;
import com.extjs.gxt.ui.client.event.ComponentEvent;
@@ -14,12 +15,14 @@ import com.extjs.gxt.ui.client.event.MessageBoxEvent;
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
import com.extjs.gxt.ui.client.event.SelectionListener;
-import com.extjs.gxt.ui.client.widget.Info;
import com.extjs.gxt.ui.client.widget.MessageBox;
+import com.extjs.gxt.ui.client.widget.Window;
+import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.google.gwt.event.shared.HandlerManager;
-import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.HasWidgets;
+import com.google.gwt.user.client.ui.SimplePanel;
+import com.google.gwt.user.client.ui.VerticalPanel;
/**
*
* @author Massimiliano Assante (assante@isti.cnr.it)
@@ -44,8 +47,6 @@ public class VREDeploymentPresenter implements Presenter {
@SuppressWarnings("rawtypes")
public void bind() {
///*** BUTTONS & Menu
-
-
SelectionListener approvesl = new SelectionListener() {
public void componentSelected(ComponentEvent ce) {
List selectedUsers = display.getGridSelectionModel().getSelectedItems();
@@ -54,9 +55,17 @@ public class VREDeploymentPresenter implements Presenter {
}
}
};
+
+ ///*** BUTTONS & Menu
+ SelectionListener inviteButtonListener = new SelectionListener() {
+ public void componentSelected(ComponentEvent ce) {
+ doOpenInviteWidget();
+ }
+ };
+
display.getApproveButton().addSelectionListener(approvesl);
display.getApproveMenu().addSelectionListener(approvesl);
-
+ display.getInviteButton().addSelectionListener(inviteButtonListener);
// REFRESH
display.getRefreshButton().addSelectionListener( new SelectionListener() {
@@ -75,6 +84,7 @@ public class VREDeploymentPresenter implements Presenter {
});
}
+
/**
* go method
*/
@@ -99,18 +109,22 @@ public class VREDeploymentPresenter implements Presenter {
@Override
public void onFailure(Throwable arg0) {
display.maskCenterPanel("", false);
- Window.alert("Failed to get users list from service " + arg0.getMessage());
+ com.google.gwt.user.client.Window.alert("Failed to get users list from service " + arg0.getMessage());
}
});
}
+ private void doOpenInviteWidget() {
+ display.displayInviteUsersPanel();
+ }
+
private void doApprove(final List selectedUsers) {
if (selectedUsers != null) {
String users = "";
for (int i = 0; i < selectedUsers.size(); i++) {
PortalUserDTO user = selectedUsers.get(i);
users += user.getLastName() + ", ";
-
+
}
MessageBox.confirm("Please Confirm", "You are about to register: " +users+ "?", new Listener() {
public void handleEvent(MessageBoxEvent ce) {
@@ -120,20 +134,20 @@ public class VREDeploymentPresenter implements Presenter {
else
display.maskCenterPanel("Registering selected users, please wait it may take a while ...", true);
rpcService.registerUsers(selectedUsers, new AsyncCallback() {
-
+
@Override
public void onSuccess(Boolean result) {
MessageBox.info("Registering Operation", "User(s) were registrated successfully! ", null);
fetchAvailableUsers();
}
-
+
@Override
public void onFailure(Throwable caught) {
- Window.alert("Failed to register users: " + caught.getMessage());
+ com.google.gwt.user.client.Window.alert("Failed to register users: " + caught.getMessage());
}
});
}
-
+
}
});
}
diff --git a/src/main/java/org/gcube/portlets/admin/manageusers/client/view/Display.java b/src/main/java/org/gcube/portlets/admin/manageusers/client/view/Display.java
index c131de6..890fc77 100644
--- a/src/main/java/org/gcube/portlets/admin/manageusers/client/view/Display.java
+++ b/src/main/java/org/gcube/portlets/admin/manageusers/client/view/Display.java
@@ -18,9 +18,12 @@ public interface Display {
void setGridContextMenu() ;
Button getApproveButton();
+ Button getInviteButton();
Button getRefreshButton();
MenuItem getApproveMenu();
GridSelectionModel getGridSelectionModel();
+
+ void displayInviteUsersPanel();
}
diff --git a/src/main/java/org/gcube/portlets/admin/manageusers/client/view/VREDeploymentView.java b/src/main/java/org/gcube/portlets/admin/manageusers/client/view/VREDeploymentView.java
index f015538..714d290 100644
--- a/src/main/java/org/gcube/portlets/admin/manageusers/client/view/VREDeploymentView.java
+++ b/src/main/java/org/gcube/portlets/admin/manageusers/client/view/VREDeploymentView.java
@@ -6,6 +6,7 @@ import java.util.List;
import org.gcube.portlets.admin.manageusers.client.ManageVreUsers;
import org.gcube.portlets.admin.manageusers.shared.PortalUserDTO;
import org.gcube.portlets.user.gcubewidgets.client.GCubePanel;
+import org.gcube.portlets.widgets.inviteswidget.client.ui.InviteWidget;
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
import com.extjs.gxt.ui.client.Style.SelectionMode;
@@ -30,9 +31,12 @@ import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.extjs.gxt.ui.client.widget.menu.Menu;
import com.extjs.gxt.ui.client.widget.menu.MenuItem;
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
+import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.HasAlignment;
import com.google.gwt.user.client.ui.RootPanel;
+import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
public class VREDeploymentView extends Composite implements Display {
@@ -47,6 +51,7 @@ public class VREDeploymentView extends Composite implements Display {
private Button approveButton;
private Button refreshButton;
+ private Button inviteButton;
private MenuItem approveMenu;
private final CheckBoxSelectionModel sm = new CheckBoxSelectionModel();
@@ -103,7 +108,7 @@ public class VREDeploymentView extends Composite implements Display {
};
filterByLab.setEmptyText("Filter by Group");
filterByLab.setWidth("250px");
-
+
final ToggleButton expandButton = new ToggleButton("Expand/Collapse");
expandButton.addSelectionListener(new SelectionListener() {
@Override
@@ -164,9 +169,23 @@ public class VREDeploymentView extends Composite implements Display {
refreshButton = new Button("Refresh");
approveButton.setEnabled(false);
+
+ inviteButton = new Button("Invite a user by email");
+
+
+
initWidget(mainPanel);
updateSize();
}
+ @Override
+ public void displayInviteUsersPanel() {
+ VerticalPanel sp = new VerticalPanel();
+ sp.getElement().getStyle().setMarginTop(15, Unit.PX);
+ sp.setSpacing(10);
+ sp.add(new InviteWidget());
+ mainPanel.setHorizontalAlignment(HasAlignment.ALIGN_CENTER);
+ mainPanel.add(sp);
+ }
/**
* display the list of wfDocuments
@@ -186,7 +205,7 @@ public class VREDeploymentView extends Composite implements Display {
gridPanel.setButtonAlign(HorizontalAlignment.CENTER);
gridPanel.addButton(approveButton);
gridPanel.addButton(refreshButton);
-
+ gridPanel.addButton(inviteButton);
gridPanel.setBorders(false);
tablePanel.add(gridPanel);
tablePanel.setLayout(new FitLayout());
@@ -308,7 +327,8 @@ public class VREDeploymentView extends Composite implements Display {
public Button getApproveButton() { return approveButton;
}
@Override
- public GridSelectionModel getGridSelectionModel() { return grid.getSelectionModel();
+ public GridSelectionModel getGridSelectionModel() {
+ return grid.getSelectionModel();
}
@Override
public Button getRefreshButton() {return refreshButton;
@@ -316,4 +336,9 @@ public class VREDeploymentView extends Composite implements Display {
@Override
public MenuItem getApproveMenu() { return approveMenu;
}
+
+ @Override
+ public Button getInviteButton() {
+ return inviteButton;
+ }
}
diff --git a/src/main/resources/org/gcube/portlets/admin/manageusers/ManageVreUsers.gwt.xml b/src/main/resources/org/gcube/portlets/admin/manageusers/ManageVreUsers.gwt.xml
index 42c4514..9bd5287 100644
--- a/src/main/resources/org/gcube/portlets/admin/manageusers/ManageVreUsers.gwt.xml
+++ b/src/main/resources/org/gcube/portlets/admin/manageusers/ManageVreUsers.gwt.xml
@@ -10,7 +10,9 @@
-
+
+
+
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
index 3c84e69..08133fe 100644
--- a/src/main/webapp/WEB-INF/web.xml
+++ b/src/main/webapp/WEB-INF/web.xml
@@ -4,18 +4,26 @@
"http://java.sun.com/dtd/web-app_2_3.dtd">
-
-
manageUsersServlet
org.gcube.portlets.admin.manageusers.server.ManageUsersServiceImpl
-
+
+
+ greetServlet
+ org.gcube.portlets.widgets.inviteswidget.server.InviteServiceImpl
+
manageUsersServlet
/managevreusers/manageUsersServlet
+
+ greetServlet
+ /managevreusers/greet
+
+
+
ManageVreUsers.html