diff --git a/.gitignore b/.gitignore index b951fad8a..9316009db 100755 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -bproject +nbproject/* workflow/engine/config/paths_installed.php gulliver/thirdparty/html2ps_pdf/cache workflow/engine/content/languages/translations.environments diff --git a/workflow/engine/classes/class.derivation.php b/workflow/engine/classes/class.derivation.php index 794ab8742..e562cc92b 100755 --- a/workflow/engine/classes/class.derivation.php +++ b/workflow/engine/classes/class.derivation.php @@ -195,7 +195,11 @@ class Derivation $pmScript = new PMScript(); $pmScript->setFields($arrayApplicationData["APP_DATA"]); - $pmScript->setScript($arrayRouteData["ROU_CONDITION"]); + if(preg_match('/\b(or|and|xor)\b/i' , $arrayRouteData["ROU_CONDITION"])) { + $pmScript->setScript("( ".$arrayRouteData["ROU_CONDITION"]." )"); + } else { + $pmScript->setScript($arrayRouteData["ROU_CONDITION"]); + } $flagContinue = $pmScript->evaluate(); } @@ -831,8 +835,16 @@ class Derivation foreach ($aFields as $sOriginField => $sTargetField) { $sOriginField = str_replace( '@', '', $sOriginField ); $sOriginField = str_replace( '#', '', $sOriginField ); + $sOriginField = str_replace( '%', '', $sOriginField ); + $sOriginField = str_replace( '?', '', $sOriginField ); + $sOriginField = str_replace( '$', '', $sOriginField ); + $sOriginField = str_replace( '=', '', $sOriginField ); $sTargetField = str_replace( '@', '', $sTargetField ); $sTargetField = str_replace( '#', '', $sTargetField ); + $sTargetField = str_replace( '%', '', $sTargetField ); + $sTargetField = str_replace( '?', '', $sTargetField ); + $sTargetField = str_replace( '$', '', $sTargetField ); + $sTargetField = str_replace( '=', '', $sTargetField ); $aNewFields[$sTargetField] = isset( $appFields['APP_DATA'][$sOriginField] ) ? $appFields['APP_DATA'][$sOriginField] : ''; } @@ -918,8 +930,16 @@ class Derivation foreach ($aFields as $sOriginField => $sTargetField) { $sOriginField = str_replace( '@', '', $sOriginField ); $sOriginField = str_replace( '#', '', $sOriginField ); + $sOriginField = str_replace( '%', '', $sOriginField ); + $sOriginField = str_replace( '?', '', $sOriginField ); + $sOriginField = str_replace( '$', '', $sOriginField ); + $sOriginField = str_replace( '=', '', $sOriginField ); $sTargetField = str_replace( '@', '', $sTargetField ); $sTargetField = str_replace( '#', '', $sTargetField ); + $sTargetField = str_replace( '%', '', $sTargetField ); + $sTargetField = str_replace( '?', '', $sTargetField ); + $sTargetField = str_replace( '$', '', $sTargetField ); + $sTargetField = str_replace( '=', '', $sTargetField ); $aNewFields[$sTargetField] = isset( $appFields['APP_DATA'][$sOriginField] ) ? $appFields['APP_DATA'][$sOriginField] : ''; } $aParentCase['APP_DATA'] = array_merge( $aParentCase['APP_DATA'], $aNewFields ); diff --git a/workflow/engine/classes/model/OutputDocument.php b/workflow/engine/classes/model/OutputDocument.php index 07e2d227f..7a0e2fd64 100755 --- a/workflow/engine/classes/model/OutputDocument.php +++ b/workflow/engine/classes/model/OutputDocument.php @@ -200,7 +200,7 @@ class OutputDocument extends BaseOutputDocument $genLink = 'Download the file'; } $description .= ", By clicking on the generated file link: ".$genLink; - G::auditLog("CreateOuputDocument", $description); + G::auditLog("CreateOutputDocument", $description); return $aData['OUT_DOC_UID']; } else { @@ -286,7 +286,7 @@ class OutputDocument extends BaseOutputDocument if (isset($aData['OUT_DOC_TEMPLATE'])) { $description .= ", [EDIT TEMPLATE]"; } - G::auditLog("UpdateOuputDocument", $description); + G::auditLog("UpdateOutputDocument", $description); return $iResult; } else { @@ -330,7 +330,7 @@ class OutputDocument extends BaseOutputDocument $iResult = $oOutputDocument->delete(); $oConnection->commit(); //Add Audit Log - G::auditLog("DeleteOuputDocument", "Output Document Name: ".$outputName.", Output Document Uid: ".$sOutDocUid.", Description: ".$outputDesc.", Filename generated: ".$outputFile); + G::auditLog("DeleteOutputDocument", "Output Document Name: ".$outputName.", Output Document Uid: ".$sOutDocUid.", Description: ".$outputDesc.", Filename generated: ".$outputFile); return $iResult; } else { diff --git a/workflow/engine/methods/patterns/patterns_Ajax.php b/workflow/engine/methods/patterns/patterns_Ajax.php index a4dd11346..3bef04210 100755 --- a/workflow/engine/methods/patterns/patterns_Ajax.php +++ b/workflow/engine/methods/patterns/patterns_Ajax.php @@ -34,31 +34,35 @@ $oTasks = new Tasks(); $rou_id = 0; switch ($aData['action']) { case 'savePattern': - //if ($aData['ROU_TYPE'] != $aData['ROU_TYPE_OLD']) - //{ + //if ($aData['ROU_TYPE'] != $aData['ROU_TYPE_OLD']) + //{ $oTasks->deleteAllRoutesOfTask( $aData['PROCESS'], $aData['TASK'] ); - //} + //} require_once 'classes/model/Route.php'; $oRoute = new Route(); switch ($aData['ROU_TYPE']) { case 'SEQUENTIAL': - case 'SEC-JOIN': - /*if ($aData['ROU_UID'] != '') - { - $aFields['ROU_UID'] = $aData['ROU_UID']; - }*/ + case 'SEC-JOIN': + /*if ($aData['ROU_UID'] != '') + { + $aFields['ROU_UID'] = $aData['ROU_UID']; + }*/ $aFields['PRO_UID'] = $aData['PROCESS']; $aFields['TAS_UID'] = $aData['TASK']; $aFields['ROU_NEXT_TASK'] = $aData['ROU_NEXT_TASK']; $aFields['ROU_TYPE'] = $aData['ROU_TYPE']; - //$aFields['ROU_TO_LAST_USER'] = $aData['ROU_TO_LAST_USER']; + //$aFields['ROU_TO_LAST_USER'] = $aData['ROU_TO_LAST_USER']; $rou_id = $oRoute->create( $aFields ); break; case 'SELECT': + $tasksAffected=''; + $oTaskSavePattern = new Task(); + $taskInfo=$oTaskSavePattern->load($aData['TASK']); + $titleTask=$taskInfo['TAS_TITLE']; foreach ($aData['GRID_SELECT_TYPE'] as $iKey => $aRow) { - /*if ($aRow['ROU_UID'] != '') - { - $aFields['ROU_UID'] = $aRow['ROU_UID']; + /*if ($aRow['ROU_UID'] != '') + { + $aFields['ROU_UID'] = $aRow['ROU_UID']; }*/ $aFields['PRO_UID'] = $aData['PROCESS']; $aFields['TAS_UID'] = $aData['TASK']; @@ -66,16 +70,40 @@ switch ($aData['action']) { $aFields['ROU_CASE'] = $iKey; $aFields['ROU_TYPE'] = $aData['ROU_TYPE']; $aFields['ROU_CONDITION'] = $aRow['ROU_CONDITION']; - //$aFields['ROU_TO_LAST_USER'] = $aRow['ROU_TO_LAST_USER']; + //$aFields['ROU_TO_LAST_USER'] = $aRow['ROU_TO_LAST_USER']; $rou_id = $oRoute->create( $aFields ); + if ($aRow['ROU_NEXT_TASK']=='-1') { + if ($aRow['ROU_CONDITION']=='') { + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To End Of Process Condition -> Empty; '; + }else{ + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To End Of Process Condition -> '.$aFields['ROU_CONDITION'].' ; '; + } + }else{ + $oTaskSaveNextPattern = new Task(); + $taskNextInfo=$oTaskSaveNextPattern->load($aRow['ROU_NEXT_TASK']); + $titleNextTask=$taskNextInfo['TAS_TITLE']; + if ($aRow['ROU_CONDITION']=='') { + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To -> '.$titleNextTask.' : '.$aRow['ROU_NEXT_TASK'].' Condition -> Empty ; '; + }else{ + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To -> '.$titleNextTask.' : '.$aRow['ROU_NEXT_TASK'].' Condition -> '.$aFields['ROU_CONDITION'].' ; '; + } + } unset( $aFields ); } + $oProcessNewPattern = new Process(); + $processInfo = $oProcessNewPattern->load($aData['PROCESS']); + $titleProcess = $processInfo['PRO_TITLE']; + G::auditLog("DerivationRule",'PROCESS NAME : '.$titleProcess.' : '.$aData['PROCESS'].' Change Routing Rule From : '.$aData['ROU_TYPE'].' Details : ROU_TYPE_OLD -> '.$aData['ROU_TYPE_OLD']. ' ROU_TYPE ->'.$aData['ROU_TYPE']. ' '.$tasksAffected); break; case 'EVALUATE': + $tasksAffected=''; + $oTaskSavePattern = new Task(); + $taskInfo=$oTaskSavePattern->load($aData['TASK']); + $titleTask=$taskInfo['TAS_TITLE']; foreach ($aData['GRID_EVALUATE_TYPE'] as $iKey => $aRow) { - /*if ($aRow['ROU_UID'] != '') - { - $aFields['ROU_UID'] = $aRow['ROU_UID']; + /*if ($aRow['ROU_UID'] != '') + { + $aFields['ROU_UID'] = $aRow['ROU_UID']; }*/ $aFields['PRO_UID'] = $aData['PROCESS']; $aFields['TAS_UID'] = $aData['TASK']; @@ -83,16 +111,40 @@ switch ($aData['action']) { $aFields['ROU_CASE'] = $iKey; $aFields['ROU_TYPE'] = $aData['ROU_TYPE']; $aFields['ROU_CONDITION'] = $aRow['ROU_CONDITION']; - //$aFields['ROU_TO_LAST_USER'] = $aRow['ROU_TO_LAST_USER']; + //$aFields['ROU_TO_LAST_USER'] = $aRow['ROU_TO_LAST_USER']; $rou_id = $oRoute->create( $aFields ); + if ($aRow['ROU_NEXT_TASK']=='-1') { + if ($aRow['ROU_CONDITION']=='') { + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To End Of Process Condition -> Empty; '; + }else{ + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To End Of Process Condition -> '.$aFields['ROU_CONDITION'].' ; '; + } + }else{ + $oTaskSaveNextPattern = new Task(); + $taskNextInfo=$oTaskSaveNextPattern->load($aRow['ROU_NEXT_TASK']); + $titleNextTask=$taskNextInfo['TAS_TITLE']; + if ($aRow['ROU_CONDITION']=='') { + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To -> '.$titleNextTask.' : '.$aRow['ROU_NEXT_TASK'].' Condition -> Empty ; '; + }else{ + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To -> '.$titleNextTask.' : '.$aRow['ROU_NEXT_TASK'].' Condition -> '.$aFields['ROU_CONDITION'].' ; '; + } + } unset( $aFields ); } + $oProcessNewPattern = new Process(); + $processInfo = $oProcessNewPattern->load($aData['PROCESS']); + $titleProcess = $processInfo['PRO_TITLE']; + G::auditLog("DerivationRule",'PROCESS NAME : '.$titleProcess.' : '.$aData['PROCESS'].' Change Routing Rule From : '.$aData['ROU_TYPE'].' Details : ROU_TYPE_OLD -> '.$aData['ROU_TYPE_OLD']. ' ROU_TYPE ->'.$aData['ROU_TYPE']. ' '.$tasksAffected); break; case 'PARALLEL': + $tasksAffected=''; + $oTaskSavePattern = new Task(); + $taskInfo=$oTaskSavePattern->load($aData['TASK']); + $titleTask=$taskInfo['TAS_TITLE']; foreach ($aData['GRID_PARALLEL_TYPE'] as $iKey => $aRow) { - /*if ($aRow['ROU_UID'] != '') - { - $aFields['ROU_UID'] = $aRow['ROU_UID']; + /*if ($aRow['ROU_UID'] != '') + { + $aFields['ROU_UID'] = $aRow['ROU_UID']; }*/ $aFields['PRO_UID'] = $aData['PROCESS']; $aFields['TAS_UID'] = $aData['TASK']; @@ -100,14 +152,26 @@ switch ($aData['action']) { $aFields['ROU_CASE'] = $iKey; $aFields['ROU_TYPE'] = $aData['ROU_TYPE']; $rou_id = $oRoute->create( $aFields ); + $oTaskSaveNextPattern = new Task(); + $taskNextInfo=$oTaskSaveNextPattern->load($aRow['ROU_NEXT_TASK']); + $titleNextTask=$taskNextInfo['TAS_TITLE']; + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To -> '.$titleNextTask.' : '.$aRow['ROU_NEXT_TASK'].' ; '; unset( $aFields ); } + $oProcessNewPattern = new Process(); + $processInfo = $oProcessNewPattern->load($aData['PROCESS']); + $titleProcess = $processInfo['PRO_TITLE']; + G::auditLog("DerivationRule",'PROCESS NAME : '.$titleProcess.' : '.$aData['PROCESS'].' Change Routing Rule From : '.$aData['ROU_TYPE'].' Details : ROU_TYPE_OLD -> '.$aData['ROU_TYPE_OLD']. ' ROU_TYPE ->'.$aData['ROU_TYPE']. ' '.$tasksAffected); break; case 'PARALLEL-BY-EVALUATION': + $tasksAffected=''; + $oTaskSavePattern = new Task(); + $taskInfo=$oTaskSavePattern->load($aData['TASK']); + $titleTask=$taskInfo['TAS_TITLE']; foreach ($aData['GRID_PARALLEL_EVALUATION_TYPE'] as $iKey => $aRow) { - /*if ($aRow['ROU_UID'] != '') - { - $aFields['ROU_UID'] = $aRow['ROU_UID']; + /*if ($aRow['ROU_UID'] != '') + { + $aFields['ROU_UID'] = $aRow['ROU_UID']; }*/ $aFields['PRO_UID'] = $aData['PROCESS']; @@ -119,10 +183,30 @@ switch ($aData['action']) { if (isset( $aRow['ROU_OPTIONAL'] ) && trim( $aRow['ROU_OPTIONAL'] ) != '' && ($aRow['ROU_OPTIONAL'] === 'TRUE' || $aRow['ROU_OPTIONAL'] === 'FALSE')) $aFields['ROU_OPTIONAL'] = $aRow['ROU_OPTIONAL']; $rou_id = $oRoute->create( $aFields ); + if ($aRow['ROU_NEXT_TASK']=='-1') { + if ($aRow['ROU_CONDITION']=='') { + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To End Of Process Condition -> Empty; '; + }else{ + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To End Of Process Condition -> '.$aFields['ROU_CONDITION'].' ; '; + } + }else{ + $oTaskSaveNextPattern = new Task(); + $taskNextInfo=$oTaskSaveNextPattern->load($aRow['ROU_NEXT_TASK']); + $titleNextTask=$taskNextInfo['TAS_TITLE']; + if ($aRow['ROU_CONDITION']=='') { + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To -> '.$titleNextTask.' : '.$aRow['ROU_NEXT_TASK'].' Condition -> Empty ; '; + }else{ + $tasksAffected.='From -> '.$titleTask.' : '.$aData['TASK'].' To -> '.$titleNextTask.' : '.$aRow['ROU_NEXT_TASK'].' Condition -> '.$aFields['ROU_CONDITION'].' ; '; + } + } unset( $aFields ); } + $oProcessNewPattern = new Process(); + $processInfo = $oProcessNewPattern->load($aData['PROCESS']); + $titleProcess = $processInfo['PRO_TITLE']; + G::auditLog("DerivationRule",'PROCESS NAME : '.$titleProcess.' : '.$aData['PROCESS'].' Change Routing Rule From : '.$aData['ROU_TYPE'].' Details : ROU_TYPE_OLD -> '.$aData['ROU_TYPE_OLD']. ' ROU_TYPE ->'.$aData['ROU_TYPE']. ' '.$tasksAffected); break; - case 'DISCRIMINATOR': //Girish ->Added to save changes, while editing the route + case 'DISCRIMINATOR': //Girish ->Added to save changes, while editing the route foreach ($aData['GRID_DISCRIMINATOR_TYPE'] as $iKey => $aRow) { $aFields['PRO_UID'] = $aData['PROCESS']; $aFields['TAS_UID'] = $aData['TASK']; diff --git a/workflow/engine/methods/processes/processes_Ajax.php b/workflow/engine/methods/processes/processes_Ajax.php index 13f9324d2..2781def1a 100755 --- a/workflow/engine/methods/processes/processes_Ajax.php +++ b/workflow/engine/methods/processes/processes_Ajax.php @@ -341,7 +341,7 @@ try { } else { switch ($oData->type) { case 0: - $oData->type = 'SEQUENTIAL'; + $oData->type = 'SEQUENTIAL'; break; case 1: $oData->type = 'SELECT'; @@ -359,7 +359,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); @@ -369,24 +369,96 @@ try { switch ($oData->type) { case 0: $sType = 'SEQUENTIAL'; + $oProcessNewPattern = new Process(); + $taskProcess=$oProcessNewPattern->load($oData->pro_uid); + $titleProcess=$taskProcess['PRO_TITLE']; + $oTaskNewPattern = new Task(); + $taskInfo=$oTaskNewPattern->load($oData->tas_uid); + $titleTask=$taskInfo['TAS_TITLE']; + $oTaskNextNewPattern = new Task(); + $taskNextInfo=$oTaskNextNewPattern->load($oData->next_task); + $titleNextTask=$$taskNextInfo['TAS_TITLE']; + if ($titleNextTask=='') { + G::auditLog("DerivationRule",'PROCESS NAME : '.$titleProcess.' : '.$oData->pro_uid.' Routing rule : END OF PROCESS Task Name -> '.$titleTask.' : '.$oData->tas_uid); + }else{ + G::auditLog("DerivationRule",'PROCESS NAME : '.$titleProcess.' : '.$oData->pro_uid.' Routing rule : '.$sType.' from -> '.$titleTask.' : '.$oData->tas_uid.' To -> '.$titleNextTask.' : '.$oData->next_task); + } break; case 1: $sType = 'SELECT'; + $oProcessNewPattern = new Process(); + $taskProcess=$oProcessNewPattern->load($oData->pro_uid); + $titleProcess=$taskProcess['PRO_TITLE']; + $oTaskNewPattern = new Task(); + $taskInfo=$oTaskNewPattern->load($oData->tas_uid); + $titleTask=$taskInfo['TAS_TITLE']; + $oTaskNextNewPattern = new Task(); + $taskNextInfo=$oTaskNextNewPattern->load($oData->next_task); + $titleNextTask=$$taskNextInfo['TAS_TITLE']; + G::auditLog("DerivationRule",'PROCESS NAME : '.$titleProcess.' : '.$oData->pro_uid.' Routing rule : '.$sType.' from -> '.$titleTask.' : '.$oData->tas_uid.' To -> '.$titleNextTask.' : '.$oData->next_task); break; case 2: $sType = 'EVALUATE'; + $oProcessNewPattern = new Process(); + $taskProcess=$oProcessNewPattern->load($oData->pro_uid); + $titleProcess=$taskProcess['PRO_TITLE']; + $oTaskNewPattern = new Task(); + $taskInfo=$oTaskNewPattern->load($oData->tas_uid); + $titleTask=$taskInfo['TAS_TITLE']; + $oTaskNextNewPattern = new Task(); + $taskNextInfo=$oTaskNextNewPattern->load($oData->next_task); + $titleNextTask=$$taskNextInfo['TAS_TITLE']; + G::auditLog("DerivationRule",'PROCESS NAME : '.$titleProcess.' : '.$oData->pro_uid.' Routing rule : '.$sType.' from -> '.$titleTask.' : '.$oData->tas_uid.' To -> '.$titleNextTask.' : '.$oData->next_task); break; case 3: $sType = 'PARALLEL'; + $oProcessNewPattern = new Process(); + $taskProcess=$oProcessNewPattern->load($oData->pro_uid); + $titleProcess=$taskProcess['PRO_TITLE']; + $oTaskNewPattern = new Task(); + $taskInfo=$oTaskNewPattern->load($oData->tas_uid); + $titleTask=$taskInfo['TAS_TITLE']; + $oTaskNextNewPattern = new Task(); + $taskNextInfo=$oTaskNextNewPattern->load($oData->next_task); + $titleNextTask=$$taskNextInfo['TAS_TITLE']; + G::auditLog("DerivationRule",'PROCESS NAME : '.$titleProcess.' : '.$oData->pro_uid.' Routing rule : '.$sType.' from -> '.$titleTask.' : '.$oData->tas_uid.' To -> '.$titleNextTask.' : '.$oData->next_task); break; case 4: $sType = 'PARALLEL-BY-EVALUATION'; + $oProcessNewPattern = new Process(); + $taskProcess=$oProcessNewPattern->load($oData->pro_uid); + $titleProcess=$taskProcess['PRO_TITLE']; + $oTaskNewPattern = new Task(); + $taskInfo=$oTaskNewPattern->load($oData->tas_uid); + $titleTask=$taskInfo['TAS_TITLE']; + $oTaskNextNewPattern = new Task(); + $taskNextInfo=$oTaskNextNewPattern->load($oData->next_task); + $titleNextTask=$$taskNextInfo['TAS_TITLE']; + G::auditLog("DerivationRule",'PROCESS NAME : '.$titleProcess.' : '.$oData->pro_uid.' Routing rule : '.$sType.' from -> '.$titleTask.' : '.$oData->tas_uid.' To -> '.$titleNextTask.' : '.$oData->next_task); break; case 5: $sType = 'SEC-JOIN'; + $taskProcess=$oProcessNewPattern->load($oData->pro_uid); + $titleProcess=$taskProcess['PRO_TITLE']; + $oTaskNewPattern = new Task(); + $taskInfo=$oTaskNewPattern->load($oData->tas_uid); + $titleTask=$taskInfo['TAS_TITLE']; + $oTaskNextNewPattern = new Task(); + $taskNextInfo=$oTaskNextNewPattern->load($oData->next_task); + $titleNextTask=$$taskNextInfo['TAS_TITLE']; + G::auditLog("DerivationRule",'PROCESS NAME : '.$titleProcess.' : '.$oData->pro_uid.' Routing rule : '.$sType.' from -> '.$titleTask.' : '.$oData->tas_uid.' To -> '.$titleNextTask.' : '.$oData->next_task); break; case 8: $sType = 'DISCRIMINATOR'; + $taskProcess=$oProcessNewPattern->load($oData->pro_uid); + $titleProcess=$taskProcess['PRO_TITLE']; + $oTaskNewPattern = new Task(); + $taskInfo=$oTaskNewPattern->load($oData->tas_uid); + $titleTask=$taskInfo['TAS_TITLE']; + $oTaskNextNewPattern = new Task(); + $taskNextInfo=$oTaskNextNewPattern->load($oData->next_task); + $titleNextTask=$$taskNextInfo['TAS_TITLE']; + G::auditLog("DerivationRule",'PROCESS NAME : '.$titleProcess.' : '.$oData->pro_uid.' Routing rule : '.$sType.' from -> '.$titleTask.' : '.$oData->tas_uid.' To -> '.$titleNextTask.' : '.$oData->next_task); break; } if (($oData->type != 0) && ($oData->type != 5) && ($oData->type != 8)) { diff --git a/workflow/engine/methods/tasks/tasks_Ajax.php b/workflow/engine/methods/tasks/tasks_Ajax.php index 1215d5410..5d492c7ab 100755 --- a/workflow/engine/methods/tasks/tasks_Ajax.php +++ b/workflow/engine/methods/tasks/tasks_Ajax.php @@ -117,7 +117,16 @@ try { } $result = $oTask->update( $aData ); - + $oTaskNewPattern = new Task(); + $taskInfo=$oTaskNewPattern->load($aData['TAS_UID']); + $titleTask=$taskInfo['TAS_TITLE']; + $values=''; + foreach ($aData as $key => $value){ + if ($value!='') { + $values.=$key.' -> '.$value.' '; + } + } + G::auditLog("OptionsMenuTask","Update Task DETAILS : ".$values); $response["status"] = "OK"; if ($result == 3) { diff --git a/workflow/engine/templates/cases/casesList.js b/workflow/engine/templates/cases/casesList.js index 77c475fc5..82643f2c9 100755 --- a/workflow/engine/templates/cases/casesList.js +++ b/workflow/engine/templates/cases/casesList.js @@ -1170,7 +1170,7 @@ Ext.onReady ( function() { store: userStore, valueField : 'USR_UID', displayField:'USR_FULLNAME', - typeAhead: true, + typeAhead: false, triggerAction: 'all', emptyText : _('ID_ALL_USERS'), selectOnFocus : true, @@ -1178,7 +1178,7 @@ Ext.onReady ( function() { width: 180, allowBlank : true, autocomplete: true, - typeAhead: true, + minChars: 1, hideTrigger:true, listeners:{ scope: this, @@ -1233,6 +1233,15 @@ Ext.onReady ( function() { doSearch(); } } + + var resetSuggestButton = { + text:'X', + ctCls:"pm_search_x_button_des", + handler: function(){ + suggestUser.setValue(''); + doSearch(); + } + } textJump = { xtype: 'numberfield', @@ -1866,6 +1875,7 @@ Ext.onReady ( function() { _("ID_USER"), //comboUser, suggestUser, + resetSuggestButton, '   ' //'-', //textSearch,