Audit Log para todas las opciones del menu contextual del PROCESO
This commit is contained in:
marcelo.cuiza
2015-02-18 17:17:28 -04:00
parent 48ce569e3a
commit 0c525246bf
6 changed files with 78 additions and 32 deletions

View File

@@ -28,15 +28,9 @@ if ($RBAC->userCanAccess( 'PM_SETUP' ) != 1) {
die(); die();
} }
$k = new Criteria('workflow'); $eventInstance = new Event();
$k->clearSelectColumns(); $eventFields = $eventInstance->load($_POST['EVN_UID']);
$k->addSelectColumn(EventPeer::PRO_UID); $proUid = $eventFields['PRO_UID'];
$k->add(EventPeer::EVN_UID, $_POST['EVN_UID'] );
$rs = EventPeer::doSelectRS($k);
$rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$rs->next();
$row = $rs->getRow();
$proUid = $row['PRO_UID'];
$infoProcess = new Process(); $infoProcess = new Process();
$resultProcess = $infoProcess->load($proUid); $resultProcess = $infoProcess->load($proUid);

View File

@@ -59,9 +59,9 @@ if ($_POST['form']['EVN_UID'] == '') {
*/ */
$oEvent->update( $_POST['form'] ); $oEvent->update( $_POST['form'] );
} }
$infoProcess = new Processes();
$proFields = $infoProcess->serializeProcess($_POST['form']['PRO_UID']); $infoProcess = new Process();
$resultProcess = $infoProcess->saveSerializedProcess($proFields); $resultProcess = $infoProcess->load($_POST['form']['PRO_UID']);
G::auditLog('Events','Save intermediate message ('.$_POST['form']['EVN_UID'].') in process "'.$resultProcess['PRO_TITLE'].'"'); G::auditLog('Events','Save intermediate message ('.$_POST['form']['EVN_UID'].') in process "'.$resultProcess['PRO_TITLE'].'"');
function replaceQuotes ($aData) function replaceQuotes ($aData)

View File

