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.admin create-users war - 2.3.0-SNAPSHOT + 2.4.0-SNAPSHOT Create 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.5 1.7 - 1.7 + 1.8 ${project.build.directory}/${project.build.finalName} UTF-8 @@ -64,6 +64,11 @@ portal-manager provided + + org.gcube.portal.mailing + email-templates-library + [1.0.0-SNAPSHOT,) + org.gcube.dvos usermanagement-core @@ -209,8 +214,8 @@ maven-compiler-plugin 2.3.2 - 1.7 - 1.7 + ${maven.compiler.source} + ${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); }