Merged in dheeyi/processmaker/HOR-1442 (pull request #4586)

HOR-1442
This commit is contained in:
Julio Cesar Laura Avendaño
2016-07-22 11:08:41 -04:00
2 changed files with 28 additions and 7 deletions

View File

@@ -1737,7 +1737,7 @@ class Cases
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
* @copyright Colosa - Bolivia
*/
public function getCaseVariables($app_uid, $usr_uid, $dynaFormUid = null)
public function getCaseVariables($app_uid, $usr_uid, $dynaFormUid = null, $pro_uid = null, $act_uid = null, $app_index = null)
{
Validator::isString($app_uid, '$app_uid');
Validator::appUid($app_uid, '$app_uid');
@@ -1776,11 +1776,33 @@ class Cases
$arrayCaseVariable = $this->__getFieldsAndValuesByDynaFormAndAppData(
$arrayDynContent['items'][0], $arrayAppData, $arrayCaseVariable
);
} else {
$arrayCaseVariable = $fields['APP_DATA'];
}
//Return
//Get historyDate for Dynaform
if (!is_null($pro_uid) && !is_null($act_uid) && !is_null($app_index)) {
$oCriteriaAppHistory = new \Criteria("workflow");
$oCriteriaAppHistory->addSelectColumn(\AppHistoryPeer::HISTORY_DATE);
$oCriteriaAppHistory->add(\AppHistoryPeer::APP_UID, $app_uid, \Criteria::EQUAL);
$oCriteriaAppHistory->add(\AppHistoryPeer::DEL_INDEX, $app_index, \Criteria::EQUAL);
$oCriteriaAppHistory->add(\AppHistoryPeer::PRO_UID, $pro_uid, \Criteria::EQUAL);
$oCriteriaAppHistory->add(\AppHistoryPeer::TAS_UID, $act_uid, \Criteria::EQUAL);
$oCriteriaAppHistory->add(\AppHistoryPeer::USR_UID, $usr_uid, \Criteria::EQUAL);
if (!is_null($dynaFormUid)) {
$oCriteriaAppHistory->add(\AppHistoryPeer::DYN_UID, $dynaFormUid, \Criteria::EQUAL);
}
$oCriteriaAppHistory->addDescendingOrderByColumn('HISTORY_DATE');
$oCriteriaAppHistory->setLimit(1);
$oDataset = \AppDocumentPeer::doSelectRS($oCriteriaAppHistory);
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
if ($aRow = $oDataset->getRow()) {
$dateHistory['SYS_VAR_UPDATE_DATE'] = $aRow['HISTORY_DATE'];
$arrayCaseVariable = array_merge($arrayCaseVariable, $dateHistory);
}
}
return $arrayCaseVariable;
}

View File

@@ -1484,12 +1484,12 @@ class Light extends Api
*
* @url GET /:app_uid/variables
*/
public function doGetCaseVariables($app_uid, $dyn_uid = null)
public function doGetCaseVariables($app_uid, $dyn_uid = null, $pro_uid = null, $act_uid = null, $app_index = null)
{
try {
$usr_uid = $this->getUserId();
$cases = new \ProcessMaker\BusinessModel\Cases();
$response = $cases->getCaseVariables($app_uid, $usr_uid, $dyn_uid);
$response = $cases->getCaseVariables($app_uid, $usr_uid, $dyn_uid, $pro_uid, $act_uid, $app_index);
return DateTime::convertUtcToTimeZone($response);
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
@@ -1633,7 +1633,7 @@ class Light extends Api
$_SESSION["PROCESS"] = $pro_uid;
$_SESSION["INDEX"] = $app_index;
$_SESSION["USER_LOGGED"] = $usr_uid;
do {
$conditionalSteps = $oCase->getNextStep($pro_uid, $app_uid, $app_index, $step_pos);
if (is_array($conditionalSteps) && (
@@ -1649,11 +1649,10 @@ class Light extends Api
//variables
$cases = new \ProcessMaker\BusinessModel\Cases();
$variables = $cases->getCaseVariables($app_uid, $usr_uid, $dyn_uid);
$variables = $cases->getCaseVariables($app_uid, $usr_uid, $dyn_uid, $pro_uid, $act_uid, $app_index);
$variables = DateTime::convertUtcToTimeZone($variables);
$response["variables"] = $variables;
return $response;
}
}