Merged master into dashboards2
This commit is contained in:
@@ -65,23 +65,37 @@ class Consolidated
|
||||
* @param string $app_number, Task Uid
|
||||
* @param string $del_index, Task Uid
|
||||
* @param string $usr_uid, Task Uid
|
||||
* @param string $fieldName, Field Name
|
||||
* @param string $fieldValue, Field Value
|
||||
* @return string
|
||||
*
|
||||
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
||||
* @copyright Colosa - Bolivia
|
||||
*/
|
||||
public function postDerivate ($app_uid, $app_number, $del_index, $usr_uid)
|
||||
public function postDerivate ($app_uid, $app_number, $del_index, $usr_uid, $fieldName='', $fieldValue='')
|
||||
{
|
||||
G::LoadClass("library");
|
||||
G::LoadClass("wsBase");
|
||||
G::LoadClass("case");
|
||||
|
||||
$ws = new \wsBase();
|
||||
$oCase = new \Cases();
|
||||
|
||||
if (!isset($Fields["DEL_INIT_DATE"])) {
|
||||
$oCase->setDelInitDate($app_uid, $del_index);
|
||||
$aFields = $oCase->loadCase($app_uid, $del_index);
|
||||
//Update data grid
|
||||
$aData = $aFields['APP_DATA'];
|
||||
foreach ($aData as $k => $dataField) {
|
||||
if(is_array($dataField)){
|
||||
$pos = count($dataField);
|
||||
if(isset($aData[$k][$pos][$fieldName])){
|
||||
$aData[$k][$pos][$fieldName] = $fieldValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
$aFields['APP_DATA'] = $aData;
|
||||
$oCase->updateCase($app_uid, $aFields);
|
||||
//End update
|
||||
}
|
||||
|
||||
$res = $ws->derivateCase($usr_uid, $app_uid, $del_index, true);
|
||||
@@ -242,7 +256,7 @@ class Consolidated
|
||||
$tableUid = $item["REP_TAB_UID"];
|
||||
$tableName = $row["REP_TAB_NAME"];
|
||||
} else {
|
||||
throw (new Exception("Not found the report table"));
|
||||
throw new \Exception("Not found the report table");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -306,7 +306,8 @@ class ProcessSupervisor
|
||||
$aResp[] = array('pud_uid' => $aRow['STEP_UID'],
|
||||
'pud_position' => $aRow['STEP_POSITION'],
|
||||
'dyn_uid' => $aRow['STEP_UID_OBJ'],
|
||||
'dyn_title' => $aRow['DYN_TITLE']);
|
||||
'dyn_title' => $aRow['DYN_TITLE'],
|
||||
'obj_type' => "DYNAFORM");
|
||||
$oDataset->next();
|
||||
}
|
||||
return $aResp;
|
||||
@@ -370,6 +371,178 @@ class ProcessSupervisor
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return available dynaform supervisor
|
||||
* @param string $sProcessUID
|
||||
*
|
||||
* @return array
|
||||
*
|
||||
* @access public
|
||||
*/
|
||||
public function getAvailableProcessSupervisorDynaformInputDocument($sProcessUID = '')
|
||||
{
|
||||
$arrayProcessSupervisorsObject = array();
|
||||
|
||||
try {
|
||||
$aResp = array();
|
||||
$oCriteria = $this->getProcessSupervisorDynaforms($sProcessUID);
|
||||
$aUIDS = array();
|
||||
foreach ($oCriteria as $oCriteria => $value) {
|
||||
$aUIDS[] = $value["dyn_uid"];
|
||||
}
|
||||
$sDelimiter = \DBAdapter::getStringDelimiter();
|
||||
$oCriteria = new \Criteria('workflow');
|
||||
$oCriteria->addSelectColumn(\DynaformPeer::DYN_UID);
|
||||
$oCriteria->addSelectColumn(\DynaformPeer::PRO_UID);
|
||||
$oCriteria->addAsColumn('DYN_TITLE', 'C.CON_VALUE');
|
||||
$oCriteria->addAlias('C', 'CONTENT');
|
||||
$aConditions = array();
|
||||
$aConditions[] = array(\DynaformPeer::DYN_UID, 'C.CON_ID');
|
||||
$aConditions[] = array('C.CON_CATEGORY', $sDelimiter . 'DYN_TITLE' . $sDelimiter);
|
||||
$aConditions[] = array('C.CON_LANG', $sDelimiter . SYS_LANG . $sDelimiter);
|
||||
$oCriteria->addJoinMC($aConditions, \Criteria::LEFT_JOIN);
|
||||
$oCriteria->add(\DynaformPeer::PRO_UID, $sProcessUID);
|
||||
$oCriteria->add(\DynaformPeer::DYN_TYPE, 'xmlform');
|
||||
$oCriteria->add(\DynaformPeer::DYN_UID, $aUIDS, \Criteria::NOT_IN);
|
||||
$oDataset = \StepSupervisorPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
$oDataset->next();
|
||||
$oDataset = \StepSupervisorPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
$oDataset->next();
|
||||
while ($aRow = $oDataset->getRow()) {
|
||||
$arrayProcessSupervisorsObject[] = array('dyn_uid' => $aRow['DYN_UID'],
|
||||
'dyn_title' => $aRow['DYN_TITLE'],
|
||||
'obj_uid' => $aRow['DYN_UID'],
|
||||
'obj_type' => "DYNAFORM");
|
||||
$oDataset->next();
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
|
||||
try {
|
||||
$oCriteria = $this->getProcessSupervisorInputDocuments($sProcessUID);
|
||||
$aUIDS = array();
|
||||
foreach ($oCriteria as $oCriteria => $value) {
|
||||
$aUIDS[] = $value["input_doc_uid"];
|
||||
}
|
||||
$sDelimiter = \DBAdapter::getStringDelimiter();
|
||||
$oCriteria = new \Criteria('workflow');
|
||||
$oCriteria->addSelectColumn(\InputDocumentPeer::INP_DOC_UID);
|
||||
$oCriteria->addSelectColumn(\InputDocumentPeer::PRO_UID);
|
||||
$oCriteria->addAsColumn('INP_DOC_TITLE', 'C.CON_VALUE');
|
||||
$oCriteria->addAlias('C', 'CONTENT');
|
||||
$aConditions = array();
|
||||
$aConditions[] = array(\InputDocumentPeer::INP_DOC_UID, 'C.CON_ID');
|
||||
$aConditions[] = array('C.CON_CATEGORY', $sDelimiter . 'INP_DOC_TITLE' . $sDelimiter);
|
||||
$aConditions[] = array('C.CON_LANG', $sDelimiter . SYS_LANG . $sDelimiter);
|
||||
$oCriteria->addJoinMC($aConditions, \Criteria::LEFT_JOIN);
|
||||
$oCriteria->add(\InputDocumentPeer::PRO_UID, $sProcessUID);
|
||||
$oCriteria->add(\InputDocumentPeer::INP_DOC_UID, $aUIDS, \Criteria::NOT_IN);
|
||||
$oDataset = \StepSupervisorPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
$oDataset->next();
|
||||
$oDataset = \StepSupervisorPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
$oDataset->next();
|
||||
while ($aRow = $oDataset->getRow()) {
|
||||
$arrayProcessSupervisorsObject[] = array('inp_doc_uid' => $aRow['INP_DOC_UID'],
|
||||
'inp_doc_title' => $aRow['INP_DOC_TITLE'],
|
||||
'obj_uid' => $aRow['INP_DOC_UID'],
|
||||
'obj_type'=>"INPUT-DOCUMENT");
|
||||
$oDataset->next();
|
||||
}
|
||||
return $arrayProcessSupervisorsObject;
|
||||
} catch (Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
public function getProcessSupervisorDynaformsInputsDocuments($sProcessUID = '')
|
||||
{
|
||||
$arrayProcessSupervisorsAssignedObject = array();
|
||||
|
||||
try {
|
||||
$sDelimiter = \DBAdapter::getStringDelimiter();
|
||||
$oCriteria = new \Criteria('workflow');
|
||||
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_UID);
|
||||
$oCriteria->addSelectColumn(\StepSupervisorPeer::PRO_UID);
|
||||
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_TYPE_OBJ);
|
||||
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_UID_OBJ);
|
||||
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_POSITION);
|
||||
$oCriteria->addAsColumn('DYN_TITLE', 'C.CON_VALUE');
|
||||
$oCriteria->addAlias('C', 'CONTENT');
|
||||
$aConditions = array();
|
||||
$aConditions[] = array(\StepSupervisorPeer::STEP_UID_OBJ, \DynaformPeer::DYN_UID );
|
||||
$aConditions[] = array(\StepSupervisorPeer::STEP_TYPE_OBJ, $sDelimiter . 'DYNAFORM' . $sDelimiter );
|
||||
$oCriteria->addJoinMC($aConditions, \Criteria::LEFT_JOIN);
|
||||
$aConditions = array();
|
||||
$aConditions[] = array(\DynaformPeer::DYN_UID, 'C.CON_ID' );
|
||||
$aConditions[] = array('C.CON_CATEGORY', $sDelimiter . 'DYN_TITLE' . $sDelimiter );
|
||||
$aConditions[] = array('C.CON_LANG', $sDelimiter . SYS_LANG . $sDelimiter );
|
||||
$oCriteria->addJoinMC($aConditions, \Criteria::LEFT_JOIN);
|
||||
$oCriteria->add(\StepSupervisorPeer::PRO_UID, $sProcessUID);
|
||||
$oCriteria->add(\StepSupervisorPeer::STEP_TYPE_OBJ, 'DYNAFORM');
|
||||
$oCriteria->addAscendingOrderByColumn(\StepSupervisorPeer::STEP_POSITION);
|
||||
$oDataset = \StepSupervisorPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
$oDataset->next();
|
||||
while ($aRow = $oDataset->getRow()) {
|
||||
$arrayProcessSupervisorsAssignedObject[] = array('pud_uid' => $aRow['STEP_UID'],
|
||||
'pud_position' => $aRow['STEP_POSITION'],
|
||||
'dyn_uid' => $aRow['STEP_UID_OBJ'],
|
||||
'dyn_title' => $aRow['DYN_TITLE'],
|
||||
'obj_title' => "",
|
||||
'obj_uid' => $aRow['STEP_UID_OBJ'],
|
||||
'obj_type' => "DYNAFORM");
|
||||
$oDataset->next();
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
|
||||
try {
|
||||
$sDelimiter = \DBAdapter::getStringDelimiter();
|
||||
$oCriteria = new \Criteria('workflow');
|
||||
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_UID);
|
||||
$oCriteria->addSelectColumn(\StepSupervisorPeer::PRO_UID);
|
||||
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_TYPE_OBJ);
|
||||
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_UID_OBJ);
|
||||
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_POSITION);
|
||||
$oCriteria->addAsColumn('INP_DOC_TITLE', 'C.CON_VALUE');
|
||||
$oCriteria->addAlias('C', 'CONTENT');
|
||||
$aConditions = array();
|
||||
$aConditions[] = array(\StepSupervisorPeer::STEP_UID_OBJ, \InputDocumentPeer::INP_DOC_UID);
|
||||
$aConditions[] = array(\StepSupervisorPeer::STEP_TYPE_OBJ, $sDelimiter . 'INPUT_DOCUMENT' . $sDelimiter);
|
||||
$oCriteria->addJoinMC($aConditions, \Criteria::LEFT_JOIN);
|
||||
$aConditions = array();
|
||||
$aConditions[] = array(\InputDocumentPeer::INP_DOC_UID, 'C.CON_ID');
|
||||
$aConditions[] = array('C.CON_CATEGORY', $sDelimiter . 'INP_DOC_TITLE' . $sDelimiter);
|
||||
$aConditions[] = array('C.CON_LANG', $sDelimiter . SYS_LANG . $sDelimiter);
|
||||
$oCriteria->addJoinMC($aConditions, \Criteria::LEFT_JOIN);
|
||||
$oCriteria->add(\StepSupervisorPeer::PRO_UID, $sProcessUID);
|
||||
$oCriteria->add(\StepSupervisorPeer::STEP_TYPE_OBJ, 'INPUT_DOCUMENT');
|
||||
$oCriteria->addAscendingOrderByColumn(\StepSupervisorPeer::STEP_POSITION);
|
||||
$oDataset = \StepSupervisorPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
$oDataset->next();
|
||||
while ($aRow = $oDataset->getRow()) {
|
||||
$arrayProcessSupervisorsAssignedObject[] = array('pui_uid' => $aRow['STEP_UID'],
|
||||
'pui_position' => $aRow['STEP_POSITION'],
|
||||
'input_doc_uid' => $aRow['STEP_UID_OBJ'],
|
||||
'input_doc_title' => $aRow['INP_DOC_TITLE'],
|
||||
'obj_title' => "",
|
||||
'obj_uid' => $aRow['STEP_UID_OBJ'],
|
||||
'obj_type' => "INPUT-DOCUMENT");
|
||||
$oDataset->next();
|
||||
}
|
||||
return $arrayProcessSupervisorsAssignedObject;
|
||||
} catch (Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return available dynaform supervisor
|
||||
* @param string $sProcessUID
|
||||
@@ -409,7 +582,8 @@ class ProcessSupervisor
|
||||
$oDataset->next();
|
||||
while ($aRow = $oDataset->getRow()) {
|
||||
$aResp[] = array('dyn_uid' => $aRow['DYN_UID'],
|
||||
'dyn_title' => $aRow['DYN_TITLE']);
|
||||
'dyn_title' => $aRow['DYN_TITLE'],
|
||||
'obj_type' => "DYNAFORM");
|
||||
$oDataset->next();
|
||||
}
|
||||
return $aResp;
|
||||
@@ -458,7 +632,8 @@ class ProcessSupervisor
|
||||
$aResp[] = array('pui_uid' => $aRow['STEP_UID'],
|
||||
'pui_position' => $aRow['STEP_POSITION'],
|
||||
'input_doc_uid' => $aRow['STEP_UID_OBJ'],
|
||||
'input_doc_title' => $aRow['INP_DOC_TITLE']);
|
||||
'input_doc_title' => $aRow['INP_DOC_TITLE'],
|
||||
'obj_type' => "INPUT_DOCUMENT");
|
||||
$oDataset->next();
|
||||
}
|
||||
return $aResp;
|
||||
@@ -560,7 +735,8 @@ class ProcessSupervisor
|
||||
$oDataset->next();
|
||||
while ($aRow = $oDataset->getRow()) {
|
||||
$aResp[] = array('inp_doc_uid' => $aRow['INP_DOC_UID'],
|
||||
'inp_doc_title' => $aRow['INP_DOC_TITLE']);
|
||||
'inp_doc_title' => $aRow['INP_DOC_TITLE'],
|
||||
'obj_type'=>"INPUT_DOCUMENT");
|
||||
$oDataset->next();
|
||||
}
|
||||
return $aResp;
|
||||
@@ -691,7 +867,7 @@ class ProcessSupervisor
|
||||
$oStepSupervisor->create(array('PRO_UID' => $sProcessUID,
|
||||
'STEP_TYPE_OBJ' => "DYNAFORM",
|
||||
'STEP_UID_OBJ' => $sDynUID,
|
||||
'STEP_POSITION' => $oStepSupervisor->getNextPosition($sProcessUID, "DYNAFORM")));
|
||||
'STEP_POSITION' => $oStepSupervisor->getNextPositionAll($sProcessUID)));
|
||||
$sDelimiter = \DBAdapter::getStringDelimiter();
|
||||
$oCriteria = new \Criteria('workflow');
|
||||
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_UID);
|
||||
@@ -777,7 +953,7 @@ class ProcessSupervisor
|
||||
$oStepSupervisor->create(array('PRO_UID' => $sProcessUID,
|
||||
'STEP_TYPE_OBJ' => "INPUT_DOCUMENT",
|
||||
'STEP_UID_OBJ' => $sInputDocumentUID,
|
||||
'STEP_POSITION' => $oStepSupervisor->getNextPosition($sProcessUID, "INPUT_DOCUMENT")));
|
||||
'STEP_POSITION' => $oStepSupervisor->getNextPositionAll($sProcessUID)));
|
||||
$sDelimiter = \DBAdapter::getStringDelimiter();
|
||||
$oCriteria = new \Criteria('workflow');
|
||||
$oCriteria->addSelectColumn(\StepSupervisorPeer::STEP_UID);
|
||||
@@ -901,7 +1077,7 @@ class ProcessSupervisor
|
||||
$actualPosition = $oCriteria->getStepPosition();
|
||||
$tempPosition = (isset($sPudPosition)) ? $sPudPosition : $actualPosition;
|
||||
if (isset($tempPosition) && ($tempPosition != $actualPosition)) {
|
||||
$this->moveDynaforms($sProcessUID, $sPudUID, $tempPosition);
|
||||
$this->moveDyanformsInputDocuments($sProcessUID, $sPudUID, $tempPosition);
|
||||
}
|
||||
//Return
|
||||
unset($sPudPosition);
|
||||
@@ -914,6 +1090,8 @@ class ProcessSupervisor
|
||||
return $oCriteria;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Assign a InputDocument supervisor of a process
|
||||
*
|
||||
@@ -928,7 +1106,7 @@ class ProcessSupervisor
|
||||
$actualPosition = $oCriteria->getStepPosition();
|
||||
$tempPosition = (isset($sPuiPosition)) ? $sPuiPosition : $actualPosition;
|
||||
if (isset($tempPosition) && ($tempPosition != $actualPosition)) {
|
||||
$this->moveInputDocuments($sProcessUID, $sPuiUID, $tempPosition);
|
||||
$this->moveDyanformsInputDocuments($sProcessUID, $sPuiUID, $tempPosition);
|
||||
}
|
||||
//Return
|
||||
unset($sPuiPosition);
|
||||
@@ -941,6 +1119,71 @@ class ProcessSupervisor
|
||||
return $oCriteria;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate Process Uid
|
||||
* @var string $pro_uid. Uid for Process
|
||||
* @var string $pu_uid. Uid for Step
|
||||
* @var string $pu_pos. Position for Step
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function moveDyanformsInputDocuments($pro_uid, $pu_uid, $pu_pos)
|
||||
{
|
||||
$aSteps = $this->getProcessSupervisorDynaformsInputsDocuments($pro_uid);
|
||||
$step_pos = $pu_pos;
|
||||
$step_uid = $pu_uid;
|
||||
foreach ($aSteps as $dataStep) {
|
||||
if($dataStep['obj_type'] == 'DYNAFORM'){
|
||||
if ($dataStep['pud_uid'] == $step_uid) {
|
||||
$prStepPos = (int)$dataStep['pud_position'];
|
||||
}
|
||||
}else{
|
||||
if ($dataStep['pui_uid'] == $step_uid) {
|
||||
$prStepPos = (int)$dataStep['pui_position'];
|
||||
}
|
||||
}
|
||||
}
|
||||
$seStepPos = $step_pos;
|
||||
//Principal Step is up
|
||||
if ($prStepPos == $seStepPos) {
|
||||
return true;
|
||||
} elseif ($prStepPos < $seStepPos) {
|
||||
$modPos = 'UP';
|
||||
$newPos = $seStepPos;
|
||||
$iniPos = $prStepPos+1;
|
||||
$finPos = $seStepPos;
|
||||
} else {
|
||||
$modPos = 'DOWN';
|
||||
$newPos = $seStepPos;
|
||||
$iniPos = $seStepPos;
|
||||
$finPos = $prStepPos-1;
|
||||
}
|
||||
$range = range($iniPos, $finPos);
|
||||
foreach ($aSteps as $dataStep) {
|
||||
if($dataStep['obj_type'] == 'DYNAFORM'){
|
||||
if ((in_array($dataStep['pud_position'], $range)) && ($dataStep['pud_uid'] != $step_uid)) {
|
||||
$stepChangeIds[] = $dataStep['pud_uid'];
|
||||
$stepChangePos[] = $dataStep['pud_position'];
|
||||
}
|
||||
}else{
|
||||
if ((in_array($dataStep['pui_position'], $range)) && ($dataStep['pui_uid'] != $step_uid)) {
|
||||
$stepChangeIds[] = $dataStep['pui_uid'];
|
||||
$stepChangePos[] = $dataStep['pui_position'];
|
||||
}
|
||||
}
|
||||
}
|
||||
foreach ($stepChangeIds as $key => $value) {
|
||||
if ($modPos == 'UP') {
|
||||
$tempPos = ((int)$stepChangePos[$key])-1;
|
||||
$this ->changePosStep($value, $tempPos);
|
||||
} else {
|
||||
$tempPos = ((int)$stepChangePos[$key])+1;
|
||||
$this ->changePosStep($value, $tempPos);
|
||||
}
|
||||
}
|
||||
$this ->changePosStep($value, $tempPos);
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate Process Uid
|
||||
* @var string $pro_uid. Uid for Process
|
||||
|
||||
621
workflow/engine/src/ProcessMaker/BusinessModel/ScriptTask.php
Normal file
621
workflow/engine/src/ProcessMaker/BusinessModel/ScriptTask.php
Normal file
@@ -0,0 +1,621 @@
|
||||
<?php
|
||||
namespace ProcessMaker\BusinessModel;
|
||||
|
||||
class ScriptTask
|
||||
{
|
||||
private $arrayFieldDefinition = array(
|
||||
"SCRTAS_UID" => array("type" => "string", "required" => false, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "scrtasUid"),
|
||||
"PRJ_UID" => array("type" => "string", "required" => false, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "projectUid"),
|
||||
"ACT_UID" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "actUid"),
|
||||
"SCRTAS_OBJ_TYPE" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array("TRIGGER"), "fieldNameAux" => "scrtasObjType"),
|
||||
"SCRTAS_OBJ_UID" => array("type" => "string", "required" => false, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "scrtasObjUid")
|
||||
);
|
||||
|
||||
private $formatFieldNameInUppercase = true;
|
||||
|
||||
private $arrayFieldNameForException = array();
|
||||
|
||||
/**
|
||||
* Constructor of the class
|
||||
*
|
||||
* return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
try {
|
||||
foreach ($this->arrayFieldDefinition as $key => $value) {
|
||||
$this->arrayFieldNameForException[$value["fieldNameAux"]] = $key;
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the format of the fields name (uppercase, lowercase)
|
||||
*
|
||||
* @param bool $flag Value that set the format
|
||||
*
|
||||
* return void
|
||||
*/
|
||||
public function setFormatFieldNameInUppercase($flag)
|
||||
{
|
||||
try {
|
||||
$this->formatFieldNameInUppercase = $flag;
|
||||
|
||||
$this->setArrayFieldNameForException($this->arrayFieldNameForException);
|
||||
} catch (\Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set exception messages for fields
|
||||
*
|
||||
* @param array $arrayData Data with the fields
|
||||
*
|
||||
* return void
|
||||
*/
|
||||
public function setArrayFieldNameForException(array $arrayData)
|
||||
{
|
||||
try {
|
||||
foreach ($arrayData as $key => $value) {
|
||||
$this->arrayFieldNameForException[$key] = $this->getFieldNameByFormatFieldName($value);
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the name of the field according to the format
|
||||
*
|
||||
* @param string $fieldName Field name
|
||||
*
|
||||
* return string Return the field name according the format
|
||||
*/
|
||||
public function getFieldNameByFormatFieldName($fieldName)
|
||||
{
|
||||
try {
|
||||
//Return
|
||||
return ($this->formatFieldNameInUppercase)? strtoupper($fieldName) : strtolower($fieldName);
|
||||
} catch (\Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if exists the Script-Task
|
||||
*
|
||||
* @param string $scriptTaskUid Unique id of Script-Task
|
||||
*
|
||||
* return bool Return true if exists the Script-Task, false otherwise
|
||||
*/
|
||||
public function exists($scriptTaskUid)
|
||||
{
|
||||
try {
|
||||
$obj = \ScriptTaskPeer::retrieveByPK($scriptTaskUid);
|
||||
|
||||
//Return
|
||||
return (!is_null($obj))? true : false;
|
||||
} catch (\Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify if does not exists the Script-Task
|
||||
*
|
||||
* @param string $scriptTaskUid Unique id of Script-Task
|
||||
* @param string $fieldNameForException Field name for the exception
|
||||
*
|
||||
* return void Throw exception if does not exists the Script-Task
|
||||
*/
|
||||
public function throwExceptionIfNotExistsScriptTask($scriptTaskUid, $fieldNameForException)
|
||||
{
|
||||
try {
|
||||
if (!$this->exists($scriptTaskUid)) {
|
||||
throw new \Exception(\G::LoadTranslation("ID_SCRIPT_TASK_DOES_NOT_EXIST", array($fieldNameForException, $scriptTaskUid)));
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate the data if they are invalid (INSERT and UPDATE)
|
||||
*
|
||||
* @param string $scriptTaskUid Unique id of Script-Task
|
||||
* @param string $projectUid Unique id of Project
|
||||
* @param array $arrayData Data
|
||||
*
|
||||
* return void Throw exception if data has an invalid value
|
||||
*/
|
||||
public function throwExceptionIfDataIsInvalid($scriptTaskUid, $projectUid, array $arrayData)
|
||||
{
|
||||
try {
|
||||
//Set variables
|
||||
$arrayScriptTaskData = ($scriptTaskUid == "")? array() : $this->getScriptTask($scriptTaskUid, true);
|
||||
$flagInsert = ($scriptTaskUid == "")? true : false;
|
||||
|
||||
$arrayFinalData = array_merge($arrayScriptTaskData, $arrayData);
|
||||
|
||||
//Verify data - Field definition
|
||||
$process = new \ProcessMaker\BusinessModel\Process();
|
||||
|
||||
$process->throwExceptionIfDataNotMetFieldDefinition($arrayData, $this->arrayFieldDefinition, $this->arrayFieldNameForException, $flagInsert);
|
||||
|
||||
//---
|
||||
if (isset($arrayData["ACT_UID"])) {
|
||||
$obj = \BpmnActivityPeer::retrieveByPK($arrayData["ACT_UID"]);
|
||||
|
||||
if (is_null($obj)) {
|
||||
throw new \Exception(\G::LoadTranslation("ID_SCRIPT_TASK_DOES_NOT_ACTIVITY", array($this->arrayFieldNameForException["actUid"], $arrayData["ACT_UID"])));
|
||||
}
|
||||
}
|
||||
|
||||
//---
|
||||
if (isset($arrayData["SCRTAS_OBJ_UID"])) {
|
||||
$obj = \TriggersPeer::retrieveByPK($arrayData["SCRTAS_OBJ_UID"]);
|
||||
|
||||
if (is_null($obj)) {
|
||||
throw new \Exception(\G::LoadTranslation("ID_SCRIPT_TASK_DOES_NOT_TRIGGER", array($this->arrayFieldNameForException["scrtasObjUid"], $arrayData["SCRTAS_OBJ_UID"])));
|
||||
}
|
||||
}
|
||||
|
||||
//---
|
||||
if (isset($arrayData["ACT_UID"])) {
|
||||
$criteria = new \Criteria("workflow");
|
||||
|
||||
$criteria->addSelectColumn(\BpmnActivityPeer::ACT_UID);
|
||||
$criteria->add(\BpmnActivityPeer::ACT_UID, $arrayData["ACT_UID"], \Criteria::EQUAL);
|
||||
$criteria->add(\BpmnActivityPeer::PRJ_UID, $projectUid, \Criteria::EQUAL);
|
||||
|
||||
$rsCriteria = \BpmnActivityPeer::doSelectRS($criteria);
|
||||
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
if (!$rsCriteria->next()) {
|
||||
throw new \Exception(\G::LoadTranslation("ID_SCRIPT_TASK_ACTIVITY_NOT_BELONG_TO_PROJECT", array($arrayData["ACT_UID"], $projectUid)));
|
||||
}
|
||||
}
|
||||
|
||||
//---
|
||||
if (isset($arrayData["SCRTAS_OBJ_UID"])) {
|
||||
$criteria = new \Criteria("workflow");
|
||||
|
||||
$criteria->addSelectColumn(\TriggersPeer::TRI_UID);
|
||||
$criteria->add(\TriggersPeer::TRI_UID, $arrayData["SCRTAS_OBJ_UID"], \Criteria::EQUAL);
|
||||
$criteria->add(\TriggersPeer::PRO_UID, $projectUid, \Criteria::EQUAL);
|
||||
|
||||
$rsCriteria = \TriggersPeer::doSelectRS($criteria);
|
||||
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
if (!$rsCriteria->next()) {
|
||||
throw new \Exception(\G::LoadTranslation("ID_SCRIPT_TASK_TRIGGER_NOT_BELONG_TO_PROJECT", array($arrayData["SCRTAS_OBJ_UID"], $projectUid)));
|
||||
}
|
||||
}
|
||||
|
||||
//---
|
||||
$obj = \BpmnActivityPeer::retrieveByPK($arrayFinalData["ACT_UID"]);
|
||||
|
||||
if ($obj->getActTaskType() != "SCRIPTTASK") {
|
||||
throw new \Exception(\G::LoadTranslation("ID_SCRIPT_TASK_TYPE_ACTIVITY_NOT_IS_SCRIPTTASK", array($this->arrayFieldNameForException["actUid"], $arrayData["ACT_UID"])));
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create Script-Task for a Project
|
||||
*
|
||||
* @param string $projectUid Unique id of Project
|
||||
* @param array $arrayData Data
|
||||
*
|
||||
* return array Return data of the new Script-Task created
|
||||
*/
|
||||
public function create($projectUid, array $arrayData)
|
||||
{
|
||||
try {
|
||||
//Verify data
|
||||
$process = new \ProcessMaker\BusinessModel\Process();
|
||||
$validator = new \ProcessMaker\BusinessModel\Validator();
|
||||
|
||||
$validator->throwExceptionIfDataIsNotArray($arrayData, "\$arrayData");
|
||||
$validator->throwExceptionIfDataIsEmpty($arrayData, "\$arrayData");
|
||||
|
||||
//Set data
|
||||
$arrayData = array_change_key_case($arrayData, CASE_UPPER);
|
||||
|
||||
unset($arrayData["SCRTAS_UID"]);
|
||||
unset($arrayData["PRJ_UID"]);
|
||||
|
||||
//Verify data
|
||||
$process->throwExceptionIfNotExistsProcess($projectUid, $this->arrayFieldNameForException["projectUid"]);
|
||||
|
||||
$this->throwExceptionIfDataIsInvalid("", $projectUid, $arrayData);
|
||||
|
||||
//Create
|
||||
$cnn = \Propel::getConnection("workflow");
|
||||
|
||||
try {
|
||||
$scriptTask = new \ScriptTask();
|
||||
|
||||
$scriptTask->fromArray($arrayData, \BasePeer::TYPE_FIELDNAME);
|
||||
|
||||
$scriptTaskUid = \ProcessMaker\Util\Common::generateUID();
|
||||
|
||||
$scriptTask->setScrtasUid($scriptTaskUid);
|
||||
$scriptTask->setPrjUid($projectUid);
|
||||
|
||||
if ($scriptTask->validate()) {
|
||||
$cnn->begin();
|
||||
|
||||
$result = $scriptTask->save();
|
||||
|
||||
$cnn->commit();
|
||||
|
||||
//Return
|
||||
return $this->getScriptTask($scriptTaskUid);
|
||||
} else {
|
||||
$msg = "";
|
||||
|
||||
foreach ($scriptTask->getValidationFailures() as $validationFailure) {
|
||||
$msg = $msg . (($msg != "")? "\n" : "") . $validationFailure->getMessage();
|
||||
}
|
||||
|
||||
throw new \Exception(\G::LoadTranslation("ID_RECORD_CANNOT_BE_CREATED") . (($msg != "")? "\n" . $msg : ""));
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$cnn->rollback();
|
||||
|
||||
throw $e;
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Update Script-Task
|
||||
*
|
||||
* @param string $scriptTaskUid Unique id of Script-Task
|
||||
* @param array $arrayData Data
|
||||
*
|
||||
* return array Return data of the Script-Task updated
|
||||
*/
|
||||
public function update($scriptTaskUid, array $arrayData)
|
||||
{
|
||||
try {
|
||||
//Verify data
|
||||
$process = new \ProcessMaker\BusinessModel\Process();
|
||||
$validator = new \ProcessMaker\BusinessModel\Validator();
|
||||
|
||||
$validator->throwExceptionIfDataIsNotArray($arrayData, "\$arrayData");
|
||||
$validator->throwExceptionIfDataIsEmpty($arrayData, "\$arrayData");
|
||||
|
||||
//Set data
|
||||
$arrayData = array_change_key_case($arrayData, CASE_UPPER);
|
||||
$arrayDataBackup = $arrayData;
|
||||
|
||||
unset($arrayData["SCRTAS_UID"]);
|
||||
unset($arrayData["PRJ_UID"]);
|
||||
|
||||
//Set variables
|
||||
$arrayScriptTaskData = $this->getScriptTask($scriptTaskUid, true);
|
||||
|
||||
//Verify data
|
||||
$this->throwExceptionIfNotExistsScriptTask($scriptTaskUid, $this->arrayFieldNameForException["scrtasUid"]);
|
||||
|
||||
$this->throwExceptionIfDataIsInvalid($scriptTaskUid, $arrayScriptTaskData["PRJ_UID"], $arrayData);
|
||||
|
||||
//Update
|
||||
$cnn = \Propel::getConnection("workflow");
|
||||
|
||||
try {
|
||||
$scriptTask = \ScriptTaskPeer::retrieveByPK($scriptTaskUid);
|
||||
|
||||
$scriptTask->fromArray($arrayData, \BasePeer::TYPE_FIELDNAME);
|
||||
|
||||
if ($scriptTask->validate()) {
|
||||
$cnn->begin();
|
||||
|
||||
$result = $scriptTask->save();
|
||||
|
||||
$cnn->commit();
|
||||
|
||||
//Return
|
||||
$arrayData = $arrayDataBackup;
|
||||
|
||||
if (!$this->formatFieldNameInUppercase) {
|
||||
$arrayData = array_change_key_case($arrayData, CASE_LOWER);
|
||||
}
|
||||
|
||||
return $arrayData;
|
||||
} else {
|
||||
$msg = "";
|
||||
|
||||
foreach ($scriptTask->getValidationFailures() as $validationFailure) {
|
||||
$msg = $msg . (($msg != "")? "\n" : "") . $validationFailure->getMessage();
|
||||
}
|
||||
|
||||
throw new \Exception(\G::LoadTranslation("ID_REGISTRY_CANNOT_BE_UPDATED") . (($msg != "")? "\n" . $msg : ""));
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$cnn->rollback();
|
||||
|
||||
throw $e;
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete Script-Task
|
||||
*
|
||||
* @param string $scriptTaskUid Unique id of Script-Task
|
||||
*
|
||||
* return void
|
||||
*/
|
||||
public function delete($scriptTaskUid)
|
||||
{
|
||||
try {
|
||||
//Verify data
|
||||
$this->throwExceptionIfNotExistsScriptTask($scriptTaskUid, $this->arrayFieldNameForException["scrtasUid"]);
|
||||
|
||||
//Delete
|
||||
$criteria = new \Criteria("workflow");
|
||||
|
||||
$criteria->add(\ScriptTaskPeer::SCRTAS_UID, $scriptTaskUid, \Criteria::EQUAL);
|
||||
|
||||
$result = \ScriptTaskPeer::doDelete($criteria);
|
||||
} catch (\Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete Script-Task
|
||||
*
|
||||
* @param array $arrayCondition Conditions
|
||||
*
|
||||
* return void
|
||||
*/
|
||||
public function deleteWhere(array $arrayCondition)
|
||||
{
|
||||
try {
|
||||
//Delete
|
||||
$criteria = new \Criteria("workflow");
|
||||
|
||||
foreach ($arrayCondition as $key => $value) {
|
||||
if (is_array($value)) {
|
||||
$criteria->add($key, $value[0], $value[1]);
|
||||
} else {
|
||||
$criteria->add($key, $value, \Criteria::EQUAL);
|
||||
}
|
||||
}
|
||||
|
||||
$result = \ScriptTaskPeer::doDelete($criteria);
|
||||
} catch (\Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get criteria for Script-Task
|
||||
*
|
||||
* return object
|
||||
*/
|
||||
public function getScriptTaskCriteria()
|
||||
{
|
||||
try {
|
||||
$criteria = new \Criteria("workflow");
|
||||
|
||||
$criteria->addSelectColumn(\ScriptTaskPeer::SCRTAS_UID);
|
||||
$criteria->addSelectColumn(\ScriptTaskPeer::PRJ_UID);
|
||||
$criteria->addSelectColumn(\ScriptTaskPeer::ACT_UID);
|
||||
$criteria->addSelectColumn(\ScriptTaskPeer::SCRTAS_OBJ_TYPE);
|
||||
$criteria->addSelectColumn(\ScriptTaskPeer::SCRTAS_OBJ_UID);
|
||||
|
||||
return $criteria;
|
||||
} catch (\Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get data of a Script-Task from a record
|
||||
*
|
||||
* @param array $record Record
|
||||
*
|
||||
* return array Return an array with data Script-Task
|
||||
*/
|
||||
public function getScriptTaskDataFromRecord(array $record)
|
||||
{
|
||||
try {
|
||||
return array(
|
||||
$this->getFieldNameByFormatFieldName("SCRTAS_UID") => $record["SCRTAS_UID"],
|
||||
$this->getFieldNameByFormatFieldName("PRJ_UID") => $record["PRJ_UID"],
|
||||
$this->getFieldNameByFormatFieldName("ACT_UID") => $record["ACT_UID"],
|
||||
$this->getFieldNameByFormatFieldName("SCRTAS_OBJ_TYPE") => $record["SCRTAS_OBJ_TYPE"],
|
||||
$this->getFieldNameByFormatFieldName("SCRTAS_OBJ_UID") => $record["SCRTAS_OBJ_UID"]
|
||||
);
|
||||
} catch (\Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get data of a Script-Task
|
||||
*
|
||||
* @param string $scriptTaskUid Unique id of Script-Task
|
||||
* @param bool $flagGetRecord Value that set the getting
|
||||
*
|
||||
* return array Return an array with data of a Script-Task
|
||||
*/
|
||||
public function getScriptTask($scriptTaskUid, $flagGetRecord = false)
|
||||
{
|
||||
try {
|
||||
//Verify data
|
||||
$this->throwExceptionIfNotExistsScriptTask($scriptTaskUid, $this->arrayFieldNameForException["scrtasUid"]);
|
||||
|
||||
//Get data
|
||||
$criteria = $this->getScriptTaskCriteria();
|
||||
|
||||
$criteria->add(\ScriptTaskPeer::SCRTAS_UID, $scriptTaskUid, \Criteria::EQUAL);
|
||||
|
||||
$rsCriteria = \ScriptTaskPeer::doSelectRS($criteria);
|
||||
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
$result = $rsCriteria->next();
|
||||
|
||||
$row = $rsCriteria->getRow();
|
||||
|
||||
//Return
|
||||
return (!$flagGetRecord)? $this->getScriptTaskDataFromRecord($row) : $row;
|
||||
} catch (\Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all Script-Tasks
|
||||
*
|
||||
* @param string $scriptTaskDefUid Unique id of Project
|
||||
*
|
||||
* return array Return an array with all Script-Tasks
|
||||
*/
|
||||
public function getScriptTasks($projectUid)
|
||||
{
|
||||
try {
|
||||
$arrayScriptTask = array();
|
||||
|
||||
//Verify data
|
||||
$process = new \ProcessMaker\BusinessModel\Process();
|
||||
|
||||
$process->throwExceptionIfNotExistsProcess($projectUid, $this->arrayFieldNameForException["projectUid"]);
|
||||
|
||||
//Get data
|
||||
$criteria = $this->getScriptTaskCriteria();
|
||||
|
||||
$criteria->add(\ScriptTaskPeer::PRJ_UID, $projectUid, \Criteria::EQUAL);
|
||||
|
||||
$rsCriteria = \ScriptTaskPeer::doSelectRS($criteria);
|
||||
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
while ($rsCriteria->next()) {
|
||||
$row = $rsCriteria->getRow();
|
||||
|
||||
$arrayScriptTask[] = $this->getScriptTaskDataFromRecord($row);
|
||||
}
|
||||
|
||||
//Return
|
||||
return $arrayScriptTask;
|
||||
} catch (\Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get data of a Script-Task by unique id of Activity
|
||||
*
|
||||
* @param string $projectUid Unique id of Project
|
||||
* @param string $activityUid Unique id of Event
|
||||
*
|
||||
* return array Return an array with data of a Script-Task by unique id of Activity
|
||||
*/
|
||||
public function getScriptTaskByActivity($projectUid, $activityUid)
|
||||
{
|
||||
try {
|
||||
//Verify data
|
||||
$process = new \ProcessMaker\BusinessModel\Process();
|
||||
|
||||
$process->throwExceptionIfNotExistsProcess($projectUid, $this->arrayFieldNameForException["projectUid"]);
|
||||
|
||||
//---
|
||||
$obj = \BpmnActivityPeer::retrieveByPK($activityUid);
|
||||
|
||||
if (is_null($obj)) {
|
||||
throw new \Exception(\G::LoadTranslation("ID_SCRIPT_TASK_DOES_NOT_ACTIVITY", array($this->arrayFieldNameForException["actUid"], $activityUid)));
|
||||
}
|
||||
|
||||
//---
|
||||
$criteria = new \Criteria("workflow");
|
||||
|
||||
$criteria->addSelectColumn(\BpmnActivityPeer::ACT_UID);
|
||||
$criteria->add(\BpmnActivityPeer::PRJ_UID, $projectUid, \Criteria::EQUAL);
|
||||
$criteria->add(\BpmnActivityPeer::ACT_UID, $activityUid, \Criteria::EQUAL);
|
||||
|
||||
$rsCriteria = \BpmnActivityPeer::doSelectRS($criteria);
|
||||
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
if (!$rsCriteria->next()) {
|
||||
throw new \Exception(\G::LoadTranslation("ID_SCRIPT_TASK_ACTIVITY_NOT_BELONG_TO_PROJECT", array($arrayData["ACT_UID"], $projectUid)));
|
||||
}
|
||||
|
||||
//---
|
||||
$criteria = $this->getScriptTaskCriteria();
|
||||
|
||||
$criteria->add(\ScriptTaskPeer::PRJ_UID, $projectUid, \Criteria::EQUAL);
|
||||
$criteria->add(\ScriptTaskPeer::ACT_UID, $activityUid, \Criteria::EQUAL);
|
||||
|
||||
$rsCriteria = \ScriptTaskPeer::doSelectRS($criteria);
|
||||
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
//Return
|
||||
return ($rsCriteria->next())? $this->getScriptTaskDataFromRecord($rsCriteria->getRow()) : array();
|
||||
} catch (\Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute Script
|
||||
*
|
||||
* @param string $activityUid Unique id of Event
|
||||
* @param array $arrayApplicationData Case data
|
||||
*
|
||||
* return array
|
||||
*/
|
||||
public function execScriptByActivityUid($activityUid, array $arrayApplicationData)
|
||||
{
|
||||
try {
|
||||
$task = \TaskPeer::retrieveByPK($activityUid);
|
||||
|
||||
if (!is_null($task) && $task->getTasType() == "SCRIPT-TASK") {
|
||||
$criteria = new \Criteria("workflow");
|
||||
|
||||
$criteria->addSelectColumn(\ScriptTaskPeer::SCRTAS_OBJ_UID);
|
||||
|
||||
$criteria->add(\ScriptTaskPeer::ACT_UID, $activityUid, \Criteria::EQUAL);
|
||||
|
||||
$rsCriteria = \ScriptTaskPeer::doSelectRS($criteria);
|
||||
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
if ($rsCriteria->next()) {
|
||||
$row = $rsCriteria->getRow();
|
||||
|
||||
$scriptTasObjUid = $row["SCRTAS_OBJ_UID"];
|
||||
|
||||
$trigger = \TriggersPeer::retrieveByPK($scriptTasObjUid);
|
||||
|
||||
if (!is_null($trigger)) {
|
||||
$pmScript = new \PMScript();
|
||||
$pmScript->setFields($arrayApplicationData);
|
||||
$pmScript->setScript($trigger->getTriWebbot());
|
||||
|
||||
$result = $pmScript->execute();
|
||||
|
||||
$arrayApplicationData = $pmScript->aFields;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Return
|
||||
return $arrayApplicationData;
|
||||
} catch (\Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user