$.Controller.extend('IPA.Controllers.UserSearchTable', { }, { init: function(el) { this.tbody = $('tbody', this.element); this.row = $('tr', this.tbody).first(); IPA.Models.User.find([], { all: true }, this.callback('list')); }, list: function(users) { this.tbody.empty(); for (var i=0; i'); dialog.append('Login name: '); var uid = $('', { name: 'uid' }).appendTo(dialog); dialog.append('
'); dialog.append('First name: '); var givenname = $('', { name: 'givenname' }).appendTo(dialog); dialog.append('
'); dialog.append('Last name: '); var sn = $('', { name: 'sn' }).appendTo(dialog); var list = this.callback('list'); dialog.dialog({ title: 'Add', modal: true, buttons: { 'Add': function() { IPA.Models.User.add( [uid.val()], { givenname: givenname.val(), sn: sn.val() }, function(data, text_status, xhr) { IPA.Models.User.find([], { all: true }, list); dialog.dialog('destroy'); dialog.remove(); } ); }, 'Cancel': function() { dialog.dialog('destroy'); dialog.remove(); } } }); ev.preventDefault(); }, 'input[name="delete"] click': function(el, ev) { var args = []; $('input[name="select"]:checked', this.tbody).each(function() { args.push($(this).val()); }); var list = this.callback('list'); IPA.Models.User.del(args, {},function(data, text_status, xhr) { IPA.Models.User.find([], { all: true }, list); }); ev.preventDefault(); } });