From f183051a9e8d9b964b8ba98d8ea1344920b3452e Mon Sep 17 00:00:00 2001 From: Victor Saisa Lopez Date: Tue, 10 Mar 2015 14:39:03 -0400 Subject: [PATCH 1/2] PM-1771 "Designer: Al momento de crear un proceso clasico..." SOLVED Issue: Designer: Al momento de crear un proceso clasico, la columna Update Time muestra la fecha de creacion del proceso Cause: Se hace un update de campo PROCESS.PRO_UPDATE_DATE en el "load" del proceso Solution: Se ha validado para evitar actualizar este campo en el "load" del proceso --- .../methods/processes/processes_Ajax.php | 48 +++++++++++-------- 1 file changed, 27 insertions(+), 21 deletions(-) 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); From 87847c86c161733bce96caa53498e17451370ea2 Mon Sep 17 00:00:00 2001 From: Victor Saisa Lopez Date: Tue, 10 Mar 2015 15:29:06 -0400 Subject: [PATCH 2/2] PM-1733 "0016808: Change error message if the usr_replaced_by..." SOLVED Issue: 0016808: Change error message if the usr_replaced_by is not a valid user in the POST /api/1.0/{workspace}/user endpoint Cause: Label incorrecto Solution: Se a cambiado el ID del label "ID_AUTHENTICATION_SOURCE_INVALID" por "ID_USER_DOES_NOT_EXIST" --- workflow/engine/src/ProcessMaker/BusinessModel/User.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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"]))); } } }