packages/ssoinabox-webui/root/usr/local/share/ssoinabox/htdocs/res/group-create-form.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/packages/ssoinabox-webui/root/usr/local/share/ssoinabox/htdocs/res/group-create-form.js Tue Jan 08 23:13:29 2013 -0500
@@ -0,0 +1,92 @@
+$(function()
+ {
+ $('.show-tooltip').tooltip();
+ window.userList = [];
+ for ( var i in users )
+ {
+ window.userList.push(i);
+ }
+
+ $('#groupMemberAdder').typeahead({
+ source: window.userList
+ }).bind('keyup', function(e)
+ {
+ if ( e.keyCode != 13 )
+ return;
+
+ // user doesn't exist
+ if ( typeof(window.users[$(this).val()]) != 'object' )
+ return;
+
+ $(this).attr('disabled', 'disabled');
+
+ var gid = $('.put-members-here').data('gid');
+ var uid = $(this).val();
+ var me = this;
+
+ $.get('/ajax.php?op=addUserToGroup&gid=' + gid + '&uid=' + uid, function(response)
+ {
+ $(me).attr('disabled', false).val('');
+
+ if ( !response )
+ return;
+
+ drawGroupMember(gid, uid);
+ }, 'json');
+ });
+
+ $('#groupCreateForm').bind('shown', function()
+ {
+ $('input[name="cn"]', this).focus();
+ });
+
+ $(document.forms.groupCreateForm.cn).bind('keyup', function()
+ {
+ if ( (/^[a-z][a-z0-9]{2,31}$/).test($(this).val()) )
+ {
+ $(this).parents('div.control-group').removeClass('error').addClass('success');
+ }
+ else
+ {
+ $(this).parents('div.control-group').removeClass('success').addClass('error');
+ }
+ });
+ });
+
+
+function viewGroup(gid)
+{
+ void(gid);
+ $.get('/ajax.php?op=getGroup&gid=' + gid, function(response)
+ {
+ $('.put-members-here').empty().data('gid', gid);
+ for ( var i = 0; i < response.memberUid.length; i++ )
+ {
+ drawGroupMember(response.cn, response.memberUid[i]);
+ }
+ $('#groupViewModal').modal('show');
+ }, 'json');
+}
+
+function drawGroupMember(gid, uid)
+{
+ $('<tr />')
+ .append('<td>' + uid + '</td>')
+ .append('<td>' + users[uid].cn + '</td>')
+ .append('<td class="actions"><a href="#" onclick="removeUserFromGroup(this, \'' + gid + '\', \'' + uid + '\'); return false;" class="btn btn-primary btn-mini btn-danger"><i class="icon icon-white icon-remove"></i></a></td>')
+ .prependTo('.put-members-here');
+}
+
+function removeUserFromGroup(a, gid, uid)
+{
+ void(a);
+ $.get('/ajax?op=removeUserFromGroup&gid=' + gid + '&uid=' + uid, function(response)
+ {
+ if ( response )
+ {
+ $(a).parents('tr').remove();
+ }
+ }, 'json');
+}
+
+