Files
luos/workflow/engine/methods/tasks/tasks_Ajax.php
dheeyi bd192772fe PM-1583 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-18 12:22:27 -04:00

147 lines
5.6 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":
$k = new Criteria('william');
$k->clearSelectColumns();
$k->addSelectColumn(ContentPeer::CON_VALUE);
$k->add(ContentPeer::CON_CATEGORY, 'TAS_TITLE' );
$k->add(ContentPeer::CON_ID, $aData['TAS_UID'] );
$rs = ContentPeer::doSelectRS($k);
$rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$rs->next();
$row = $rs->getRow();
$titleTask = $row['CON_VALUE'];
G::auditLog("DerivationRule","STARTING PROCESS Task Name -> ".$titleTask);
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 );
$response["status"] = "OK";
if ($result == 3) {
$response["status"] = "CRONCL";
}
echo G::json_encode( $response );
break;
}
} catch (Exception $oException) {
die( $oException->getMessage() );
}