diff --git a/source/java/org/alfresco/repo/invitation/InviteHelper.java b/source/java/org/alfresco/repo/invitation/InviteHelper.java index 18a6c4c34b..dfeb7b174b 100644 --- a/source/java/org/alfresco/repo/invitation/InviteHelper.java +++ b/source/java/org/alfresco/repo/invitation/InviteHelper.java @@ -325,7 +325,7 @@ public class InviteHelper implements InitializingBean deleteAuthenticationIfUnused(inviteeUserName, currentInviteId); } - public void sendNominatedInvitation(Map executionVariables) + public void sendNominatedInvitation(String inviteId, Map executionVariables) { if(invitationService.isSendEmails()) { @@ -336,9 +336,7 @@ public class InviteHelper implements InitializingBean String packageRef = packageNode.getNodeRef().toString(); properties.put(InviteSender.WF_PACKAGE, packageRef); - String instanceName=WorkflowModel.PROP_WORKFLOW_INSTANCE_ID.toPrefixString(namespaceService).replace(":", "_"); - String instanceId = (String) executionVariables.get(instanceName); - properties.put(InviteSender.WF_INSTANCE_ID, instanceId); + properties.put(InviteSender.WF_INSTANCE_ID, inviteId); inviteSender.sendMail(properties); } diff --git a/source/java/org/alfresco/repo/invitation/activiti/SendNominatedInviteDelegate.java b/source/java/org/alfresco/repo/invitation/activiti/SendNominatedInviteDelegate.java index 17c5d44718..e361fa5a8b 100644 --- a/source/java/org/alfresco/repo/invitation/activiti/SendNominatedInviteDelegate.java +++ b/source/java/org/alfresco/repo/invitation/activiti/SendNominatedInviteDelegate.java @@ -21,6 +21,7 @@ package org.alfresco.repo.invitation.activiti; import java.util.Map; import org.activiti.engine.delegate.DelegateExecution; +import org.alfresco.repo.workflow.activiti.ActivitiConstants; /** * Activiti delegate that is executed when a invitation request has @@ -36,8 +37,9 @@ public class SendNominatedInviteDelegate extends AbstractInvitationDelegate @Override public void execute(DelegateExecution execution) throws Exception { + String invitationId = ActivitiConstants.ENGINE_ID + "$" + execution.getProcessInstanceId(); Map variables = execution.getVariables(); - inviteHelper.sendNominatedInvitation(variables); + inviteHelper.sendNominatedInvitation(invitationId, variables); } } diff --git a/source/java/org/alfresco/repo/invitation/site/SendInviteAction.java b/source/java/org/alfresco/repo/invitation/site/SendInviteAction.java index 4f6e596beb..0a44b95de3 100644 --- a/source/java/org/alfresco/repo/invitation/site/SendInviteAction.java +++ b/source/java/org/alfresco/repo/invitation/site/SendInviteAction.java @@ -21,6 +21,8 @@ package org.alfresco.repo.invitation.site; import java.util.Map; +import org.alfresco.repo.workflow.jbpm.JBPMEngine; +import org.jbpm.context.exe.ContextInstance; import org.jbpm.graph.exe.ExecutionContext; public class SendInviteAction extends AbstractInvitationAction @@ -30,8 +32,11 @@ public class SendInviteAction extends AbstractInvitationAction @SuppressWarnings("unchecked") public void execute(final ExecutionContext context) throws Exception { - Map executionVariables = context.getContextInstance().getVariables(); - inviteHelper.sendNominatedInvitation(executionVariables); + ContextInstance contextInstance = context.getContextInstance(); + long processId = contextInstance.getProcessInstance().getId(); + String inviteId = JBPMEngine.ENGINE_ID + "$" + processId; + Map executionVariables = contextInstance.getVariables(); + inviteHelper.sendNominatedInvitation(inviteId, executionVariables); } }