From cade0eb61a401a4a6cb93c9bc98632c0b063d389 Mon Sep 17 00:00:00 2001 From: safan Date: Thu, 24 Feb 2011 07:40:37 +0000 Subject: [PATCH] fixed issue with gateway duplication --- workflow/engine/classes/class.processMap.php | 14 +++++++------- workflow/engine/methods/bpmn/patterns_Ajax.php | 3 ++- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/workflow/engine/classes/class.processMap.php b/workflow/engine/classes/class.processMap.php index 24b6e66dd..a882b8308 100644 --- a/workflow/engine/classes/class.processMap.php +++ b/workflow/engine/classes/class.processMap.php @@ -2590,7 +2590,7 @@ class processMap { if($sType != 'SEQUENTIAL') { $oProcessMap = new processMap(); - $sGatewayUID = $oProcessMap->saveNewGateway($sProcessUID, $sTaskUID, $sNextTask,$sType); + $sGatewayUID = $oProcessMap->saveNewGateway($sProcessUID, $sTaskUID, $sNextTask); } $aFields ['GAT_UID'] = (isset($sGatewayUID))?$sGatewayUID:''; @@ -2643,6 +2643,7 @@ class processMap { } $oGateway = new Gateway ( ); + $sGatewayUID = $oGateway->create($aFields); return $sGatewayUID; @@ -5485,7 +5486,6 @@ class processMap { $oCriteria = new Criteria ( 'workflow' ); $del = DBAdapter::getStringDelimiter (); $oCriteria->add ( SubProcessPeer::PRO_PARENT, $sProcessUID ); - $oCriteria->add ( SubProcessPeer::PRO_PARENT, $sProcessUID ); $oCriteria->add ( SubProcessPeer::TAS_PARENT, $sTaskUID ); $oCriteria->addAsColumn ( 'CON_VALUE', 'C1.CON_VALUE', 'CON_TITLE' ); @@ -5521,11 +5521,11 @@ class processMap { $SP_VARIABLES_OUT = unserialize ( $aRow ['SP_VARIABLES_OUT'] ); if (is_array ( $SP_VARIABLES_OUT )) { $i = 0; - $aRow1 = array(); + //$aRow1 = array(); foreach ( $SP_VARIABLES_OUT as $indice => $valor ) { - $aRow1 [$i] = $aRow; - $aRow1 [$i]['VAR_OUT1'] = $indice; - $aRow1 [$i]['VAR_OUT2'] = $valor; + //$aRow1 [$i] = $aRow; + $aRow [$i]['VAR_OUT1'] = $indice; + $aRow [$i]['VAR_OUT2'] = $valor; //$aRow1 [$i]['PROCESSES'] = $_DBArray ['TheProcesses']; $i ++; } @@ -5548,7 +5548,7 @@ class processMap { } $aRow ['INDEX'] = $sIndex; //print '
';print_r($aRow); - return $aRow1; + return $aRow; //return $aSubProcess; } catch ( Exception $oError ) { diff --git a/workflow/engine/methods/bpmn/patterns_Ajax.php b/workflow/engine/methods/bpmn/patterns_Ajax.php index 3fee2926b..8e719abdd 100755 --- a/workflow/engine/methods/bpmn/patterns_Ajax.php +++ b/workflow/engine/methods/bpmn/patterns_Ajax.php @@ -37,13 +37,14 @@ if($aData['ROU_TYPE'] != 'SEQUENTIAL') { $oProcessMap = new processMap(); //$sGatewayUID = $oProcessMap->saveNewGateway($aData['PROCESS'], $aData['TASK'][0], $aData['ROU_NEXT_TASK'][0]); + require_once 'classes/model/Gateway.php'; $oGateway = new Gateway ( ); $aGatewayFields = array(); $aGatewayFields['GAT_UID'] = $aData['GAT_UID']; $aGatewayFields['TAS_UID'] = $aData['TASK'][0]; $aGatewayFields['GAT_NEXT_TASK'] = $aData['ROU_NEXT_TASK'][0]; - $aGatewayFields['GAT_TYPE'] = $aData['GAT_TYPE']; + $aGatewayFields['GAT_TYPE'] = ''; $oGateway->update($aGatewayFields); //$sGatewayUID = $oProcessMap->saveNewGateway($aData['PROCESS'], $aData['TASK'][0], $aData['ROU_NEXT_TASK'][0]); //echo $sGatewayUID.'|';