added gateway details while importing and exporting process.
Added zoomfactor in zoom function...
This commit is contained in:
@@ -2489,10 +2489,11 @@ class processMap {
|
||||
$oGateway->remove($sGatewayUID);
|
||||
}
|
||||
//Getting Gateway UID after saving gateway
|
||||
if($sType != 'SEQUENTIAL' && $sGatewayUID == '' && $sDelete == '1')
|
||||
//if($sType != 'SEQUENTIAL' && $sGatewayUID == '' && $sDelete == '1')
|
||||
if($sType != 'SEQUENTIAL')
|
||||
{
|
||||
$oProcessMap = new processMap();
|
||||
$sGatewayUID = $oProcessMap->saveNewGateway($sProcessUID, $sTaskUID);
|
||||
$sGatewayUID = $oProcessMap->saveNewGateway($sProcessUID, $sTaskUID, $sNextTask);
|
||||
}
|
||||
|
||||
$aFields ['GAT_UID'] = (isset($sGatewayUID))?$sGatewayUID:'';
|
||||
@@ -2508,14 +2509,16 @@ class processMap {
|
||||
*
|
||||
* @param string $sProcessUID Default value empty
|
||||
* @param string $sTaskUID Default value empty
|
||||
* @param string $sNextTask Default value empty
|
||||
* @return string $sGatewayUID
|
||||
*/
|
||||
function saveNewGateway($sProcessUID = '', $sTaskUID = '') {
|
||||
function saveNewGateway($sProcessUID = '', $sTaskUID = '', $sNextTask = '') {
|
||||
try {
|
||||
$oTask = new Task();
|
||||
$aTaskDetails = $oTask->load($sTaskUID);
|
||||
$aFields ['PRO_UID'] = $sProcessUID;
|
||||
$aFields ['TAS_UID'] = $sTaskUID;
|
||||
$aFields ['GAT_NEXT_TASK'] = $sNextTask;
|
||||
$aFields ['GAT_X'] = $aTaskDetails['TAS_POSX'] + $aTaskDetails['TAS_WIDTH']/2;
|
||||
$aFields ['GAT_Y'] = $aTaskDetails['TAS_POSY'] + $aTaskDetails['TAS_HEIGHT'] + 10;
|
||||
|
||||
@@ -4646,6 +4649,7 @@ class processMap {
|
||||
function getExtAvailableBBCriteria($sProcessUID = '', $sTaskUID = '')
|
||||
{
|
||||
try {
|
||||
$_SESSION['TASK'] = $sTaskUID;
|
||||
$oTasks = new Tasks ( );
|
||||
$_SESSION['TASK'] = $sTaskUID;
|
||||
$aSteps = $oTasks->getStepsOfTask ( $sTaskUID );
|
||||
|
||||
@@ -1002,6 +1002,26 @@ class Processes {
|
||||
return $this->getAllLanes( $sProUid );
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Gateway Rows from a process and returns those in an array.
|
||||
* @param $sProUid string for the process Uid
|
||||
* @return $oTask array
|
||||
*/
|
||||
function getGatewayRows ($sProUid ){
|
||||
$oTask = new Tasks( );
|
||||
return $oTask->getAllGateways( $sProUid );
|
||||
}
|
||||
|
||||
/**
|
||||
* Create Gateway Rows from a $aGateways array data and returns those in an array.
|
||||
* @param $aGateways array
|
||||
* @return $oGateway array
|
||||
*/
|
||||
function createGatewayRows ($aGateways ){
|
||||
$oTask = new Tasks( );
|
||||
return $oTask->createGatewayRows( $aGateways );
|
||||
}
|
||||
|
||||
/**
|
||||
* Create Lane Rows from a $aLanes array data and returns those in an array.
|
||||
* @param $aLanes array.
|
||||
@@ -2128,6 +2148,7 @@ class Processes {
|
||||
$oData->tasks = $this->getTaskRows( $sProUid );
|
||||
$oData->routes = $this->getRouteRows( $sProUid );
|
||||
$oData->lanes = $this->getLaneRows( $sProUid );
|
||||
$oData->gateways = $this->getGatewayRows( $sProUid );
|
||||
$oData->inputs = $this->getInputRows( $sProUid );
|
||||
$oData->outputs = $this->getOutputRows( $sProUid );
|
||||
$oData->dynaforms = $this->getDynaformRows ( $sProUid );
|
||||
@@ -2991,6 +3012,7 @@ class Processes {
|
||||
$this->createTaskRows($oData->tasks);
|
||||
$this->createRouteRows($oData->routes);
|
||||
$this->createLaneRows($oData->lanes);
|
||||
$this->createGatewayRows($oData->gateways);
|
||||
$this->createDynaformRows($oData->dynaforms);
|
||||
$this->createInputRows($oData->inputs);
|
||||
$this->createOutputRows($oData->outputs);
|
||||
|
||||
@@ -33,6 +33,7 @@ require_once 'classes/model/StepTrigger.php';
|
||||
require_once 'classes/model/Task.php';
|
||||
require_once 'classes/model/TaskUser.php';
|
||||
require_once 'classes/model/Users.php';
|
||||
require_once 'classes/model/Gateway.php';
|
||||
|
||||
/**
|
||||
* Tasks - Tasks class
|
||||
@@ -321,6 +322,48 @@ class Tasks
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all gateways for any Process
|
||||
* @param string $sProUid
|
||||
* @return array
|
||||
*/
|
||||
public function getAllGateways($sProUid)
|
||||
{
|
||||
try {
|
||||
$aGateways = array();
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->add(GatewayPeer::PRO_UID, $sProUid);
|
||||
$oDataset = GatewayPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oDataset->next();
|
||||
while ($aRow = $oDataset->getRow()) {
|
||||
$oGateway = new Gateway();
|
||||
$aGateways[] = $oGateway->Load($aRow['GAT_UID']);
|
||||
$oDataset->next();
|
||||
}
|
||||
return $aGateways;
|
||||
}
|
||||
catch (Exception $oError) {
|
||||
throw($oError);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* creates row tasks from an Task Array
|
||||
* @param string $aTasks
|
||||
* @return array
|
||||
*/
|
||||
public function createGatewayRows( $aGateway )
|
||||
{
|
||||
foreach ( $aGateway as $key => $row ) {
|
||||
$oGateway = new Gateway();
|
||||
if($oGateway->gatewayExists ($row['GAT_UID']))
|
||||
$oGateway->remove($row['GAT_UID']);
|
||||
$res = $oGateway->createRow($row);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete all routes from a task
|
||||
* @param string $sProcessUID
|
||||
|
||||
@@ -113,5 +113,68 @@ class Gateway extends BaseGateway {
|
||||
throw($oError);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* verify if Gateway row specified in [GatUid] exists.
|
||||
*
|
||||
* @param string $sProUid the uid of the Prolication
|
||||
*/
|
||||
|
||||
function gatewayExists ( $GatUid ) {
|
||||
$con = Propel::getConnection(GatewayPeer::DATABASE_NAME);
|
||||
try {
|
||||
$oPro = GatewayPeer::retrieveByPk( $GatUid );
|
||||
if ( is_object($oPro) && get_class ($oPro) == 'Gateway' ) {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
catch (Exception $oError) {
|
||||
throw($oError);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* create a new Gateway
|
||||
*
|
||||
* @param array $aData with new values
|
||||
* @return void
|
||||
*/
|
||||
function createRow($aData)
|
||||
{
|
||||
$con = Propel::getConnection(GatewayPeer::DATABASE_NAME);
|
||||
try
|
||||
{
|
||||
$con->begin();
|
||||
|
||||
$this->fromArray($aData,BasePeer::TYPE_FIELDNAME);
|
||||
if($this->validate())
|
||||
{
|
||||
$this->setGatUid((isset($aData['GAT_UID']) ? $aData['GAT_UID']: ''));
|
||||
$this->setProUid((isset($aData['PRO_UID']) ? $aData['PRO_UID']: ''));
|
||||
$this->setTasUid((isset($aData['TAS_UID']) ? $aData['TAS_UID']: ''));
|
||||
$this->setGatNextTask((isset($aData['GAT_NEXT_TASK']) ? $aData['GAT_NEXT_TASK']: ''));
|
||||
$this->setGatX((isset($aData['GAT_X']) ? $aData['GAT_X']: ''));
|
||||
$this->setGatY((isset($aData['GAT_Y']) ? $aData['GAT_Y']: ''));
|
||||
$this->save();
|
||||
$con->commit();
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
$con->rollback();
|
||||
$e=new Exception("Failed Validation in class ".get_class($this).".");
|
||||
$e->aValidationFailures=$this->getValidationFailures();
|
||||
throw($e);
|
||||
}
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
$con->rollback();
|
||||
throw($e);
|
||||
}
|
||||
}
|
||||
|
||||
} // Gateway
|
||||
|
||||
Reference in New Issue
Block a user