"Se modifica la funcion doPutCaseVariables para el envio opcional de id del dynaform para validar datos"
This commit is contained in:
@@ -1424,11 +1424,12 @@ class Cases
|
||||
* @access public
|
||||
* @param string $app_uid, Uid for case
|
||||
* @param array $app_data, Data for case variables
|
||||
* @param string $dyn_uid, Uid for dynaform
|
||||
*
|
||||
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
||||
* @copyright Colosa - Bolivia
|
||||
*/
|
||||
public function setCaseVariables($app_uid, $app_data)
|
||||
public function setCaseVariables($app_uid, $app_data, $dyn_uid = null)
|
||||
{
|
||||
Validator::isString($app_uid, '$app_uid');
|
||||
Validator::appUid($app_uid, '$app_uid');
|
||||
@@ -1436,7 +1437,18 @@ class Cases
|
||||
|
||||
$case = new \Cases();
|
||||
$fields = $case->loadCase($app_uid);
|
||||
$data['APP_DATA'] = array_merge($fields['APP_DATA'], $app_data);
|
||||
$_POST['form'] = $app_data;
|
||||
|
||||
if ($dyn_uid) {
|
||||
$oDynaform = \DynaformPeer::retrieveByPK($dyn_uid);
|
||||
|
||||
if ($oDynaform->getDynVersion() < 2) {
|
||||
$oForm = new \Form ( $fields['PRO_UID'] . "/" . $dyn_uid, PATH_DYNAFORM );
|
||||
$oForm->validatePost();
|
||||
}
|
||||
}
|
||||
|
||||
$data['APP_DATA'] = array_merge($fields['APP_DATA'], $_POST['form']);
|
||||
$case->updateCase($app_uid, $data);
|
||||
}
|
||||
|
||||
@@ -1905,123 +1917,4 @@ class Cases
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
protected static $excludeFields = array(
|
||||
"dataFields" => array(
|
||||
"SYS_LANG", "SYS_SKIN", "SYS_SYS", "APPLICATION", "PROCESS",
|
||||
"TASK", "INDEX", "USER_LOGGED", "USR_USERNAME", "PIN"),
|
||||
"dataFieldsPost" => array(
|
||||
"APP_PARENT", "APP_STATUS", "PRO_UID", "APP_PROC_STATUS", "APP_PROC_CODE",
|
||||
"APP_PARALLEL", "APP_INIT_USER", "APP_CUR_USER", "APP_CREATE_DATE", "APP_INIT_DATE",
|
||||
"APP_FINISH_DATE", "APP_UPDATE_DATE", "APP_DATA", "APP_PIN", "APP_DESCRIPTION",
|
||||
"STATUS", "TITLE", "DESCRIPTION", "CREATOR", "CREATE_DATE", "UPDATE_DATE")
|
||||
);
|
||||
|
||||
public static function filterArrayKeys($data, $filter = array())
|
||||
{
|
||||
$result = array();
|
||||
|
||||
foreach ($data as $key => $value) {
|
||||
if (! in_array($key, $filter)) {
|
||||
$result[$key] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get data
|
||||
*
|
||||
* @param string $applicationUid Unique id of Case
|
||||
*
|
||||
* return array Return an array with Data
|
||||
*/
|
||||
public function getCaseData($applicationUid)
|
||||
{
|
||||
try {
|
||||
$aFieldsAssoc = array();
|
||||
|
||||
//Verify data
|
||||
Validator::isString($applicationUid, '$app_uid');
|
||||
Validator::appUid($applicationUid, '$app_uid');
|
||||
|
||||
//Set variables
|
||||
$case = new \Cases();
|
||||
$aFields = $case->loadCase($applicationUid);
|
||||
|
||||
$aFields = $aFields['APP_DATA'];
|
||||
|
||||
$aFields = self::filterArrayKeys($aFields, self::$excludeFields["dataFields"]);
|
||||
|
||||
foreach($aFields as $key => $value) {
|
||||
$aFieldsAssoc[] = array ('name' => $key, 'value' => $value);
|
||||
}
|
||||
|
||||
//Return
|
||||
return $aFieldsAssoc;
|
||||
} catch (\Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get data non assoc
|
||||
*
|
||||
* @param string $applicationUid Unique id of Case
|
||||
*
|
||||
* return array Return an array with all Data
|
||||
*/
|
||||
public function getCaseDataNonAssoc($applicationUid)
|
||||
{
|
||||
try {
|
||||
//Verify data
|
||||
Validator::isString($applicationUid, '$app_uid');
|
||||
Validator::appUid($applicationUid, '$app_uid');
|
||||
|
||||
//Set variables
|
||||
$case = new \Cases();
|
||||
$aFields = $case->loadCase($applicationUid);
|
||||
|
||||
$aFields = $aFields['APP_DATA'];
|
||||
|
||||
$aFields = self::filterArrayKeys($aFields, self::$excludeFields["dataFields"]);
|
||||
|
||||
//Return
|
||||
return $aFields;
|
||||
} catch (\Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Post data
|
||||
*
|
||||
* @param string $applicationUid Unique id of Case
|
||||
* @param array $data
|
||||
*
|
||||
* return array Return an array with all Data
|
||||
*/
|
||||
public function addCaseData($applicationUid, $data)
|
||||
{
|
||||
try {
|
||||
Validator::isString($applicationUid, '$app_uid');
|
||||
Validator::appUid($applicationUid, '$app_uid');
|
||||
Validator::isArray($data, '$app_data');
|
||||
|
||||
$case = new \Cases();
|
||||
$aFields = $case->loadCase($applicationUid);
|
||||
|
||||
$data['APP_DATA'] = array_merge($aFields['APP_DATA'], $data);
|
||||
$case->updateCase($applicationUid, $data);
|
||||
|
||||
$aFields = self::filterArrayKeys($aFields, self::$excludeFields["dataFieldsPost"]);
|
||||
$aFields = array_change_key_case($aFields, CASE_LOWER);
|
||||
//Return
|
||||
return $aFields;
|
||||
|
||||
} catch (\Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user