diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component
index 78e0b29..0fc0684 100644
--- a/.settings/org.eclipse.wst.common.component
+++ b/.settings/org.eclipse.wst.common.component
@@ -1,18 +1,27 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pom.xml b/pom.xml
index fc8c4f5..c13dcc7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -114,7 +114,7 @@
org.gcube.portal.mailing
email-templates-library
- [1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)
+ [1.5.0-SNAPSHOT,2.0.0-SNAPSHOT)
diff --git a/src/main/java/gr/cite/bluebridge/portlets/admin/usersmanagementportlet/UsersManagementPortletHome.java b/src/main/java/gr/cite/bluebridge/portlets/admin/usersmanagementportlet/UsersManagementPortletHome.java
index 662f963..e3c0fd9 100644
--- a/src/main/java/gr/cite/bluebridge/portlets/admin/usersmanagementportlet/UsersManagementPortletHome.java
+++ b/src/main/java/gr/cite/bluebridge/portlets/admin/usersmanagementportlet/UsersManagementPortletHome.java
@@ -27,6 +27,8 @@ import org.gcube.portal.mailing.message.EmailAddress;
import org.gcube.portal.mailing.message.Recipient;
import org.gcube.portal.mailing.message.RecipientType;
import org.gcube.portal.mailing.service.EmailTemplateService;
+import org.gcube.portal.mailing.templates.TemplateManagerHasAssignedRoles;
+import org.gcube.portal.mailing.templates.TemplateManagerHasRevokedRoles;
import org.gcube.portal.mailing.templates.TemplateUserApprovedRequestVRE;
import org.gcube.portal.mailing.templates.TemplateUserHasBeenUnregisteredVRE;
import org.gcube.portal.mailing.templates.TemplateUserRejectedRequestVRE;
@@ -1457,29 +1459,49 @@ public class UsersManagementPortletHome extends GenericPortlet {
* @throws UserManagementSystemException
* @throws GroupRetrievalFault
*/
- public void notifyUsersByEmailOnRoleAssignment(long groupId, GCubeUser userToReceiveTheMail, GCubeUser manager, GCubeGroup group, List newRoles, HttpServletRequest httpServletRequest) throws UserManagementSystemException, GroupRetrievalFault {
+ public void notifyUsersByEmailOnRoleAssignment(
+ long groupId, GCubeUser userToReceiveTheMail,
+ GCubeUser manager, GCubeGroup group, List newRoles,
+ HttpServletRequest httpServletRequest) throws UserManagementSystemException, GroupRetrievalFault {
_log.debug("Notifying user by email on role assignment for user: " + userToReceiveTheMail.getUsername() + " for context name: " + group.getGroupName() );
- ArrayList managersEmails = getVREManagersEmailsForGroup(groupId);
-
- int recSize = managersEmails.size() + 1;
- Recipient[] recs = new Recipient[recSize];
- recs[0] = new Recipient(new EmailAddress(userToReceiveTheMail.getEmail()), RecipientType.TO);
- if (!managersEmails.isEmpty()) {
- int i = 1;
- for (String mEmail : managersEmails){
- recs[i] = new Recipient(new EmailAddress(mEmail), RecipientType.BCC);
- i++;
- }
- }
+ String gatewayName = PortalContext.getConfiguration().getGatewayName(httpServletRequest);
+ String gatewayURL = PortalContext.getConfiguration().getGatewayURL(httpServletRequest);
+
+ //send email to the assignee
String properEmailSubject = EmailPartsConstruction.getRoleAssignmentRevokeSubject(new LiferayGroupManager().getGroup(groupId).getGroupName());
-
- TemplateUserRolesModifiedForGroup templateUserRolesModifiedForGroup = new TemplateUserRolesModifiedForGroup(
- PortalContext.getConfiguration().getGatewayName(httpServletRequest), PortalContext.getConfiguration().getGatewayURL(httpServletRequest),
+ TemplateUserRolesModifiedForGroup templateUserRolesModifiedForGroup =
+ new TemplateUserRolesModifiedForGroup(gatewayName, gatewayURL,
group, userToReceiveTheMail, manager, newRoles, new ArrayList<>(), new Date() );
_log.info("Sending email to user: " + userToReceiveTheMail.getUsername() + ". His roles have been modified within the context of VRE: " + group.getGroupName());
- EmailTemplateService.send(properEmailSubject, (org.gcube.common.portal.mailing.templates.Template)templateUserRolesModifiedForGroup, httpServletRequest, recs);
+ EmailTemplateService.send(properEmailSubject, (org.gcube.common.portal.mailing.templates.Template)templateUserRolesModifiedForGroup, httpServletRequest, new Recipient(userToReceiveTheMail.getEmail()));
+
+ String[] theRoles = new String[newRoles.size()];
+ int i = 0;
+ for (GCubeRole role : newRoles) {
+ theRoles[i] = role.getRoleName();
+ i++;
+ }
+ //send email to the manager
+ ArrayList managersEmails = getVREManagersEmailsForGroup(groupId);
+ _log.info("Sending email to VRE Managers about user: " + userToReceiveTheMail.getUsername() + ". His roles have been modified within the context of VRE: " + group.getGroupName());
+ String managersEmailSubject = "Roles assignment notification on " + group.getGroupName();
+ if (!managersEmails.isEmpty()) {
+ for (String mEmail : managersEmails){
+ TemplateManagerHasAssignedRoles managersTemplate =
+ new TemplateManagerHasAssignedRoles(
+ userToReceiveTheMail,
+ manager.getFullname(),
+ group.getGroupName(),
+ theRoles,
+ gatewayName,
+ gatewayURL);
+
+ EmailTemplateService.send(managersEmailSubject, managersTemplate, httpServletRequest, new Recipient(mEmail));
+ }
+ }
}
+
/**
*
* @param groupId
@@ -1493,26 +1515,41 @@ public class UsersManagementPortletHome extends GenericPortlet {
*/
public void notifyUsersByEmailOnRoleRevokation(long groupId, GCubeUser userToReceiveTheMail, GCubeUser manager, GCubeGroup group, List revokeRoles, HttpServletRequest httpServletRequest) throws UserManagementSystemException, GroupRetrievalFault {
_log.debug("Notifying user by email on role revokation for user: " + userToReceiveTheMail.getUsername() + " for context name: " + group.getGroupName() );
- ArrayList managersEmails = getVREManagersEmailsForGroup(groupId);
-
- int recSize = managersEmails.size() + 1;
- Recipient[] recs = new Recipient[recSize];
- recs[0] = new Recipient(new EmailAddress(userToReceiveTheMail.getEmail()), RecipientType.TO);
- if (!managersEmails.isEmpty()) {
- int i = 1;
- for (String mEmail : managersEmails){
- recs[i] = new Recipient(new EmailAddress(mEmail), RecipientType.BCC);
- i++;
- }
- }
+ String gatewayName = PortalContext.getConfiguration().getGatewayName(httpServletRequest);
+ String gatewayURL = PortalContext.getConfiguration().getGatewayURL(httpServletRequest);
+
+ //send email to the assignee
String properEmailSubject = EmailPartsConstruction.getRoleAssignmentRevokeSubject(new LiferayGroupManager().getGroup(groupId).getGroupName());
-
- TemplateUserRolesModifiedForGroup templateUserRolesModifiedForGroup = new TemplateUserRolesModifiedForGroup(
- PortalContext.getConfiguration().getGatewayName(httpServletRequest), PortalContext.getConfiguration().getGatewayURL(httpServletRequest),
- group, userToReceiveTheMail, manager, new ArrayList<>(), revokeRoles, new Date() );
+ TemplateUserRolesModifiedForGroup templateUserRolesModifiedForGroup =
+ new TemplateUserRolesModifiedForGroup(gatewayName, gatewayURL,
+ group, userToReceiveTheMail, manager, revokeRoles, new ArrayList<>(), new Date() );
_log.info("Sending email to user: " + userToReceiveTheMail.getUsername() + ". His roles have been modified within the context of VRE: " + group.getGroupName());
- EmailTemplateService.send(properEmailSubject, (org.gcube.common.portal.mailing.templates.Template)templateUserRolesModifiedForGroup, httpServletRequest, recs);
-
+ EmailTemplateService.send(properEmailSubject, (org.gcube.common.portal.mailing.templates.Template)templateUserRolesModifiedForGroup, httpServletRequest, new Recipient(userToReceiveTheMail.getEmail()));
+
+ String[] theRoles = new String[revokeRoles.size()];
+ int i = 0;
+ for (GCubeRole role : revokeRoles) {
+ theRoles[i] = role.getRoleName();
+ i++;
+ }
+ //send email to the manager
+ ArrayList managersEmails = getVREManagersEmailsForGroup(groupId);
+ _log.info("Sending email to VRE Managers about user: " + userToReceiveTheMail.getUsername() + ". His roles have been modified within the context of VRE: " + group.getGroupName());
+ String managersEmailSubject = "Revoked roles notification on " + group.getGroupName();
+ if (!managersEmails.isEmpty()) {
+ for (String mEmail : managersEmails){
+ TemplateManagerHasRevokedRoles managersTemplate =
+ new TemplateManagerHasRevokedRoles(
+ userToReceiveTheMail,
+ manager.getFullname(),
+ group.getGroupName(),
+ theRoles,
+ gatewayName,
+ gatewayURL);
+
+ EmailTemplateService.send(managersEmailSubject, managersTemplate, httpServletRequest, new Recipient(mEmail));
+ }
+ }
}
}
\ No newline at end of file