packages/ssoinabox-webui/root/usr/local/share/ssoinabox/htdocs/res/group-create-form.js
$(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');
}