diff --git a/source/java/org/alfresco/repo/workflow/activiti/ActivitiWorkflowEngine.java b/source/java/org/alfresco/repo/workflow/activiti/ActivitiWorkflowEngine.java index 219861b1e5..166a1e73e0 100644 --- a/source/java/org/alfresco/repo/workflow/activiti/ActivitiWorkflowEngine.java +++ b/source/java/org/alfresco/repo/workflow/activiti/ActivitiWorkflowEngine.java @@ -1469,7 +1469,15 @@ public class ActivitiWorkflowEngine extends BPMEngine implements WorkflowEngine private void addTasksForCandidateGroups(List groupNames, Map resultingTasks) { if(groupNames != null && groupNames.size() > 0) { - List tasks = taskService.createTaskQuery().taskCandidateGroupIn(groupNames).list(); + + TaskQuery query = taskService.createTaskQuery().taskCandidateGroupIn(groupNames); + + // Additional filtering on the tenant-property in case workflow-definitions are shared across tenants + if(!activitiUtil.isMultiTenantWorkflowDeploymentEnabled() && tenantService.isEnabled()) { + query.processVariableValueEquals(ActivitiConstants.VAR_TENANT_DOMAIN, TenantUtil.getCurrentDomain()); + } + + List tasks =query.list(); for(Task task : tasks) { resultingTasks.put(task.getId(), task); @@ -1479,7 +1487,14 @@ public class ActivitiWorkflowEngine extends BPMEngine implements WorkflowEngine private void addTasksForCandidateUser(String userName, Map resultingTasks) { - List tasks = taskService.createTaskQuery().taskCandidateUser(userName).list(); + TaskQuery query = taskService.createTaskQuery().taskCandidateUser(userName); + + // Additional filtering on the tenant-property in case workflow-definitions are shared across tenants + if(!activitiUtil.isMultiTenantWorkflowDeploymentEnabled() && tenantService.isEnabled()) { + query.processVariableValueEquals(ActivitiConstants.VAR_TENANT_DOMAIN, TenantUtil.getCurrentDomain()); + } + + List tasks = query.list(); for(Task task : tasks) { resultingTasks.put(task.getId(), task);