BUG 9200 "La variable @@APPLICATION vacia" SOLVED
- PMFDerivateCase not set variables of the case to derivate - In the "derivateCase" method of the class "class.wsBase.php", no set variables of the case to derivate - Problem solved, now set appropriate variables to derivate
This commit is contained in:
@@ -2845,67 +2845,82 @@ $output = $outputHeader.$output;
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return date in Y-m-d format
|
* Return date in Y-m-d format
|
||||||
*
|
*
|
||||||
* @author Fernando Ontiveros Lira <fernando@colosa.com>
|
* @author Fernando Ontiveros Lira <fernando@colosa.com>
|
||||||
* @access public
|
* @access public
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function CurDate($sFormat = '')
|
function CurDate($sFormat='')
|
||||||
{
|
{
|
||||||
$sFormat = ( $sFormat != '' )? $sFormat: 'Y-m-d H:i:s';
|
$sFormat = ($sFormat != '')? $sFormat : 'Y-m-d H:i:s';
|
||||||
return date($sFormat);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
return date($sFormat);
|
||||||
* Return the System defined constants and Application variables
|
|
||||||
* Constants: SYS_*
|
|
||||||
* Sessions : USER_* , URS_*
|
|
||||||
*/
|
|
||||||
function getSystemConstants($params = null)
|
|
||||||
{
|
|
||||||
$t1 = G::microtime_float();
|
|
||||||
$sysCon = array();
|
|
||||||
if (defined("SYS_LANG")) $sysCon["SYS_LANG"] = SYS_LANG;
|
|
||||||
if (defined("SYS_SKIN")) $sysCon["SYS_SKIN"] = SYS_SKIN;
|
|
||||||
if (defined("SYS_SYS")) $sysCon["SYS_SYS"] = SYS_SYS;
|
|
||||||
|
|
||||||
$sysCon["APPLICATION"] = (isset($_SESSION["APPLICATION"]))? $_SESSION["APPLICATION"] : "";
|
|
||||||
$sysCon["PROCESS"] = (isset($_SESSION["PROCESS"]))? $_SESSION["PROCESS"] : "";
|
|
||||||
$sysCon["TASK"] = (isset($_SESSION["TASK"]))? $_SESSION["TASK"] : "";
|
|
||||||
$sysCon["INDEX"] = (isset($_SESSION["INDEX"]))? $_SESSION["INDEX"] : "";
|
|
||||||
$sysCon["USER_LOGGED"] = (isset($_SESSION["USER_LOGGED"]))? $_SESSION["USER_LOGGED"] : "";
|
|
||||||
$sysCon["USR_USERNAME"] = (isset($_SESSION["USR_USERNAME"]))? $_SESSION["USR_USERNAME"] : "";
|
|
||||||
|
|
||||||
//###############################################################################################
|
|
||||||
// Added for compatibility betweek aplication called from web Entry that uses just WS functions
|
|
||||||
//###############################################################################################
|
|
||||||
|
|
||||||
if ($params != null) {
|
|
||||||
switch ($params->option) {
|
|
||||||
case "STORED SESSION":
|
|
||||||
if (isset($params->SID)) {
|
|
||||||
G::LoadClass("sessions");
|
|
||||||
$oSessions = new Sessions($params->SID);
|
|
||||||
$sysCon = array_merge($sysCon, $oSessions->getGlobals());
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($params->appData) && is_array($params->appData)) {
|
|
||||||
$sysCon["APPLICATION"] = $params->appData["APPLICATION"];
|
|
||||||
$sysCon["PROCESS"] = $params->appData["PROCESS"];
|
|
||||||
$sysCon["TASK"] = $params->appData["TASK"];
|
|
||||||
$sysCon["INDEX"] = $params->appData["INDEX"];
|
|
||||||
$sysCon["USER_LOGGED"] = $params->appData["USER_LOGGED"];
|
|
||||||
$sysCon["USR_USERNAME"] = $params->appData["USR_USERNAME"];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $sysCon;
|
/**
|
||||||
}
|
* Return the System defined constants and Application variables
|
||||||
|
* Constants: SYS_*
|
||||||
|
* Sessions : USER_* , URS_*
|
||||||
|
*/
|
||||||
|
function getSystemConstants($params=null)
|
||||||
|
{
|
||||||
|
$t1 = G::microtime_float();
|
||||||
|
$sysCon = array();
|
||||||
|
|
||||||
|
if (defined("SYS_LANG")) {
|
||||||
|
$sysCon["SYS_LANG"] = SYS_LANG;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (defined("SYS_SKIN")) {
|
||||||
|
$sysCon["SYS_SKIN"] = SYS_SKIN;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (defined("SYS_SYS")) {
|
||||||
|
$sysCon["SYS_SYS"] = SYS_SYS;
|
||||||
|
}
|
||||||
|
|
||||||
|
$sysCon["APPLICATION"] = (isset($_SESSION["APPLICATION"]))? $_SESSION["APPLICATION"] : "";
|
||||||
|
$sysCon["PROCESS"] = (isset($_SESSION["PROCESS"]))? $_SESSION["PROCESS"] : "";
|
||||||
|
$sysCon["TASK"] = (isset($_SESSION["TASK"]))? $_SESSION["TASK"] : "";
|
||||||
|
$sysCon["INDEX"] = (isset($_SESSION["INDEX"]))? $_SESSION["INDEX"] : "";
|
||||||
|
$sysCon["USER_LOGGED"] = (isset($_SESSION["USER_LOGGED"]))? $_SESSION["USER_LOGGED"] : "";
|
||||||
|
$sysCon["USR_USERNAME"] = (isset($_SESSION["USR_USERNAME"]))? $_SESSION["USR_USERNAME"] : "";
|
||||||
|
|
||||||
|
//###############################################################################################
|
||||||
|
// Added for compatibility betweek aplication called from web Entry that uses just WS functions
|
||||||
|
//###############################################################################################
|
||||||
|
|
||||||
|
if ($params != null) {
|
||||||
|
if (isset($params->option)) {
|
||||||
|
switch ($params->option) {
|
||||||
|
case "STORED SESSION":
|
||||||
|
if (isset($params->SID)) {
|
||||||
|
G::LoadClass("sessions");
|
||||||
|
|
||||||
|
$oSessions = new Sessions($params->SID);
|
||||||
|
$sysCon = array_merge($sysCon, $oSessions->getGlobals());
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($params->appData) && is_array($params->appData)) {
|
||||||
|
$sysCon["APPLICATION"] = $params->appData["APPLICATION"];
|
||||||
|
$sysCon["PROCESS"] = $params->appData["PROCESS"];
|
||||||
|
$sysCon["TASK"] = $params->appData["TASK"];
|
||||||
|
$sysCon["INDEX"] = $params->appData["INDEX"];
|
||||||
|
|
||||||
|
if (empty($sysCon["USER_LOGGED"])) {
|
||||||
|
$sysCon["USER_LOGGED"] = $params->appData["USER_LOGGED"];
|
||||||
|
$sysCon["USR_USERNAME"] = $params->appData["USR_USERNAME"];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $sysCon;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return the Friendly Title for a string, capitalize every word and remove spaces
|
* Return the Friendly Title for a string, capitalize every word and remove spaces
|
||||||
@@ -5212,3 +5227,4 @@ function __($msgID , $lang = SYS_LANG, $data = null)
|
|||||||
{
|
{
|
||||||
return G::LoadTranslation($msgID, $lang, $data);
|
return G::LoadTranslation($msgID, $lang, $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1724,7 +1724,7 @@ class wsBase
|
|||||||
$oAppDel = new AppDelegation();
|
$oAppDel = new AppDelegation();
|
||||||
$appdel = $oAppDel->Load($caseId, $delIndex);
|
$appdel = $oAppDel->Load($caseId, $delIndex);
|
||||||
|
|
||||||
if ($userId!=$appdel['USR_UID']) {
|
if ($userId != $appdel['USR_UID']) {
|
||||||
$result = new wsResponse(17, G::loadTranslation('ID_CASE_ASSIGNED_ANOTHER_USER'));
|
$result = new wsResponse(17, G::loadTranslation('ID_CASE_ASSIGNED_ANOTHER_USER'));
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
@@ -1782,7 +1782,7 @@ class wsBase
|
|||||||
|
|
||||||
if ($bExecuteTriggersBeforeAssignment) {
|
if ($bExecuteTriggersBeforeAssignment) {
|
||||||
//Execute triggers before assignment
|
//Execute triggers before assignment
|
||||||
$aTriggers = $oCase->loadTriggers($appdel['TAS_UID'], 'ASSIGN_TASK', -1, 'BEFORE' );
|
$aTriggers = $oCase->loadTriggers($appdel['TAS_UID'], 'ASSIGN_TASK', -1, 'BEFORE');
|
||||||
|
|
||||||
if (count($aTriggers) > 0) {
|
if (count($aTriggers) > 0) {
|
||||||
$oPMScript = new PMScript();
|
$oPMScript = new PMScript();
|
||||||
@@ -1791,22 +1791,18 @@ class wsBase
|
|||||||
//$appFields = $oCase->loadCase( $caseId );
|
//$appFields = $oCase->loadCase( $caseId );
|
||||||
//$appFields['APP_DATA']['APPLICATION'] = $caseId;
|
//$appFields['APP_DATA']['APPLICATION'] = $caseId;
|
||||||
|
|
||||||
//@Neyek #######################################################################################
|
//Set variables
|
||||||
if (!$this->stored_system_variables) {
|
$params = new stdClass();
|
||||||
$appFields["APP_DATA"] = array_merge($appFields["APP_DATA"], G::getSystemConstants());
|
$params->appData = $appFields["APP_DATA"];
|
||||||
} else {
|
|
||||||
$oParams = new stdClass();
|
|
||||||
$oParams->option = "STORED SESSION";
|
|
||||||
$oParams->SID = $this->wsSessionId;
|
|
||||||
$oParams->appData = $appFields["APP_DATA"];
|
|
||||||
|
|
||||||
$appFields["APP_DATA"] = array_merge(
|
if ($this->stored_system_variables) {
|
||||||
$appFields["APP_DATA"],
|
$params->option = "STORED SESSION";
|
||||||
G::getSystemConstants($oParams)
|
$params->SID = $this->wsSessionId;
|
||||||
);
|
|
||||||
}
|
}
|
||||||
//##############################################################################################
|
|
||||||
|
|
||||||
|
$appFields["APP_DATA"] = array_merge($appFields["APP_DATA"], G::getSystemConstants($params));
|
||||||
|
|
||||||
|
//PMScript
|
||||||
$oPMScript->setFields($appFields['APP_DATA']);
|
$oPMScript->setFields($appFields['APP_DATA']);
|
||||||
$bExecute = true;
|
$bExecute = true;
|
||||||
|
|
||||||
@@ -1825,36 +1821,36 @@ class wsBase
|
|||||||
|
|
||||||
//$appFields = $oCase->loadCase( $caseId );
|
//$appFields = $oCase->loadCase( $caseId );
|
||||||
$appFields['APP_DATA'] = $oPMScript->aFields;
|
$appFields['APP_DATA'] = $oPMScript->aFields;
|
||||||
$oCase->updateCase ( $caseId, $appFields );
|
$oCase->updateCase($caseId, $appFields);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Execute triggers before derivation
|
//Execute triggers before derivation
|
||||||
$aTriggers = $oCase->loadTriggers($appdel['TAS_UID'], 'ASSIGN_TASK', -2, 'BEFORE' );
|
$aTriggers = $oCase->loadTriggers($appdel['TAS_UID'], 'ASSIGN_TASK', -2, 'BEFORE');
|
||||||
|
|
||||||
if (count($aTriggers) > 0) {
|
if (count($aTriggers) > 0) {
|
||||||
$oPMScript = new PMScript();
|
|
||||||
$varTriggers .= "<b>-= Before Derivation =-</b><br/>";
|
$varTriggers .= "<b>-= Before Derivation =-</b><br/>";
|
||||||
|
|
||||||
|
$oPMScript = new PMScript();
|
||||||
|
|
||||||
foreach ($aTriggers as $aTrigger) {
|
foreach ($aTriggers as $aTrigger) {
|
||||||
//$appFields = $oCase->loadCase( $caseId );
|
//$appFields = $oCase->loadCase( $caseId );
|
||||||
//$appFields['APP_DATA']['APPLICATION'] = $caseId;
|
//$appFields['APP_DATA']['APPLICATION'] = $caseId;
|
||||||
|
|
||||||
//@Neyek ###########################################################################################
|
//Set variables
|
||||||
if (!$this->stored_system_variables) {
|
$params = new stdClass();
|
||||||
$appFields["APP_DATA"] = array_merge($appFields["APP_DATA"], G::getSystemConstants());
|
$params->appData = $appFields["APP_DATA"];
|
||||||
} else {
|
|
||||||
$oParams = new stdClass();
|
|
||||||
$oParams->option = "STORED SESSION";
|
|
||||||
$oParams->SID = $this->wsSessionId;
|
|
||||||
$oParams->appData = $appFields["APP_DATA"];
|
|
||||||
|
|
||||||
$appFields["APP_DATA"] = array_merge($appFields["APP_DATA"], G::getSystemConstants($oParams));
|
if ($this->stored_system_variables) {
|
||||||
|
$params->option = "STORED SESSION";
|
||||||
|
$params->SID = $this->wsSessionId;
|
||||||
}
|
}
|
||||||
//##################################################################################################
|
|
||||||
|
|
||||||
|
$appFields["APP_DATA"] = array_merge($appFields["APP_DATA"], G::getSystemConstants($params));
|
||||||
|
|
||||||
|
//PMScript
|
||||||
$oPMScript->setFields($appFields['APP_DATA']);
|
$oPMScript->setFields($appFields['APP_DATA']);
|
||||||
$bExecute = true;
|
$bExecute = true;
|
||||||
|
|
||||||
@@ -1878,7 +1874,7 @@ class wsBase
|
|||||||
}
|
}
|
||||||
|
|
||||||
$oDerivation = new Derivation();
|
$oDerivation = new Derivation();
|
||||||
$derive = $oDerivation->prepareInformation($aData);
|
$derive = $oDerivation->prepareInformation($aData);
|
||||||
|
|
||||||
if (isset($derive[1])) {
|
if (isset($derive[1])) {
|
||||||
if ($derive[1]['ROU_TYPE'] == 'SELECT') {
|
if ($derive[1]['ROU_TYPE'] == 'SELECT') {
|
||||||
@@ -1933,7 +1929,7 @@ class wsBase
|
|||||||
//$oCase->updateCase ( $caseId, $appFields );
|
//$oCase->updateCase ( $caseId, $appFields );
|
||||||
//Save data - End
|
//Save data - End
|
||||||
|
|
||||||
$row = array();
|
$row = array();
|
||||||
$oCriteria = new Criteria('workflow');
|
$oCriteria = new Criteria('workflow');
|
||||||
$del = DBAdapter::getStringDelimiter();
|
$del = DBAdapter::getStringDelimiter();
|
||||||
$oCriteria->addSelectColumn(RoutePeer::ROU_TYPE);
|
$oCriteria->addSelectColumn(RoutePeer::ROU_TYPE);
|
||||||
@@ -1957,29 +1953,30 @@ class wsBase
|
|||||||
'ROU_TYPE' => $row[0]['ROU_TYPE']
|
'ROU_TYPE' => $row[0]['ROU_TYPE']
|
||||||
);
|
);
|
||||||
|
|
||||||
$oDerivation->derivate( $aCurrentDerivation, $nextDelegations );
|
$oDerivation->derivate($aCurrentDerivation, $nextDelegations);
|
||||||
$appFields = $oCase->loadCase($caseId);
|
$appFields = $oCase->loadCase($caseId);
|
||||||
|
|
||||||
|
//Execute triggers after derivation
|
||||||
$aTriggers = $oCase->loadTriggers($appdel['TAS_UID'], 'ASSIGN_TASK', -2, 'AFTER');
|
$aTriggers = $oCase->loadTriggers($appdel['TAS_UID'], 'ASSIGN_TASK', -2, 'AFTER');
|
||||||
|
|
||||||
if (count($aTriggers) > 0) {
|
if (count($aTriggers) > 0) {
|
||||||
$oPMScript = new PMScript();
|
|
||||||
//$appFields['APP_DATA']['APPLICATION'] = $caseId;
|
//$appFields['APP_DATA']['APPLICATION'] = $caseId;
|
||||||
|
|
||||||
//@Neyek #############################################################################################
|
//Set variables
|
||||||
if (!$this->stored_system_variables) {
|
$params = new stdClass();
|
||||||
$appFields["APP_DATA"] = array_merge($appFields["APP_DATA"], G::getSystemConstants());
|
$params->appData = $appFields["APP_DATA"];
|
||||||
} else {
|
|
||||||
$oParams = new stdClass();
|
|
||||||
$oParams->option = "STORED SESSION";
|
|
||||||
$oParams->SID = $this->wsSessionId;
|
|
||||||
$oParams->appData = $appFields["APP_DATA"];
|
|
||||||
|
|
||||||
$appFields["APP_DATA"] = array_merge($appFields["APP_DATA"], G::getSystemConstants($oParams));
|
if ($this->stored_system_variables) {
|
||||||
|
$params->option = "STORED SESSION";
|
||||||
|
$params->SID = $this->wsSessionId;
|
||||||
}
|
}
|
||||||
//####################################################################################################
|
|
||||||
|
|
||||||
$oPMScript->setFields( $appFields['APP_DATA'] );
|
$appFields["APP_DATA"] = array_merge($appFields["APP_DATA"], G::getSystemConstants($params));
|
||||||
|
|
||||||
|
//PMScript
|
||||||
|
$oPMScript = new PMScript();
|
||||||
|
$oPMScript->setFields($appFields['APP_DATA']);
|
||||||
|
|
||||||
$varTriggers .= "<b>-= After Derivation =-</b><br/>";
|
$varTriggers .= "<b>-= After Derivation =-</b><br/>";
|
||||||
|
|
||||||
foreach ($aTriggers as $aTrigger) {
|
foreach ($aTriggers as $aTrigger) {
|
||||||
|
|||||||
Reference in New Issue
Block a user