Files
luos/workflow/engine/methods/tasks/tasks_Ajax.php
dheeyi 78149eab86 PM-1583A Audit Log para Routing Rules, Start Event, End Event.
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 "Routing Rules" del Diseñr.
2015-02-19 13:23:18 -04:00

139 lines
5.3 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();
$oTaskNewPattern->load($aData['TAS_UID']);
$titleTask=$oTaskNewPattern->getTasTitle();
if (count($aData)==5) {
G::auditLog("DerivationRule",'ASSIGN STARTING TASK : Task Name -> '.$titleTask.' : '.$aData['TAS_UID']);
}
$response["status"] = "OK";
if ($result == 3) {
$response["status"] = "CRONCL";
}
echo G::json_encode( $response );
break;
}
} catch (Exception $oException) {
die( $oException->getMessage() );
}