diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SearchResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SearchResource.java index 838fcbcff4..a64d725c66 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SearchResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SearchResource.java @@ -136,7 +136,7 @@ public class SearchResource implements UserListener, GroupListener @Override public void onEvent(Group group, HandlerEvent event) { - throw new UnsupportedOperationException("Not supported yet."); + groupSearchHandler.clearCache(); } /** diff --git a/scm-webapp/src/main/webapp/resources/js/sonia.repository.js b/scm-webapp/src/main/webapp/resources/js/sonia.repository.js index bcd18e28b0..f326c18163 100644 --- a/scm-webapp/src/main/webapp/resources/js/sonia.repository.js +++ b/scm-webapp/src/main/webapp/resources/js/sonia.repository.js @@ -179,6 +179,16 @@ Sonia.repository.FormPanel = Ext.extend(Sonia.rest.FormPanel,{ } }); + var searchStore = new Ext.data.JsonStore({ + root: 'results', + idProperty: 'value', + fields: ['value','label'], + proxy: new Ext.data.HttpProxy({ + url: restUrl + 'search/users.json', + method: 'GET' + }) + }); + var permissionColModel = new Ext.grid.ColumnModel({ defaults: { sortable: true @@ -193,8 +203,16 @@ Sonia.repository.FormPanel = Ext.extend(Sonia.rest.FormPanel,{ id: 'name', header: 'Name', dataIndex: 'name', - editor: new Ext.form.TextField({ - allowBlank: false + editor: new Ext.form.ComboBox({ + store: searchStore, + displayField: 'label', + valueField: 'value', + typeAhead: true, + mode: 'remote', + queryParam: 'query', + hideTrigger: true, + selectOnFocus:true, + width: 250 }) },{ id: 'type',