From ee5774a11adea63d3c8529485768c30dea4b3947 Mon Sep 17 00:00:00 2001 From: "marcelo.cuiza" Date: Thu, 26 Nov 2015 10:47:03 -0400 Subject: [PATCH] PM-4192: 0019327: No se puede colocar un case label a una tarea cuando es de tipo paralelo correccion de observacion --- .../engine/src/ProcessMaker/BusinessModel/Task.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Task.php b/workflow/engine/src/ProcessMaker/BusinessModel/Task.php index fbdf6d573..677f0ac31 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Task.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Task.php @@ -291,10 +291,20 @@ class Task $flagTaskIsMultipleInstance = $bpmnActivity->getActType() == "TASK" && preg_match("/^(?:EMPTY|USERTASK|MANUALTASK)$/", $bpmnActivity->getActTaskType()) && $bpmnActivity->getActLoopType() == "PARALLEL"; $flagTaskAssignTypeIsMultipleInstance = preg_match("/^(?:MULTIPLE_INSTANCE|MULTIPLE_INSTANCE_VALUE_BASED)$/", $arrayProperty["TAS_ASSIGN_TYPE"]); + + if ($flagTaskIsMultipleInstance && !$flagTaskAssignTypeIsMultipleInstance) { + $arrayProperty["TAS_ASSIGN_TYPE"] = "MULTIPLE_INSTANCE"; + $flagTaskAssignTypeIsMultipleInstance = true; + } if ($flagTaskIsMultipleInstance && !$flagTaskAssignTypeIsMultipleInstance) { throw new \Exception(\G::LoadTranslation("ID_ACTIVITY_INVALID_ASSIGNMENT_METHOD_FOR_MULTIPLE_INSTANCE_ACTIVITY", array(strtolower("ACT_UID"), $act_uid))); } + + if (!$flagTaskIsMultipleInstance && $flagTaskAssignTypeIsMultipleInstance) { + $arrayProperty["TAS_ASSIGN_TYPE"] = "BALANCED"; + $flagTaskAssignTypeIsMultipleInstance = false; + } if (!$flagTaskIsMultipleInstance && $flagTaskAssignTypeIsMultipleInstance) { throw new \Exception(\G::LoadTranslation("ID_ACTIVITY_INVALID_ASSIGNMENT_METHOD_FOR_ACTIVITY", array(strtolower("ACT_UID"), $act_uid)));