From c8ab691135ceb0a97e7ea27f3058812e7db5656a Mon Sep 17 00:00:00 2001 From: Alvaro Campos Date: Wed, 1 Feb 2012 16:33:53 -0400 Subject: [PATCH] BUG 7084 fixed issue of multiple reassign --- .../methods/cases/proxyReassignUsersList.php | 37 ++++++++----------- .../cases/proxySaveReassignCasesList.php | 29 +++++++-------- workflow/engine/templates/cases/casesList.js | 4 +- 3 files changed, 30 insertions(+), 40 deletions(-) diff --git a/workflow/engine/methods/cases/proxyReassignUsersList.php b/workflow/engine/methods/cases/proxyReassignUsersList.php index bcd2da87c..0309e9ae0 100755 --- a/workflow/engine/methods/cases/proxyReassignUsersList.php +++ b/workflow/engine/methods/cases/proxyReassignUsersList.php @@ -1,4 +1,7 @@ $v) { if ($query==''){ $new_array[] = $array[$k]; - } else { - $pos1 = stripos($array[$k]['userFullname'], $query); - if ($pos1!==false&&$pos1==0){ - $new_array[] = $array[$k]; - } + } + else { + if ( preg_match("/".$query."/i", $array[$k]['userFullname']) ) { + $new_array[] = $array[$k]; + } } } } @@ -76,25 +79,15 @@ function array_sort($array, $on, $order=SORT_ASC, $query='') $aCase = $oCases->loadCaseInCurrentDelegation($appUid); $aUsersInvolved = Array(); - $aCaseGroups = $oTasks->getGroupsOfTask($aCase['TAS_UID'], 1); - - G::loadClass('configuration'); - $oConfig = new Configuration(); - try { - $aConfig = $oConfig->load('ENVIRONMENT_SETTINGS'); - $aConfig = unserialize($aConfig['CFG_VALUE']); - } catch (Exception $e){ - // if there is no configuration record then. - $aConfig['format'] = '@userName'; - } - -// var_dump($aConfig); + $aCaseGroups = $oTasks->getGroupsOfTask($aCase['TAS_UID'], 1); + $oConf = new Configurations; + $ConfEnv= $oConf->getFormats(); foreach ( $aCaseGroups as $aCaseGroup ) { $aCaseUsers = $oGroups->getUsersOfGroup($aCaseGroup['GRP_UID']); foreach ( $aCaseUsers as $aCaseUser ) { if ( $aCaseUser['USR_UID'] != $sReassignFromUser ) { $aCaseUserRecord = $oUser->load($aCaseUser['USR_UID']); - $sCaseUser = G::getFormatUserList ($aConfig['format'],$aCaseUserRecord); + $sCaseUser = G::getFormatUserList ($ConfEnv['format'],$aCaseUserRecord); // $aUsersInvolved[] = array ( 'userUid' => $aCaseUser['USR_UID'] , 'userFullname' => $aCaseUserRecord['USR_FIRSTNAME'] . ' ' . $aCaseUserRecord['USR_LASTNAME']); // . ' (' . $aCaseUserRecord['USR_USERNAME'] . ')'; $aUsersInvolved[] = array ( 'userUid' => $aCaseUser['USR_UID'] , 'userFullname' => $sCaseUser); // . ' (' . $aCaseUserRecord['USR_USERNAME'] . ')'; } @@ -105,14 +98,14 @@ function array_sort($array, $on, $order=SORT_ASC, $query='') foreach ( $aCaseUsers as $aCaseUser ) { if ( $aCaseUser['USR_UID'] != $sReassignFromUser ) { $aCaseUserRecord = $oUser->load($aCaseUser['USR_UID']); - $sCaseUser = G::getFormatUserList ($aConfig['format'],$aCaseUserRecord); + $sCaseUser = G::getFormatUserList ($ConfEnv['format'],$aCaseUserRecord); // $aUsersInvolved[] = array ( 'userUid' => $aCaseUser['USR_UID'] , 'userFullname' => $aCaseUserRecord['USR_FIRSTNAME'] . ' ' . $aCaseUserRecord['USR_LASTNAME']); // . ' (' . $aCaseUserRecord['USR_USERNAME'] . ')'; $aUsersInvolved[] = array ( 'userUid' => $aCaseUser['USR_UID'] , 'userFullname' => $sCaseUser); // . ' (' . $aCaseUserRecord['USR_USERNAME'] . ')'; } } // $oTmp = new stdClass(); // $oTmp->items = $aUsersInvolved; - $result = array(); - $aUsersInvolved = array_sort($aUsersInvolved,'userFullname',SORT_ASC, $query); + $result = array(); + $aUsersInvolved = array_sort($aUsersInvolved,'userFullname',SORT_ASC, $query); $result['data'] = $aUsersInvolved; print G::json_encode( $result ) ; diff --git a/workflow/engine/methods/cases/proxySaveReassignCasesList.php b/workflow/engine/methods/cases/proxySaveReassignCasesList.php index 58dc7ae4b..755de34a0 100755 --- a/workflow/engine/methods/cases/proxySaveReassignCasesList.php +++ b/workflow/engine/methods/cases/proxySaveReassignCasesList.php @@ -52,29 +52,26 @@ // $params = array (); // $sql = BasePeer::createSelectSql($oCasesReassignList, $params); // var_dump($sql); - if (is_array($aData)){ + if ( is_array($aData) ) { + $currentCasesReassigned=0; foreach ($aData as $data){ $oTmpReassignCriteria = $oCasesReassignList; $oTmpReassignCriteria->add(AppCacheViewPeer::TAS_UID,$data->TAS_UID); $rs = AppCacheViewPeer::doSelectRS($oTmpReassignCriteria); $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); $rs->next(); - $row = $rs->getRow(); - $currentCasesReassigned=0; - while (is_array($row)) { - $APP_UID = $row['APP_UID']; - $aCase = $oCases->loadCaseInCurrentDelegation($APP_UID); - $oCases->reassignCase($aCase['APP_UID'], $aCase['DEL_INDEX'], $aCase['USR_UID'], $data->APP_REASSIGN_USER_UID); -// var_dump($aCase); -// echo ("
"); - $currentCasesReassigned++; - $casesReassignedCount++; - $rs->next(); - $row = $rs->getRow(); - } - $serverResponse[] = array ('TAS_TITLE'=>$data->APP_TAS_TITLE,'REASSIGNED_CASES'=>$currentCasesReassigned); + $row = $rs->getRow(); + $aCase = $oCases->loadCaseInCurrentDelegation($data->APP_UID); + $oCases->reassignCase($aCase['APP_UID'], $aCase['DEL_INDEX'], $aCase['USR_UID'], $data->APP_REASSIGN_USER_UID); + $currentCasesReassigned++; + $casesReassignedCount++; + $serverResponse[] = array ('APP_REASSIGN_USER' => $data->APP_REASSIGN_USER, + 'APP_TITLE' => $data->APP_TITLE, + 'TAS_TITLE' => $data->APP_TAS_TITLE, + 'REASSIGNED_CASES' => $currentCasesReassigned); } - } else { + } + else { $oTmpReassignCriteria = $oCasesReassignList; $oTmpReassignCriteria->add(AppCacheViewPeer::TAS_UID,$aData->TAS_UID); $rs = AppCacheViewPeer::doSelectRS($oTmpReassignCriteria); diff --git a/workflow/engine/templates/cases/casesList.js b/workflow/engine/templates/cases/casesList.js index b5bd35d20..6efaa6e16 100644 --- a/workflow/engine/templates/cases/casesList.js +++ b/workflow/engine/templates/cases/casesList.js @@ -503,12 +503,12 @@ Ext.onReady ( function() { for (count in ajaxServerResponse) { if ( ajaxServerResponse[count]['TAS_TITLE'] != undefined ){ - message = message + "Task: " + ajaxServerResponse[count]['TAS_TITLE'] + " - Reassigned Cases: " + ajaxServerResponse[count]['REASSIGNED_CASES'] + "
" ; + message = message + "Case: " + ajaxServerResponse[count]['APP_TITLE'] + " - Reassigned to: " + ajaxServerResponse[count]['APP_REASSIGN_USER'] + "
" ; }; } if (ajaxServerResponse['TOTAL']!=undefined&&ajaxServerResponse['TOTAL']!=-1){ - message = message + "Total Cases Reassigned: " + ajaxServerResponse['TOTAL']; + message = message + "
Total Cases Reassigned: " + ajaxServerResponse['TOTAL']; } else { message = ""; };