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">
|
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
|
||||||
|
|
||||||
|
|
||||||
<wb-module deploy-name="UsersManagementPortlet-portlet">
|
<wb-module deploy-name="UsersManagementPortlet-portlet">
|
||||||
|
|
||||||
|
|
||||||
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
|
<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="/" 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/java"/>
|
||||||
|
|
||||||
|
|
||||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
|
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
|
||||||
|
|
||||||
|
|
||||||
<property name="java-output-path" value="/UsersManagementPortlet/target/classes"/>
|
<property name="java-output-path" value="/UsersManagementPortlet/target/classes"/>
|
||||||
|
|
||||||
<property name="context-root" value="UsersManagementPortlet-portlet"/>
|
<property name="context-root" value="UsersManagementPortlet-portlet"/>
|
||||||
|
|
||||||
|
|
||||||
</wb-module>
|
</wb-module>
|
||||||
|
|
||||||
|
|
||||||
</project-modules>
|
</project-modules>
|
||||||
|
|
2
pom.xml
2
pom.xml
|
@ -114,7 +114,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.gcube.portal.mailing</groupId>
|
<groupId>org.gcube.portal.mailing</groupId>
|
||||||
<artifactId>email-templates-library</artifactId>
|
<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>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<build>
|
<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.Recipient;
|
||||||
import org.gcube.portal.mailing.message.RecipientType;
|
import org.gcube.portal.mailing.message.RecipientType;
|
||||||
import org.gcube.portal.mailing.service.EmailTemplateService;
|
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.TemplateUserApprovedRequestVRE;
|
||||||
import org.gcube.portal.mailing.templates.TemplateUserHasBeenUnregisteredVRE;
|
import org.gcube.portal.mailing.templates.TemplateUserHasBeenUnregisteredVRE;
|
||||||
import org.gcube.portal.mailing.templates.TemplateUserRejectedRequestVRE;
|
import org.gcube.portal.mailing.templates.TemplateUserRejectedRequestVRE;
|
||||||
|
@ -1457,29 +1459,49 @@ public class UsersManagementPortletHome extends GenericPortlet {
|
||||||
* @throws UserManagementSystemException
|
* @throws UserManagementSystemException
|
||||||
* @throws GroupRetrievalFault
|
* @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() );
|
_log.debug("Notifying user by email on role assignment for user: " + userToReceiveTheMail.getUsername() + " for context name: " + group.getGroupName() );
|
||||||
ArrayList<String> managersEmails = getVREManagersEmailsForGroup(groupId);
|
String gatewayName = PortalContext.getConfiguration().getGatewayName(httpServletRequest);
|
||||||
|
String gatewayURL = PortalContext.getConfiguration().getGatewayURL(httpServletRequest);
|
||||||
|
|
||||||
int recSize = managersEmails.size() + 1;
|
//send email to the assignee
|
||||||
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 properEmailSubject = EmailPartsConstruction.getRoleAssignmentRevokeSubject(new LiferayGroupManager().getGroup(groupId).getGroupName());
|
String properEmailSubject = EmailPartsConstruction.getRoleAssignmentRevokeSubject(new LiferayGroupManager().getGroup(groupId).getGroupName());
|
||||||
|
TemplateUserRolesModifiedForGroup templateUserRolesModifiedForGroup =
|
||||||
TemplateUserRolesModifiedForGroup templateUserRolesModifiedForGroup = new TemplateUserRolesModifiedForGroup(
|
new TemplateUserRolesModifiedForGroup(gatewayName, gatewayURL,
|
||||||
PortalContext.getConfiguration().getGatewayName(httpServletRequest), PortalContext.getConfiguration().getGatewayURL(httpServletRequest),
|
|
||||||
group, userToReceiveTheMail, manager, newRoles, new ArrayList<>(), new Date() );
|
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());
|
_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
|
* @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 {
|
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() );
|
_log.debug("Notifying user by email on role revokation for user: " + userToReceiveTheMail.getUsername() + " for context name: " + group.getGroupName() );
|
||||||
ArrayList<String> managersEmails = getVREManagersEmailsForGroup(groupId);
|
String gatewayName = PortalContext.getConfiguration().getGatewayName(httpServletRequest);
|
||||||
|
String gatewayURL = PortalContext.getConfiguration().getGatewayURL(httpServletRequest);
|
||||||
|
|
||||||
int recSize = managersEmails.size() + 1;
|
//send email to the assignee
|
||||||
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 properEmailSubject = EmailPartsConstruction.getRoleAssignmentRevokeSubject(new LiferayGroupManager().getGroup(groupId).getGroupName());
|
String properEmailSubject = EmailPartsConstruction.getRoleAssignmentRevokeSubject(new LiferayGroupManager().getGroup(groupId).getGroupName());
|
||||||
|
TemplateUserRolesModifiedForGroup templateUserRolesModifiedForGroup =
|
||||||
TemplateUserRolesModifiedForGroup templateUserRolesModifiedForGroup = new TemplateUserRolesModifiedForGroup(
|
new TemplateUserRolesModifiedForGroup(gatewayName, gatewayURL,
|
||||||
PortalContext.getConfiguration().getGatewayName(httpServletRequest), PortalContext.getConfiguration().getGatewayURL(httpServletRequest),
|
group, userToReceiveTheMail, manager, revokeRoles, new ArrayList<>(), new Date() );
|
||||||
group, userToReceiveTheMail, manager, new ArrayList<>(), revokeRoles, new Date() );
|
|
||||||
|
|
||||||
_log.info("Sending email to user: " + userToReceiveTheMail.getUsername() + ". His roles have been modified within the context of VRE: " + group.getGroupName());
|
_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