packages/ssoinabox-webui/root/usr/local/share/ssoinabox/htdocs/res/group-create-form.js
changeset 0 3906ca745819
--- /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');
+}
+
+