0
|
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 |
|