@@ -36,17 +36,11 @@ if ($_POST['form']['TRI_UID'] != '') {
$oTrigger->update( $_POST['form'] ); $oTrigger->update( $_POST['form'] );
$k = new Criteria('workflow'); $triggerFields = $oTrigger->load($_POST['form']['TRI_UID']);
$k->clearSelectColumns(); $proUid = $triggerFields['PRO_UID'];
$k->addSelectColumn(TriggersPeer::PRO_UID);
$k->add(TriggersPeer::TRI_UID, $_POST['form']['TRI_UID'] );
$rs = TriggersPeer::doSelectRS($k);
$rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$rs->next();
$row = $rs->getRow();
$proUid = $row['PRO_UID'];
$infoProcess = new Process(); $infoProcess = new Process();
$resultProcess = $infoProcess->load($proUid); $resultProcess = $infoProcess->load($proUid);
G::auditLog('Events','Save event ('.$_POST['form']['TRI_UID'].') in process "'.$resultProcess['PRO_TITLE'].'"'); G::auditLog('Events','Save event ('.$_POST['form']['TRI_UID'].') in process "'.$resultProcess['PRO_TITLE'].'"');

View File

@@ -91,11 +91,13 @@ try {
$c = new Criteria('workflow'); $c = new Criteria('workflow');
$c->clearSelectColumns(); $c->clearSelectColumns();
$c->addSelectColumn(ProcessUserPeer::PRO_UID); $c->addSelectColumn(ProcessUserPeer::PRO_UID);
$c->addSelectColumn(ProcessUserPeer::USR_UID);
$c->add(ProcessUserPeer::PU_UID, $oData->PU_UID); $c->add(ProcessUserPeer::PU_UID, $oData->PU_UID);
$oDataset = AppDelegationPeer::doSelectRS($c); $oDataset = AppDelegationPeer::doSelectRS($c);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next(); $oDataset->next();
$row = $oDataset->getRow(); $row = $oDataset->getRow();
$userSupervisor = $row['USR_UID'];
G::LoadClass('processes'); G::LoadClass('processes');
$infoProcess = new Processes(); $infoProcess = new Processes();
@@ -123,6 +125,7 @@ try {
$resultProcess = $infoProcess->updateProcessRow($valuesProcess); $resultProcess = $infoProcess->updateProcessRow($valuesProcess);
$resultProcess = $infoProcess->getProcessRow($proUid); $resultProcess = $infoProcess->getProcessRow($proUid);
} }
//G::LoadClass( 'processMap' ); //G::LoadClass( 'processMap' );
$oProcessMap = new processMap(new DBConnection()); $oProcessMap = new processMap(new DBConnection());
@@ -192,7 +195,7 @@ try {
G::LoadClass('processMap'); G::LoadClass('processMap');
$oProcessMap = new ProcessMap(); $oProcessMap = new ProcessMap();
$oProcessMap->listProcessesUser($oData->PRO_UID); $oProcessMap->listProcessesUser($oData->PRO_UID);
G::auditLog('AssignRole','Assign new supervisor in Process "'.$resultProcess['PRO_TITLE'].'"'); G::auditLog('AssignRole','Assign new supervisor ('.$oData->USR_UID.') in Process "'.$resultProcess['PRO_TITLE'].'"');
break; break;
case 'removeProcessUser': case 'removeProcessUser':
$oProcessMap->removeProcessUser($oData->PU_UID); $oProcessMap->removeProcessUser($oData->PU_UID);
@@ -203,7 +206,7 @@ try {
} }
} }
G::auditLog('RemoveUser','Remove supervisor in Process "'.$resultProcess['PRO_TITLE'].'"'); G::auditLog('RemoveUser','Remove supervisor ('.$userSupervisor.') in Process "'.$resultProcess['PRO_TITLE'].'"');
break; break;
case 'supervisorDynaforms': case 'supervisorDynaforms':
$oProcessMap->supervisorDynaforms($oData->pro_uid); $oProcessMap->supervisorDynaforms($oData->pro_uid);
@@ -267,7 +270,9 @@ try {
break; break;
case 'addGuide': case 'addGuide':
$sOutput = $oProcessMap->addGuide($oData->uid, $oData->position, $oData->direction); $sOutput = $oProcessMap->addGuide($oData->uid, $oData->position, $oData->direction);
G::auditLog('Add'.ucwords($oDataAux['direction']).'Line','Add '.$oDataAux['direction'].' line in process "'.$resultProcess['PRO_TITLE'].'"'); $sOutputAux = G::json_decode($sOutput);
$sOutputAux = (array)$sOutputAux;
G::auditLog('Add'.ucwords($oDataAux['direction']).'Line','Add '.$oDataAux['direction'].' line ('.$sOutputAux['uid'].') in process "'.$resultProcess['PRO_TITLE'].'"');
break; break;
case 'saveGuidePosition': case 'saveGuidePosition':
$sOutput = $oProcessMap->saveGuidePosition($oData->uid, $oData->position, $oData->direction); $sOutput = $oProcessMap->saveGuidePosition($oData->uid, $oData->position, $oData->direction);
@@ -275,7 +280,7 @@ try {
break; break;
case 'deleteGuide': case 'deleteGuide':
$sOutput = $oProcessMap->deleteGuide($oData->uid); $sOutput = $oProcessMap->deleteGuide($oData->uid);
G::auditLog('DeleteLine','Delete line in process "'.$resultProcess['PRO_TITLE'].'"'); G::auditLog('DeleteLine','Delete line ('.$oData->uid.') in process "'.$resultProcess['PRO_TITLE'].'"');
break; break;
case 'deleteGuides': case 'deleteGuides':
$sOutput = $oProcessMap->deleteGuides($oData->pro_uid); $sOutput = $oProcessMap->deleteGuides($oData->pro_uid);
@@ -283,19 +288,21 @@ try {
break; break;
case 'addText': case 'addText':
$sOutput = $oProcessMap->addText($oData->uid, $oData->label, $oData->position->x, $oData->position->y); $sOutput = $oProcessMap->addText($oData->uid, $oData->label, $oData->position->x, $oData->position->y);
G::auditLog('AddText','Add new text ('.$oDataAux['label'].') in Process "'.$resultProcess['PRO_TITLE'].'"'); $sOutputAux = G::json_decode($sOutput);
$sOutputAux = (array)$sOutputAux;
G::auditLog('AddText','Add new text ('.$sOutputAux['uid'].') in Process "'.$resultProcess['PRO_TITLE'].'"');
break; break;
case 'updateText': case 'updateText':
$sOutput = $oProcessMap->updateText($oData->uid, $oData->label); $sOutput = $oProcessMap->updateText($oData->uid, $oData->label);
G::auditLog('UpdateText','Edit text ('.$oDataAux['label'].' ) in Process "'.$resultProcess['PRO_TITLE'].'"'); G::auditLog('UpdateText','Edit text ('.$oData->uid.' ) in Process "'.$resultProcess['PRO_TITLE'].'"');
break; break;
case 'saveTextPosition': case 'saveTextPosition':
$sOutput = $oProcessMap->saveTextPosition($oData->uid, $oData->position->x, $oData->position->y); $sOutput = $oProcessMap->saveTextPosition($oData->uid, $oData->position->x, $oData->position->y);
G::auditLog('SaveTextPosition','Change text position in Process "'.$resultProcess['PRO_TITLE'].'"'); G::auditLog('SaveTextPosition','Change text position ('.$oData->uid.' ) in Process "'.$resultProcess['PRO_TITLE'].'"');
break; break;
case 'deleteText': case 'deleteText':
$sOutput = $oProcessMap->deleteText($oData->uid); $sOutput = $oProcessMap->deleteText($oData->uid);
G::auditLog('DeleteText','Delete text in Process "'.$resultProcess['PRO_TITLE'].'"'); G::auditLog('DeleteText','Delete text ('.$oData->uid.' ) in Process "'.$resultProcess['PRO_TITLE'].'"');
break; break;
case 'dynaforms': case 'dynaforms':
$oProcessMap->dynaformsList($oData->pro_uid); $oProcessMap->dynaformsList($oData->pro_uid);

View File

@@ -30,7 +30,8 @@
//G::LoadThirdParty( 'pear/json', 'class.json' ); //G::LoadThirdParty( 'pear/json', 'class.json' );
$function = isset( $_POST['function'] ) ? $_POST['function'] : ''; $function = isset( $_POST['function'] ) ? $_POST['function'] : '';
$infoProcess = new Process();
$resultProcessOld = $infoProcess->load($_POST['form']['PRO_UID']);
switch ($function) { switch ($function) {
case 'lookForNameProcess': case 'lookForNameProcess':
require_once 'classes/model/Content.php'; require_once 'classes/model/Content.php';
@@ -92,4 +93,53 @@ switch ($function) {
break; break;
} }
G::auditLog('EditProcess','Edit Process "'.$_POST['form']['PRO_TITLE'].'"'); $resultProcessNew = $infoProcess->load($_POST['form']['PRO_UID']);
$oldFields = array_diff_assoc($resultProcessOld,$resultProcessNew);
$newFields = array_diff_assoc($resultProcessNew,$resultProcessOld);
if(array_key_exists('PRO_TITLE', $newFields)) {
$fields[] = G::LoadTranslation('ID_TITLE');
}
if(array_key_exists('PRO_DESCRIPTION', $newFields)) {
$fields[] = G::LoadTranslation('ID_DESCRIPTION');
}
if(array_key_exists('PRO_CALENDAR', $newFields)) {
$fields[] = G::LoadTranslation('ID_CALENDAR');
}
if(array_key_exists('PRO_CATEGORY', $newFields)) {
$fields[] = "Process Category";
}
if(array_key_exists('PRO_SUMMARY_DYNAFORM', $newFields)) {
$fields[] = "Dynaform to show a case summary";
}
if(array_key_exists('PRO_DERIVATION_SCREEN_TPL', $newFields)) {
$fields[] = "Routing Screen Template";
}
if(array_key_exists('PRO_DEBUG', $newFields)) {
$fields[] = G::LoadTranslation('ID_PRO_DEBUG');
}
if(array_key_exists('PRO_SHOW_MESSAGE', $newFields)) {
$fields[] = "Hide the case number and the case title in the steps";
}
if(array_key_exists('PRO_SUBPROCESS', $newFields)) {
$fields[] = "This a sub process";
}
if(array_key_exists('PRO_TRI_DELETED', $newFields)) {
$fields[] = "Execute a trigger when a case is deleted";
}
if(array_key_exists('PRO_TRI_CANCELED', $newFields)) {
$fields[] = "Execute a trigger when a case is canceled";
}
if(array_key_exists('PRO_TRI_PAUSED', $newFields)) {
$fields[] = "Execute a trigger when a case is paused";
}
if(array_key_exists('PRO_TRI_REASSIGNED', $newFields)) {
$fields[] = "Execute a trigger when a case is reassigned"; G
}
if(array_key_exists('PRO_TRI_UNPAUSED', $newFields)) {
$fields[] = "Execute a trigger when a case is unpaused";
}
if(array_key_exists('PRO_TYPE_PROCESS', $newFields)) {
$fields[] = "Type of process (only owners can edit private processes)";
}
G::auditLog('EditProcess','Edit fields ('.implode(', ',$fields).') in process "'.$_POST['form']['PRO_TITLE'].'"');

View File

@@ -79,4 +79,5 @@ $oProcessMap->getObjectsPermissionsCriteria( $sValue['PRO_UID'] );
$infoProcess = new Processes(); $infoProcess = new Processes();
$resultProcess = $infoProcess->getProcessRow($sValue['PRO_UID']); $resultProcess = $infoProcess->getProcessRow($sValue['PRO_UID']);
G::auditLog('ProcessPermissions','Add Permission "'.$sValue['OP_OBJ_TYPE'].'" in Process "'.$resultProcess['PRO_TITLE'].'"'); $participation = $sValue['OP_PARTICIPATE'] == 1 ? "YES" : "NO";
G::auditLog('ProcessPermissions','Add Permission (group or user: '.end(explode( '|', $sValue['GROUP_USER'] )).', permission: '.$sValue['OP_ACTION'].', status case: '.$sValue['OP_CASE_STATUS'].', type: '.$sValue['OP_OBJ_TYPE'].', participation required: '.$participation.') in Process "'.$resultProcess['PRO_TITLE'].'"');