Files
luos/workflow/engine/methods/tasks/tasks_Ajax.php
dheeyi ae16e9d48c PM-1587 Audit Log para todas las opciones del menu contextual de la TAREA
Causa:  Solo se tiene un auditLog para la seccion ADMIN

SolucióSe utiliza el metodo auditLog(), misma que es utilizado en la seccion ADMIN, mas especificamente se crea un auditlog para la seccion "Menu Contextual que posee un TAREA" del Diseñr
2015-02-19 15:18:37 -04:00

142 lines
5.4 KiB
PHP
Executable File

<?php
try {
global $RBAC;
switch ($RBAC->userCanAccess( 'PM_FACTORY' )) {
case - 2:
G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
G::header( 'location: ../login/login' );
die();
break;
case - 1:
G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
G::header( 'location: ../login/login' );
die();
break;
}
//$oJSON = new Services_JSON();
$aData = get_object_vars( G::json_decode( $_POST['oData'] ));
//$aData = get_object_vars( $oJSON->decode( $_POST['oData'] ) );
if (isset($aData["TAS_TITLE"])) {
$aData["TAS_TITLE"] = str_replace("__ADD__", "+", $aData["TAS_TITLE"]);
}
if (isset($aData["TAS_DESCRIPTION"])) {
$aData["TAS_DESCRIPTION"] = str_replace("__ADD__", "+", $aData["TAS_DESCRIPTION"]);
}
if (isset( $_POST['function'] )) {
$sAction = $_POST['function'];
} else {
$sAction = $_POST['functions'];
}
switch ($sAction) {
case "saveTaskData":
require_once ("classes/model/Task.php");
$response = array ();
$oTask = new Task();
$aTaskInfo = $oTask->load($aData['TAS_UID']);
/**
* routine to replace @amp@ by &
* that why the char "&" can't be passed by XmlHttpRequest directly
* @autor erik <erik@colosa.com>
*/
foreach ($aData as $k => $v) {
$aData[$k] = str_replace( '@amp@', '&', $v );
}
if (isset( $aData['SEND_EMAIL'] )) {
$aData['TAS_SEND_LAST_EMAIL'] = $aData['SEND_EMAIL'] == 'TRUE' ? 'TRUE' : 'FALSE';
} else {
//$aTaskInfo = $oTask->load($aData['TAS_UID']);
$aData['TAS_SEND_LAST_EMAIL'] = is_null($aTaskInfo['TAS_SEND_LAST_EMAIL']) ? 'FALSE' : $aTaskInfo['TAS_SEND_LAST_EMAIL'];
}
//Additional configuration
if (isset( $aData['TAS_DEF_MESSAGE_TYPE'] ) && isset( $aData['TAS_DEF_MESSAGE_TEMPLATE'] )) {
G::LoadClass( 'configuration' );
$oConf = new Configurations();
$oConf->aConfig = array ('TAS_DEF_MESSAGE_TYPE' => $aData['TAS_DEF_MESSAGE_TYPE'],'TAS_DEF_MESSAGE_TEMPLATE' => $aData['TAS_DEF_MESSAGE_TEMPLATE']
);
$oConf->saveConfig( 'TAS_EXTRA_PROPERTIES', $aData['TAS_UID'], '', '' );
unset( $aData['TAS_DEF_MESSAGE_TYPE'] );
unset( $aData['TAS_DEF_MESSAGE_TEMPLATE'] );
}
//Validating TAS_ASSIGN_VARIABLE value
$sw = false;
if (!isset($aData['TAS_ASSIGN_TYPE'])) {
$sw = true;
if (isset($aTaskInfo['TAS_ASSIGN_TYPE'])) {
switch($aTaskInfo['TAS_ASSIGN_TYPE']) {
case 'SELF_SERVICE':
case 'SELF_SERVICE_EVALUATE':
$aData['TAS_ASSIGN_TYPE'] = ($aTaskInfo['TAS_GROUP_VARIABLE'] == '') ? 'SELF_SERVICE':'SELF_SERVICE_EVALUATE';
$aData['TAS_GROUP_VARIABLE'] = $aTaskInfo['TAS_GROUP_VARIABLE'];
break;
default:
$aData['TAS_ASSIGN_TYPE'] = $aTaskInfo['TAS_ASSIGN_TYPE'];
break;
}
} else {
$derivateType = $oTask->kgetassigType($_SESSION['PROCESS'],$aData['TAS_UID']);
if (is_null($derivateType)){
$aData['TAS_ASSIGN_TYPE'] = 'BALANCED';
} else {
$aData['TAS_ASSIGN_TYPE'] = $derivateType['TAS_ASSIGN_TYPE'];
}
}
}
switch($aData['TAS_ASSIGN_TYPE']) {
case 'SELF_SERVICE':
case 'SELF_SERVICE_EVALUATE':
if ($aData['TAS_ASSIGN_TYPE'] == 'SELF_SERVICE_EVALUATE') {
$aData['TAS_ASSIGN_TYPE'] = 'SELF_SERVICE';
if(trim($aData['TAS_GROUP_VARIABLE']) == '') {
$aData['TAS_GROUP_VARIABLE'] = '@@SYS_GROUP_TO_BE_ASSIGNED';
}
} else {
$aData['TAS_GROUP_VARIABLE'] = '';
}
break;
default:
if (isset($aTaskInfo['TAS_ASSIGN_TYPE']) && $sw) {
$aData['TAS_ASSIGN_TYPE'] = $aTaskInfo['TAS_ASSIGN_TYPE'];
}
$aData['TAS_GROUP_VARIABLE'] = '';
break;
}
$result = $oTask->update( $aData );
$oTaskNewPattern = new Task();
$taskInfo=$oTaskNewPattern->load($aData['TAS_UID']);
$titleTask=$taskInfo['TAS_TITLE'];
$values='';
foreach ($aData as $key => $value){
if ($value!='') {
$values.=$key.' -> '.$value.' ';
}
}
G::auditLog("OptionsMenuTask","Update Task DETAILS : ".$values);
$response["status"] = "OK";
if ($result == 3) {
$response["status"] = "CRONCL";
}
echo G::json_encode( $response );
break;
}
} catch (Exception $oException) {
die( $oException->getMessage() );
}