added email notification separated for VRE Managers about roles
modification
This commit is contained in:
parent
a970ce8844
commit
a05be29b1f
|
@ -1,18 +1,27 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
|
||||
|
||||
<wb-module deploy-name="UsersManagementPortlet-portlet">
|
||||
|
||||
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
|
||||
|
||||
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
|
||||
|
||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
|
||||
|
||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
|
||||
|
||||
<property name="java-output-path" value="/UsersManagementPortlet/target/classes"/>
|
||||
<property name="context-root" value="UsersManagementPortlet-portlet"/>
|
||||
|
||||
</wb-module>
|
||||
|
||||
<wb-module deploy-name="UsersManagementPortlet-portlet">
|
||||
|
||||
|
||||
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
|
||||
|
||||
|
||||
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
|
||||
|
||||
|
||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
|
||||
|
||||
|
||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
|
||||
|
||||
|
||||
<property name="java-output-path" value="/UsersManagementPortlet/target/classes"/>
|
||||
|
||||
<property name="context-root" value="UsersManagementPortlet-portlet"/>
|
||||
|
||||
|
||||
</wb-module>
|
||||
|
||||
|
||||
</project-modules>
|
||||
|
|
2
pom.xml
2
pom.xml
|
@ -114,7 +114,7 @@
|
|||
<dependency>
|
||||
<groupId>org.gcube.portal.mailing</groupId>
|
||||
<artifactId>email-templates-library</artifactId>
|
||||
<version>[1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)</version>
|
||||
<version>[1.5.0-SNAPSHOT,2.0.0-SNAPSHOT)</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
|
|
|
@ -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<GCubeRole> newRoles, HttpServletRequest httpServletRequest) throws UserManagementSystemException, GroupRetrievalFault {
|
||||
public void notifyUsersByEmailOnRoleAssignment(
|
||||
long groupId, GCubeUser userToReceiveTheMail,
|
||||
GCubeUser manager, GCubeGroup group, List<GCubeRole> 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<String> 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<String> 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<GCubeRole> 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<String> 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<String> 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));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue