This commit is contained in:
Julio Cesar Laura Avendaño
2018-10-30 13:41:00 -04:00
parent 9553a5b615
commit ea7292e6e7
10 changed files with 249 additions and 110 deletions

View File

@@ -418,18 +418,19 @@ function orderGrid ($dataM, $field, $ord = 'ASC')
* @return array | $aGrid | Grid | Grid with executed operation
*
*/
function evaluateFunction ($aGrid, $sExpresion)
function evaluateFunction($aGrid, $sExpresion)
{
$sExpresion = str_replace( 'Array', '$this->aFields', $sExpresion );
$sExpresion = str_replace('Array', '$this->aFields', $sExpresion);
$sExpresion .= ';';
$pmScript = new PMScript();
$pmScript->setScript( $sExpresion );
$pmScript->setScript($sExpresion);
$pmScript->setExecutedOn(PMScript::EVALUATE_FUNCTION);
for ($i = 1; $i <= count( $aGrid ); $i ++) {
for ($i = 1; $i <= count($aGrid); $i ++) {
$aFields = $aGrid[$i];
$pmScript->setFields( $aFields );
$pmScript->setFields($aFields);
$pmScript->execute();
@@ -2030,13 +2031,19 @@ function PMFProcessList () //its test was successfull
*/
function PMFSendVariables ($caseId, $variables)
{
$ws = new WsBase();
global $oPMScript;
if (!isset($oPMScript)) {
$oPMScript = new PMScript();
}
$ws = new WsBase();
$result = $ws->sendVariables($caseId, $variables,
$oPMScript->executedOn() === PMScript::AFTER_ROUTING);
$result = $ws->sendVariables( $caseId, $variables );
if ($result->status_code == 0) {
if (isset($_SESSION['APPLICATION'])) {
if ($caseId == $_SESSION['APPLICATION']) {
global $oPMScript;
if (isset($oPMScript->aFields) && is_array($oPMScript->aFields)) {
if (is_array($variables)) {
$oPMScript->aFields = array_merge($oPMScript->aFields, $variables);
@@ -2432,7 +2439,7 @@ function PMFgetLabelOption ($PROCESS, $DYNAFORM_UID, $FIELD_NAME, $FIELD_SELECTE
* @return none | $none | None | None
*
*/
function PMFRedirectToStep ($sApplicationUID, $iDelegation, $sStepType, $sStepUid)
function PMFRedirectToStep($sApplicationUID, $iDelegation, $sStepType, $sStepUid)
{
$g = new G();
@@ -2444,26 +2451,27 @@ function PMFRedirectToStep ($sApplicationUID, $iDelegation, $sStepType, $sStepUi
$_SESSION["INDEX"] = $iDelegation;
require_once 'classes/model/AppDelegation.php';
$oCriteria = new Criteria( 'workflow' );
$oCriteria->addSelectColumn( AppDelegationPeer::TAS_UID );
$oCriteria->add( AppDelegationPeer::APP_UID, $sApplicationUID );
$oCriteria->add( AppDelegationPeer::DEL_INDEX, $iDelegation );
$oDataset = AppDelegationPeer::doSelectRS( $oCriteria );
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
$oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn(AppDelegationPeer::TAS_UID);
$oCriteria->add(AppDelegationPeer::APP_UID, $sApplicationUID);
$oCriteria->add(AppDelegationPeer::DEL_INDEX, $iDelegation);
$oDataset = AppDelegationPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
global $oPMScript;
$aRow = $oDataset->getRow();
if ($aRow) {
require_once 'classes/model/Step.php';
$oStep = new Step();
$oTheStep = $oStep->loadByType( $aRow['TAS_UID'], $sStepType, $sStepUid );
$oTheStep = $oStep->loadByType($aRow['TAS_UID'], $sStepType, $sStepUid);
$bContinue = true;
$oCase = new Cases();
$aFields = $oCase->loadCase( $sApplicationUID );
$aFields = $oCase->loadCase($sApplicationUID);
if ($oTheStep->getStepCondition() != '') {
$pmScript = new PMScript();
$pmScript->setFields( $aFields['APP_DATA'] );
$pmScript->setScript( $oTheStep->getStepCondition() );
$pmScript->setFields($aFields['APP_DATA']);
$pmScript->setScript($oTheStep->getStepCondition());
$pmScript->setExecutedOn(PMScript::CONDITION);
$bContinue = $pmScript->evaluate();
}
if ($bContinue) {
@@ -2485,18 +2493,18 @@ function PMFRedirectToStep ($sApplicationUID, $iDelegation, $sStepType, $sStepUi
break;
}
// save data
if (! is_null( $oPMScript )) {
if (!is_null($oPMScript)) {
$aFields['APP_DATA'] = $oPMScript->aFields;
unset($aFields['APP_STATUS']);
unset($aFields['APP_PROC_STATUS']);
unset($aFields['APP_PROC_CODE']);
unset($aFields['APP_PIN']);
$oCase->updateCase( $sApplicationUID, $aFields );
$oCase->updateCase($sApplicationUID, $aFields);
}
$g->sessionVarRestore();
G::header( 'Location: ' . 'cases_Step?TYPE=' . $sStepType . '&UID=' . $sStepUid . '&POSITION=' . $oTheStep->getStepPosition() . '&ACTION=' . $sAction );
G::header('Location: ' . 'cases_Step?TYPE=' . $sStepType . '&UID=' . $sStepUid . '&POSITION=' . $oTheStep->getStepPosition() . '&ACTION=' . $sAction);
die();
}
}
@@ -2980,11 +2988,17 @@ function PMFRemoveMask ($field, $separator = '.', $currency = '')
function PMFSaveCurrentData ()
{
global $oPMScript;
if (!isset($oPMScript)) {
$oPMScript = new PMScript();
}
$response = 0;
if (isset($_SESSION['APPLICATION']) && isset($oPMScript->aFields)) {
$ws = new WsBase();
$result = $ws->sendVariables($_SESSION['APPLICATION'], $oPMScript->aFields);
$result = $ws->sendVariables($_SESSION['APPLICATION'], $oPMScript->aFields,
$oPMScript->executedOn() === PMScript::AFTER_ROUTING);
$response = $result->status_code == 0 ? 1 : 0;
}
return $response;