diff --git a/workflow/engine/methods/processes/processes_Ajax.php b/workflow/engine/methods/processes/processes_Ajax.php index 01fe49f6e..37f3229dd 100755 --- a/workflow/engine/methods/processes/processes_Ajax.php +++ b/workflow/engine/methods/processes/processes_Ajax.php @@ -52,22 +52,22 @@ try { //$oData = $oJSON->decode( stripslashes( $_REQUEST['data'] ) ); $sOutput = ''; $sTask = ''; - + if(array_key_exists('pro_uid', $oDataAux) || array_key_exists('uid', $oDataAux) || array_key_exists('PRO_UID', $oDataAux) || array_key_exists('UID', $oDataAux)) { if(array_key_exists('pro_uid', $oDataAux) || array_key_exists('PRO_UID', $oDataAux)) { if(array_key_exists('pro_uid', $oDataAux)) { $proUid = $oDataAux['pro_uid']; } else { - $proUid = $oDataAux['PRO_UID']; + $proUid = $oDataAux['PRO_UID']; } } else { $proUid = $oDataAux['uid']; $uidAux = $proUid; } - + G::LoadClass('processes'); $infoProcess = new Processes(); - + if(!$infoProcess->processExists($proUid)) { $oSL = new SwimlanesElements(); if($oSL->swimlanesElementsExists($proUid)) { @@ -83,11 +83,11 @@ try { $rs->next(); $row = $rs->getRow(); $proUid = $row['PRO_UID']; - } + } } - $resultProcess = $infoProcess->getProcessRow($proUid); + $resultProcess = $infoProcess->getProcessRow($proUid); } else { - if(array_key_exists('PU_UID', $oDataAux)) { + if(array_key_exists('PU_UID', $oDataAux)) { $c = new Criteria('workflow'); $c->clearSelectColumns(); $c->addSelectColumn(ProcessUserPeer::PRO_UID); @@ -98,14 +98,14 @@ try { $oDataset->next(); $row = $oDataset->getRow(); $userSupervisor = $row['USR_UID']; - + G::LoadClass('processes'); $infoProcess = new Processes(); - $resultProcess = $infoProcess->getProcessRow($row['PRO_UID']); + $resultProcess = $infoProcess->getProcessRow($row['PRO_UID']); } } } - + if(isset($_REQUEST['pro_uid']) && !empty($_REQUEST['pro_uid']) || isset($_REQUEST['PRO_UID']) && !empty($_REQUEST['PRO_UID'])) { if(isset($_REQUEST['pro_uid']) && !empty($_REQUEST['pro_uid'])) { $proUid = $_REQUEST['pro_uid']; @@ -114,21 +114,27 @@ try { } G::LoadClass('processes'); $infoProcess = new Processes(); - $resultProcess = $infoProcess->getProcessRow($proUid); + $resultProcess = $infoProcess->getProcessRow($proUid); } if(isset($proUid) && $proUid != "") { - $valuesProcess['PRO_UID'] = $proUid; - $valuesProcess['PRO_UPDATE_DATE'] = date("Y-m-d H:i:s"); - G::LoadClass('processes'); + G::LoadClass("processes"); + $infoProcess = new Processes(); - $resultProcess = $infoProcess->updateProcessRow($valuesProcess); - $resultProcess = $infoProcess->getProcessRow($proUid); + + if (!in_array($_REQUEST["action"], array("load"))) { + $infoProcess->updateProcessRow(array( + "PRO_UID" => $proUid, + "PRO_UPDATE_DATE" => date("Y-m-d H:i:s") + )); + } + + $resultProcess = $infoProcess->getProcessRow($proUid); } - + //G::LoadClass( 'processMap' ); $oProcessMap = new processMap(new DBConnection()); - + switch ($_REQUEST['action']) { case 'load': $_SESSION['PROCESS'] = $oData->uid; @@ -345,7 +351,7 @@ try { } else { switch ($oData->type) { case 0: - $oData->type = 'SEQUENTIAL'; + $oData->type = 'SEQUENTIAL'; break; case 1: $oData->type = 'SELECT'; @@ -363,7 +369,7 @@ try { $oData->type = 'SEC-JOIN'; break; case 8: - $oData->type = 'DISCRIMINATOR'; + $oData->type = 'DISCRIMINATOR'; break; } $oProcessMap->newPattern($oData->pro_uid, $oData->tas_uid, $oData->next_task, $oData->type); @@ -384,7 +390,7 @@ try { $taskNextInfo=$oTaskNextNewPattern->load($oData->next_task); $titleNextTask=$taskNextInfo['TAS_TITLE']; } else { - $titleNextTask=G::LoadTranslation("ID_END_OF_PROCESS"); + $titleNextTask=G::LoadTranslation("ID_END_OF_PROCESS"); } if ($titleNextTask=='') { G::auditLog("DerivationRule",'PROCESS NAME : '.$titleProcess.' : '.$oData->pro_uid.' Routing rule : END OF PROCESS Task Name -> '.$titleTask.' : '.$oData->tas_uid); diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/User.php b/workflow/engine/src/ProcessMaker/BusinessModel/User.php index e1e1f061d..3d61bf6d0 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/User.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/User.php @@ -215,7 +215,7 @@ class User if ($form['USR_REPLACED_BY'] != '') { $oReplacedBy = \UsersPeer::retrieveByPK($form['USR_REPLACED_BY']); if (is_null($oReplacedBy)) { - throw new \Exception('usr_replaced_by:'.$form['USR_REPLACED_BY'].' '.\G::LoadTranslation('ID_AUTHENTICATION_SOURCE_INVALID')); + throw new \Exception(\G::LoadTranslation("ID_USER_DOES_NOT_EXIST", array(strtolower("USR_REPLACED_BY"), $form["USR_REPLACED_BY"]))); } } }