diff --git a/.classpath b/.classpath
index f5b84cd..aa407f6 100644
--- a/.classpath
+++ b/.classpath
@@ -1,12 +1,12 @@
-
+
-
+
@@ -17,7 +17,7 @@
-
+
@@ -34,5 +34,5 @@
-
+
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
index 443e085..b257af7 100644
--- a/.settings/org.eclipse.jdt.core.prefs
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -1,6 +1,6 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component
index 1845f38..9a8fb75 100644
--- a/.settings/org.eclipse.wst.common.component
+++ b/.settings/org.eclipse.wst.common.component
@@ -4,6 +4,9 @@
+
+ uses
+ uses
diff --git a/distro/changelog.xml b/distro/changelog.xml
index d532e9e..7afb4e0 100644
--- a/distro/changelog.xml
+++ b/distro/changelog.xml
@@ -1,4 +1,9 @@
+
+ Ported to Java8
+ Adapted for template email welcome message
+ Removed ASLSession
diff --git a/pom.xml b/pom.xml
index 07bf876..86dfd40 100644
--- a/pom.xml
+++ b/pom.xml
@@ -13,7 +13,7 @@
org.gcube.portlets.admincreate-userswar
- 2.3.0-SNAPSHOT
+ 2.4.0-SNAPSHOTCreate users portlet
Create users portlet allows a VRE-Manager to enter user's personal data and automatically register he/she in the portal.
@@ -32,7 +32,7 @@
6.2.51.7
- 1.7
+ 1.8${project.build.directory}/${project.build.finalName}UTF-8
@@ -64,6 +64,11 @@
portal-managerprovided
+
+ org.gcube.portal.mailing
+ email-templates-library
+ [1.0.0-SNAPSHOT,)
+ org.gcube.dvosusermanagement-core
@@ -209,8 +214,8 @@
maven-compiler-plugin2.3.2
-
- 1.7
+
+ ${maven.compiler.target}
diff --git a/src/main/java/org/gcube/portlets/admin/createusers/client/ui/AddUserForm.java b/src/main/java/org/gcube/portlets/admin/createusers/client/ui/AddUserForm.java
index 55b402c..9bc7c13 100644
--- a/src/main/java/org/gcube/portlets/admin/createusers/client/ui/AddUserForm.java
+++ b/src/main/java/org/gcube/portlets/admin/createusers/client/ui/AddUserForm.java
@@ -71,7 +71,7 @@ public class AddUserForm extends Composite{
@UiField
AlertBlock successBlock;
- private static final String NAME_SURNAME_PATTERN = "^[a-zA-Z\\s]*$";
+ private static final String NAME_SURNAME_PATTERN = "^[a-zA-ZàáâäãåąčćęèéêëėįìíîïłńòóôöõøùúûüųūÿýżźñçčšžÀÁÂÄÃÅĄĆČĖĘÈÉÊËÌÍÎÏĮŁŃÒÓÔÖÕØÙÚÛÜŲŪŸÝŻŹÑßÇŒÆČŠŽ∂ð ,.'-]+$";
private static final String EMAIL_PATTERN =
"^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
diff --git a/src/main/java/org/gcube/portlets/admin/createusers/server/CreateUsersImpl.java b/src/main/java/org/gcube/portlets/admin/createusers/server/CreateUsersImpl.java
index a20ea59..01923b6 100644
--- a/src/main/java/org/gcube/portlets/admin/createusers/server/CreateUsersImpl.java
+++ b/src/main/java/org/gcube/portlets/admin/createusers/server/CreateUsersImpl.java
@@ -12,17 +12,22 @@ import java.util.List;
import javax.mail.internet.InternetAddress;
import org.gcube.common.portal.PortalContext;
+import org.gcube.portal.mailing.message.Recipient;
+import org.gcube.portal.mailing.service.EmailTemplateService;
+import org.gcube.portal.mailing.templates.TemplateWelcomeCreatedAccount;
import org.gcube.portlets.admin.createusers.client.HandleUsersService;
import org.gcube.portlets.admin.createusers.shared.VreUserBean;
+import org.gcube.vomanagement.usermanagement.UserManager;
import org.gcube.vomanagement.usermanagement.exception.UserManagementPortalException;
import org.gcube.vomanagement.usermanagement.exception.UserManagementSystemException;
+import org.gcube.vomanagement.usermanagement.impl.LiferayGroupManager;
import org.gcube.vomanagement.usermanagement.impl.LiferayUserManager;
+import org.gcube.vomanagement.usermanagement.model.GCubeGroup;
import org.gcube.vomanagement.usermanagement.model.GCubeUser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
-import com.liferay.mail.service.MailServiceUtil;
import com.liferay.portal.kernel.dao.jdbc.DataAccess;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
@@ -156,37 +161,23 @@ public class CreateUsersImpl extends RemoteServiceServlet implements HandleUsers
@Override
public void sendEmailToUser(String email) {
-
if(isWithinPortal()){
try{
logger.debug("Sending welcome message to user with email " + email);
PortalContext context = PortalContext.getConfiguration();
String gatewayName = context.getGatewayName(getThreadLocalRequest());
- String emailSender = context.getSenderEmail(getThreadLocalRequest());
+ String gatewayURL = context.getGatewayURL(getThreadLocalRequest());
+ long groupId = context.getCurrentGroupId(getThreadLocalRequest());
+ GCubeGroup currVRE = new LiferayGroupManager().getGroup(groupId);
+ UserManager um = new LiferayUserManager();
+ GCubeUser theCreatedAccountUser = um.getUserByEmail(email);
+ GCubeUser theManagerUser =context.getCurrentUser(getThreadLocalRequest());
- InternetAddress to = new InternetAddress(email);
- InternetAddress from = new InternetAddress(emailSender);
+ String subject = "Your user account for " + currVRE.getGroupName() + " VRE has been created";
+ EmailTemplateService.send(
+ subject,
+ new TemplateWelcomeCreatedAccount(gatewayName, gatewayURL, theCreatedAccountUser, theManagerUser, currVRE), getThreadLocalRequest(), new Recipient(email));
- LiferayUserManager userManager = new LiferayUserManager();
- String portalUrl = context.getGatewayURL(getThreadLocalRequest());
- String username = userManager.getFullNameFromEmail(email);
-
- MailMessage mailMessage = new MailMessage();
- mailMessage.setFrom(from);
- mailMessage.setTo(to);
-
- // TODO it would be nice to let the creator specify the message to be sent
- String body = "
Dear " + username + ", " + " " +
- "Welcome! Your new account at " + portalUrl + " is ready to be used. Your temporary password is training1, you will be asked to reset it at your first login. " +
- " " + "Sincerely, " +
- gatewayName + " " +
- emailSender + " " + portalUrl;
- String subject = gatewayName + ": Your New Account was created successfully!";
-
- mailMessage.setBody(body);
- mailMessage.setSubject(subject);
- mailMessage.setHTMLFormat(true);
- MailServiceUtil.sendEmail(mailMessage);
}catch(Exception e){
logger.error("Error while sending email to user " + email, e);
}