diff --git a/config/alfresco/model/bpmModel.xml b/config/alfresco/model/bpmModel.xml index 2f212feb86..c68d6ba7f4 100644 --- a/config/alfresco/model/bpmModel.xml +++ b/config/alfresco/model/bpmModel.xml @@ -338,6 +338,29 @@ + + + + + + + + + + false + false + + + + usr:authorityContainer + true + true + + + + + + diff --git a/config/alfresco/workflow/parallelreview_group_processdefinition.xml b/config/alfresco/workflow/parallelreview_group_processdefinition.xml new file mode 100644 index 0000000000..ffb833bcee --- /dev/null +++ b/config/alfresco/workflow/parallelreview_group_processdefinition.xml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + #{people.getMembers(bpm_groupAssignee)} + reviewer + + + + + + + + + + + #{reviewer} + + + + + + + + + + + + + + + + + + + + + + + + + + + #{wf_actualPercent >= wf_requiredApprovePercent} + + + + + + + + + + + + + + + + diff --git a/config/alfresco/workflow/review_pooled_processdefinition.xml b/config/alfresco/workflow/review_pooled_processdefinition.xml new file mode 100644 index 0000000000..73f1be9b3d --- /dev/null +++ b/config/alfresco/workflow/review_pooled_processdefinition.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + #{bpm_groupAssignee} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/config/alfresco/workflow/workflowModel.xml b/config/alfresco/workflow/workflowModel.xml index fee647d2ac..e28fca32c0 100644 --- a/config/alfresco/workflow/workflowModel.xml +++ b/config/alfresco/workflow/workflowModel.xml @@ -23,33 +23,39 @@ bpm:assignee - - + + bpm:startTask - - bpm:groupAssignee - + + + d:int + true + 50 + + + 1 + 100 + + + + + - bpm:startTask - - - d:int - true - 50 - - - 1 - 100 - - - - + wf:submitConcurrentReviewTask bpm:assignees + + + + wf:submitConcurrentReviewTask + + bpm:groupAssignee + + bpm:workflowTask diff --git a/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoAssignment.java b/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoAssignment.java index e1c717ede8..d1876da8f0 100644 --- a/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoAssignment.java +++ b/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoAssignment.java @@ -16,19 +16,12 @@ */ package org.alfresco.repo.workflow.jbpm; -import java.util.Collection; -import java.util.Set; - import org.alfresco.model.ContentModel; import org.alfresco.repo.jscript.Node; import org.alfresco.service.ServiceRegistry; -import org.alfresco.service.cmr.security.AuthorityService; -import org.alfresco.service.cmr.security.AuthorityType; import org.alfresco.service.cmr.workflow.WorkflowException; import org.dom4j.Element; import org.jbpm.graph.exe.ExecutionContext; -import org.jbpm.jpdl.el.impl.JbpmExpressionEvaluator; -import org.jbpm.taskmgmt.def.AssignmentHandler; import org.jbpm.taskmgmt.exe.Assignable; import org.springframework.beans.factory.BeanFactory; diff --git a/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoJavaScript.java b/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoJavaScript.java index 73a768c2af..3a25184826 100644 --- a/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoJavaScript.java +++ b/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoJavaScript.java @@ -255,17 +255,22 @@ public class AlfrescoJavaScript extends JBPMSpringActionHandler */ private static VariableAccess getWritableVariable(List variableAccesses) { + VariableAccess writable = null; if (variableAccesses != null) { for (VariableAccess variableAccess : variableAccesses) { if (variableAccess.isWritable()) { - return variableAccess; + if (writable != null) + { + throw new WorkflowException("AlfrescoJavaScript supports only one writable variable"); + } + writable = variableAccess; } } } - return null; + return writable; } }