From 132d177841159f4948cd8039b2d83c75fe4d821d Mon Sep 17 00:00:00 2001 From: "Paula V. Quispe" Date: Thu, 30 Jun 2016 10:15:46 -0400 Subject: [PATCH] HOR-1359 --- workflow/engine/classes/class.derivation.php | 20 +++++++++++++------ .../Project/Adapter/BpmnWorkflow.php | 11 +--------- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/workflow/engine/classes/class.derivation.php b/workflow/engine/classes/class.derivation.php index e232a71cd..9e9ae1abf 100755 --- a/workflow/engine/classes/class.derivation.php +++ b/workflow/engine/classes/class.derivation.php @@ -208,17 +208,25 @@ class Derivation $flagAddDelegation = $pmScript->evaluate(); } - if (trim($arrayRouteData["ROU_CONDITION"]) == "" && $arrayRouteData["ROU_NEXT_TASK"] != "-1") { + //In the 3.0.1.7 version we have a condition for join and the rouCondition maybe is true, 1, etc + $rouCondition = trim($arrayRouteData["ROU_CONDITION"]); + if($rouCondition !== '' && $arrayRouteData["ROU_TYPE"] === 'SEC-JOIN'){ + error_log(G::LoadTranslation( 'ID_WARNING_GATEWAY_CONVERGENT_WITH_CONDITION' ).' '.$flagAddDelegation); + } + + if ($arrayRouteData["ROU_NEXT_TASK"] != "-1" && $rouCondition === '') { $arrayTaskData = $task->load($arrayRouteData["ROU_NEXT_TASK"]); if ($arrayRouteData["ROU_TYPE"] != "SEC-JOIN" && $arrayTaskData["TAS_TYPE"] == "GATEWAYTOGATEWAY") { $flagAddDelegation = true; } + } - if($arrayRouteData["ROU_TYPE"] == "SEC-JOIN"){ - $aSecJoin[$count]["ROU_PREVIOUS_TASK"] = $arrayRouteData["ROU_NEXT_TASK"]; - $aSecJoin[$count]["ROU_PREVIOUS_TYPE"] = "SEC-JOIN"; - $count++; - } + //In the 3.0.1.8 version the Secjoin does not have a rouCondition + if($arrayRouteData["ROU_NEXT_TASK"] !== '-1' && $arrayRouteData["ROU_TYPE"] === 'SEC-JOIN'){ + $arrayTaskData = $task->load($arrayRouteData["ROU_NEXT_TASK"]); + $aSecJoin[$count]["ROU_PREVIOUS_TASK"] = $arrayRouteData["ROU_NEXT_TASK"]; + $aSecJoin[$count]["ROU_PREVIOUS_TYPE"] = 'SEC-JOIN'; + $count++; } if ($arrayRouteData["ROU_TYPE"] == "EVALUATE" && !empty($arrayNextTask)) { diff --git a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php index 648435cf7..ce70f2d5d 100755 --- a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php +++ b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php @@ -816,16 +816,7 @@ class BpmnWorkflow extends Project\Bpmn } } - if($elementUidDest != ""){ - $aElement[$elementUid] = $elementUidDest; - if($routeType === 'SEC-JOIN'){ - $this->arrayElementTaskRelation[$elementUid] = $taskUid; - }else - $this->arrayElementTaskRelation = $aElement; - }else { - //Array - Add element - $this->arrayElementTaskRelation[$elementUid] = $taskUid; - } + $this->arrayElementTaskRelation[$elementUid] = $taskUid; } //Return