From 3c3a147e295183acf8602e7c6d401d675b267cd7 Mon Sep 17 00:00:00 2001 From: "Paula V. Quispe" Date: Wed, 30 Mar 2016 16:27:27 -0400 Subject: [PATCH] HOR-647 --- workflow/engine/classes/class.case.php | 4 ++-- workflow/engine/classes/class.derivation.php | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/workflow/engine/classes/class.case.php b/workflow/engine/classes/class.case.php index b1221e3f1..52f7099b4 100755 --- a/workflow/engine/classes/class.case.php +++ b/workflow/engine/classes/class.case.php @@ -1560,8 +1560,8 @@ class Cases $pausedTask[] = $row; } - if (count($pausedTask) == 0) { - return false; // return false because there is not any delegation for this task. + if (count($pausedTask) === 0) { + return array(); // return false because there is not any delegation for this task. } else { return array('pause' => $pausedTask); } diff --git a/workflow/engine/classes/class.derivation.php b/workflow/engine/classes/class.derivation.php index 2607dea14..f9a93d504 100755 --- a/workflow/engine/classes/class.derivation.php +++ b/workflow/engine/classes/class.derivation.php @@ -1129,8 +1129,12 @@ class Derivation switch ($routeType) { case "SEC-JOIN": $arrayOpenThread = ($flagTaskIsMultipleInstance && $flagTaskAssignTypeIsMultipleInstance)? $this->case->searchOpenPreviousTasks($currentDelegation["TAS_UID"], $currentDelegation["APP_UID"]) : array(); - $arrayOpenThread = array_merge($arrayOpenThread, $this->case->getOpenSiblingThreads($nextDel["TAS_UID"], $currentDelegation["APP_UID"], $currentDelegation["DEL_INDEX"], $currentDelegation["TAS_UID"])); + $arraySiblings = $this->case->getOpenSiblingThreads($nextDel["TAS_UID"], $currentDelegation["APP_UID"], $currentDelegation["DEL_INDEX"], $currentDelegation["TAS_UID"]); + if(is_array($arrayOpenThread) && is_array($arraySiblings)){ + $arrayOpenThread = array_merge($arrayOpenThread, $arraySiblings); + } $canDerivate = empty($arrayOpenThread); + break; default: $canDerivate = true;