diff --git a/workflow/engine/methods/cases/proxyReassignUsersList.php b/workflow/engine/methods/cases/proxyReassignUsersList.php index baaabd03f..bcd2da87c 100644 --- a/workflow/engine/methods/cases/proxyReassignUsersList.php +++ b/workflow/engine/methods/cases/proxyReassignUsersList.php @@ -1,5 +1,6 @@ 0) { + foreach ($array as $k => $v) { + if (is_array($v)) { + foreach ($v as $k2 => $v2) { + if ($k2 == $on) { + $sortable_array[$k] = $v2; + } + } + } else { + $sortable_array[$k] = $v; + } + } + + switch ($order) { + case SORT_ASC: + asort($sortable_array); + break; + case SORT_DESC: + arsort($sortable_array); + break; + } + + foreach ($sortable_array as $k => $v) { + if ($query==''){ + $new_array[] = $array[$k]; + } else { + $pos1 = stripos($array[$k]['userFullname'], $query); + if ($pos1!==false&&$pos1==0){ + $new_array[] = $array[$k]; + } + } + } + } + return $new_array; +} // $APP_UIDS = explode(',', $_POST['APP_UID']); $appUid = isset($_POST['application']) ? $_POST['application'] : ''; @@ -73,5 +113,6 @@ // $oTmp = new stdClass(); // $oTmp->items = $aUsersInvolved; $result = array(); + $aUsersInvolved = array_sort($aUsersInvolved,'userFullname',SORT_ASC, $query); $result['data'] = $aUsersInvolved; print G::json_encode( $result ) ; diff --git a/workflow/engine/templates/cases/casesList.js b/workflow/engine/templates/cases/casesList.js index f50da37d3..ba760d8af 100755 --- a/workflow/engine/templates/cases/casesList.js +++ b/workflow/engine/templates/cases/casesList.js @@ -1306,8 +1306,9 @@ var gridForm = new Ext.FormPanel({ } } comboUsersToReassign.clearValue(); + storeUsersToReassign.removeAll(); storeUsersToReassign.setBaseParam('application',application); - storeUsersToReassign.load(); + //storeUsersToReassign.load(); //alert(record.USERS); } // Allow rows to be rendered. } diff --git a/workflow/engine/templates/cases/reassignList.js b/workflow/engine/templates/cases/reassignList.js index 450f0731d..e785f61a6 100644 --- a/workflow/engine/templates/cases/reassignList.js +++ b/workflow/engine/templates/cases/reassignList.js @@ -55,10 +55,18 @@ // create the combo instance var comboUsersToReassign = new Ext.form.ComboBox({ - //typeAhead : true, - fieldLabel : 'Reassign to', + width : 280, + boxMaxWidth : 180, + editable : true, + forceSelection: false, + minChars : 2, + valueField : 'userId', + displayField : 'userFullname', + selectOnFocus : true, + typeAhead : true, + autocomplete : true, + mode : 'remote', triggerAction : 'all', - width : '150', //lazyRender : true, // store : new Ext.data.Store(), store : storeUsersToReassign, @@ -69,9 +77,8 @@ row.set('APP_REASSIGN_USER', record.get('userFullname')); this.setValue(record.get('userFullname')); } - }, - valueField : 'userId', - displayField : 'userFullname' + } + }); //alert (this.fields.); \ No newline at end of file