diff --git a/workflow/engine/methods/cases/casesList_Ajax.php b/workflow/engine/methods/cases/casesList_Ajax.php index 20f208433..2de90a5ea 100644 --- a/workflow/engine/methods/cases/casesList_Ajax.php +++ b/workflow/engine/methods/cases/casesList_Ajax.php @@ -46,7 +46,7 @@ function filterUserListArray($users = array(), $filter = '') { $filteredUsers = array(); foreach ($users as $user) { - if (stripos($user['USR_FULLNAME'], $filter) || empty($filter)) { + if (stripos($user['USR_FULLNAME'], $filter) !== false || empty($filter)) { $filteredUsers[] = $user; } } @@ -65,27 +65,31 @@ if ($actionAjax == "userValues") { //now get users, just for the Search action switch ($action) { case 'to_reassign': - $cUsers = $oAppCache->getToReassignListCriteria(null); - $cUsers->addSelectColumn(AppCacheViewPeer::USR_UID); - - if (g::MySQLSintaxis()) { - $cUsers->addGroupByColumn(AppCacheViewPeer::USR_UID); - } - + G::LoadClass("configuration"); + $conf = new Configurations(); + $confEnvSetting = $conf->getFormats(); + $cUsers = new Criteria('workflow'); + $cUsers->clearSelectColumns(); + $cUsers->addSelectColumn(UsersPeer::USR_UID); + $cUsers->addSelectColumn(UsersPeer::USR_USERNAME); + $cUsers->addSelectColumn(UsersPeer::USR_FIRSTNAME); + $cUsers->addSelectColumn(UsersPeer::USR_LASTNAME); + $cUsers->add(UsersPeer::USR_STATUS, 'CLOSED', Criteria::NOT_EQUAL); if (!is_null($query)) { $filters = $cUsers->getNewCriterion(UsersPeer::USR_FIRSTNAME, '%' . $query . '%', Criteria::LIKE)->addOr( - $cUsers->getNewCriterion(UsersPeer::USR_LASTNAME, '%' . $query . '%', Criteria::LIKE)->addOr( - $cUsers->getNewCriterion(UsersPeer::USR_USERNAME, '%' . $query . '%', Criteria::LIKE))); - $cUsers->addAnd($filters); + $cUsers->getNewCriterion(UsersPeer::USR_LASTNAME, '%' . $query . '%', Criteria::LIKE)->addOr( + $cUsers->getNewCriterion(UsersPeer::USR_USERNAME, '%' . $query . '%', Criteria::LIKE))); + $cUsers->addOr($filters); } $cUsers->setLimit(20); - $cUsers->addAscendingOrderByColumn(AppCacheViewPeer::APP_CURRENT_USER); - $oDataset = AppCacheViewPeer::doSelectRS($cUsers, Propel::getDbConnection('workflow_ro')); + $cUsers->addAscendingOrderByColumn(UsersPeer::TABLE_NAME . "." . $conf->userNameFormatGetFirstFieldByUsersTable()); + $oDataset = UsersPeer::doSelectRS($cUsers); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $oDataset->next(); - while ($aRow = $oDataset->getRow()) { - $users[] = array("USR_UID" => $aRow['USR_UID'], "USR_FULLNAME" => $aRow['APP_CURRENT_USER']); - $oDataset->next(); + + while ($oDataset->next()) { + $row = $oDataset->getRow(); + $usrFullName = $conf->usersNameFormatBySetParameters($confEnvSetting["format"], $row["USR_USERNAME"], $row["USR_FIRSTNAME"], $row["USR_LASTNAME"]); + $users[] = array("USR_UID" => $row["USR_UID"], "USR_FULLNAME" => $usrFullName); } break; case 'search_simple': diff --git a/workflow/engine/templates/cases/casesList.js b/workflow/engine/templates/cases/casesList.js index f1469952b..9d66b777d 100644 --- a/workflow/engine/templates/cases/casesList.js +++ b/workflow/engine/templates/cases/casesList.js @@ -1289,7 +1289,7 @@ Ext.onReady ( function() { displayField:'USR_FULLNAME', typeAhead: false, triggerAction: 'all', - emptyText : _('ID_ALL_USERS'), + emptyText: '- ' + _('ID_ALL_USERS') + ' -', selectOnFocus : true, editable : true, width: 180, @@ -1305,6 +1305,7 @@ Ext.onReady ( function() { storeCases.setBaseParam( 'user', filterUser); storeCases.setBaseParam( 'start', 0); storeCases.setBaseParam( 'limit', pageSize); + doSearch(); } } }); @@ -1356,6 +1357,7 @@ Ext.onReady ( function() { ctCls:"pm_search_x_button_des", handler: function(){ suggestUser.setValue(''); + storeCases.setBaseParam('user', ''); doSearch(); } } @@ -2367,7 +2369,7 @@ Ext.onReady ( function() { storeCases.setBaseParam("search", textSearch.getValue()); break; case "to_reassign": - storeCases.setBaseParam("user", comboAllUsers.store.getAt(0).get(comboAllUsers.valueField)); + storeCases.setBaseParam("user", ""); storeCases.setBaseParam("category", ""); storeCases.setBaseParam("process", ""); storeCases.setBaseParam("search", textSearch.getValue());