From 9229be669dfe63f2cddb2c1a168774c94689830b Mon Sep 17 00:00:00 2001 From: "Paula V. Quispe" Date: Thu, 4 Aug 2016 12:00:42 -0400 Subject: [PATCH] HOR-1502 --- .../src/ProcessMaker/Core/RoutingScreen.php | 27 +++++++------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/Core/RoutingScreen.php b/workflow/engine/src/ProcessMaker/Core/RoutingScreen.php index 62254c3d4..603be8a7f 100644 --- a/workflow/engine/src/ProcessMaker/Core/RoutingScreen.php +++ b/workflow/engine/src/ProcessMaker/Core/RoutingScreen.php @@ -13,31 +13,22 @@ class RoutingScreen extends \Derivation public function mergeDataDerivation($post, $prepareInformation) { - $count = 1; $iPost = count($post); $aDataMerged = array(); - $flag = false; + $flagJumpTask = false; foreach ($prepareInformation as $key => $nextTask) { + $aDataMerged[$key] = $nextTask['NEXT_TASK']; + unset($aDataMerged[$key]['USER_ASSIGNED']); + $aDataMerged[$key]['DEL_PRIORITY'] = ''; for ($i = 1; $i <= $iPost; $i++) { - if(isset($post[$i]['SOURCE_UID']) && $nextTask['NEXT_TASK']['TAS_UID'] === $post[$i]['SOURCE_UID']){ - if($post[$i]['SOURCE_UID'] !== $post[$i]['TAS_UID']){ - $aDataMerged[$count] = $nextTask['NEXT_TASK']; - unset($aDataMerged[$count]['USER_ASSIGNED']); - $aDataMerged[$count]['DEL_PRIORITY'] = ''; - $aDataMerged[$count]['NEXT_ROUTING'] = $post[$i]; - $count++; - $flag = true; - } else { - $aDataMerged[$count] = \G::array_merges($nextTask['NEXT_TASK'],$post[$i]); - unset($aDataMerged[$count]['USER_ASSIGNED']); - $count++; - $flag = true; - break; - } + if(isset($post[$i]['SOURCE_UID']) && ($nextTask['NEXT_TASK']['TAS_UID'] === $post[$i]['SOURCE_UID']) && ($post[$i]['SOURCE_UID'] !== $post[$i]['TAS_UID'])){ + $flagJumpTask = true; + $aDataMerged[$key]['NEXT_ROUTING'][] = $post[$i]; } } } - if(!$flag){ + //If flagJumpTask is false the template does not Jump Intermediate Events + if(!$flagJumpTask){ $aDataMerged = $post; } return $aDataMerged;