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