packages/ssoinabox-webui/root/usr/local/share/ssoinabox/htdocs/res/group-create-form.js
changeset 0 3906ca745819
equal deleted inserted replaced
-1:000000000000 0:3906ca745819
       
     1 $(function()
       
     2 	{
       
     3 		$('.show-tooltip').tooltip();
       
     4 		window.userList = [];
       
     5 		for ( var i in users )
       
     6 		{
       
     7 			window.userList.push(i);
       
     8 		}
       
     9 		
       
    10 		$('#groupMemberAdder').typeahead({
       
    11 				source: window.userList
       
    12 			}).bind('keyup', function(e)
       
    13 			{
       
    14 				if ( e.keyCode != 13 )
       
    15 					return;
       
    16 				
       
    17 				// user doesn't exist
       
    18 				if ( typeof(window.users[$(this).val()]) != 'object' )
       
    19 					return;
       
    20 				
       
    21 				$(this).attr('disabled', 'disabled');
       
    22 				
       
    23 				var gid = $('.put-members-here').data('gid');
       
    24 				var uid = $(this).val();
       
    25 				var me = this;
       
    26 				
       
    27 				$.get('/ajax.php?op=addUserToGroup&gid=' + gid + '&uid=' + uid, function(response)
       
    28 					{
       
    29 						$(me).attr('disabled', false).val('');
       
    30 						
       
    31 						if ( !response )
       
    32 							return;
       
    33 						
       
    34 						drawGroupMember(gid, uid);
       
    35 					}, 'json');
       
    36 			});
       
    37 			
       
    38 		$('#groupCreateForm').bind('shown', function()
       
    39 			{
       
    40 				$('input[name="cn"]', this).focus();
       
    41 			});
       
    42 			
       
    43 		$(document.forms.groupCreateForm.cn).bind('keyup', function()
       
    44 			{
       
    45 				if ( (/^[a-z][a-z0-9]{2,31}$/).test($(this).val()) )
       
    46 				{
       
    47 					$(this).parents('div.control-group').removeClass('error').addClass('success');
       
    48 				}
       
    49 				else
       
    50 				{
       
    51 					$(this).parents('div.control-group').removeClass('success').addClass('error');
       
    52 				}
       
    53 			});
       
    54 	});
       
    55 
       
    56 
       
    57 function viewGroup(gid)
       
    58 {
       
    59 	void(gid);
       
    60 	$.get('/ajax.php?op=getGroup&gid=' + gid, function(response)
       
    61 		{
       
    62 			$('.put-members-here').empty().data('gid', gid);
       
    63 			for ( var i = 0; i < response.memberUid.length; i++ )
       
    64 			{
       
    65 				drawGroupMember(response.cn, response.memberUid[i]);
       
    66 			}
       
    67 			$('#groupViewModal').modal('show');
       
    68 		}, 'json');
       
    69 }
       
    70 
       
    71 function drawGroupMember(gid, uid)
       
    72 {
       
    73 	$('<tr />')
       
    74 		.append('<td>' + uid + '</td>')
       
    75 		.append('<td>' + users[uid].cn + '</td>')
       
    76 		.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>')
       
    77 		.prependTo('.put-members-here');
       
    78 }
       
    79 
       
    80 function removeUserFromGroup(a, gid, uid)
       
    81 {
       
    82 	void(a);
       
    83 	$.get('/ajax?op=removeUserFromGroup&gid=' + gid + '&uid=' + uid, function(response)
       
    84 		{
       
    85 			if ( response )
       
    86 			{
       
    87 				$(a).parents('tr').remove();
       
    88 			}
       
    89 		}, 'json');
       
    90 }
       
    91 
       
    92