summaryrefslogtreecommitdiffstats
path: root/settings/js/users.js
blob: efa08cd0ba14855dc09c234fdd7e66ce7e008575 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
$(document).ready(function(){
	function applyMultiplySelect(element){
		var checked=[];
		var user=element.data('username')
		if(element.data('userGroups')){
			checked=element.data('userGroups').split(', ');
		}
		if(user){
			var checkHandeler=function(group){
				if(user==OC.currentUser && group=='admin'){
					return false;
				}
				$.post(
					OC.filePath('admin','ajax','togglegroups.php'),
					{
						username:user,
						group:group
					},
					function(){}
				);
			}
		}else{
			checkHandeler=false;
		}
		element.multiSelect({
			createText:'add group',
			 checked:checked,
			 oncheck:checkHandeler,
			 onuncheck:checkHandeler
		});
	}
	$('select[multiple]').each(function(index,element){
		applyMultiplySelect($(element));
	});
	
	$('td.remove>img').live('click',function(event){
		var uid=$(this).parent().parent().data('uid');
		$.post(
			OC.filePath('admin','ajax','removeuser.php'),
			{username:uid},
			function(result){
			
			}
		);
		$(this).parent().parent().remove();
	});
	
	$('td.password>img').live('click',function(event){
		event.stopPropagation();
		var img=$(this);
		var uid=img.parent().parent().data('uid');
		var input=$('<input type="password">');
		img.css('display','none');
		img.parent().children('span').replaceWith(input);
		input.focus();
		input.keypress(function(event) {
			if(event.keyCode == 13) {
				if($(this).val().length>0){
					$.post(
						OC.filePath('admin','ajax','changepassword.php'),
						{username:uid,password:$(this).val()},
						function(result){}
					);
					input.blur();
				}else{
					input.blur();
				}
			}
		});
		input.blur(function(){
			$(this).replaceWith($('<span>●●●●●●●</span>'));
			img.css('display','');
		});
	});
	$('td.password').live('click',function(event){
		$(this).children('img').click();
	});
	
	$('#newuser').submit(function(event){
		event.preventDefault();
		var username=$('#newusername').val();
		var password=$('#newuserpassword').val();
		var groups=$('#newusergroups').prev().children('div').data('settings').checked;
		$.post(
			OC.filePath('admin','ajax','createuser.php'),
			{
				username:username,
				password:password,
				groups:groups,
			},
			function(result){
				
			}
		);
		var tr=$('#content table tr').first().next().clone();
		tr.attr('data-uid',username);
		tr.find('td.name').text(username);
		var select=$('<select multiple="multiple" data-placehoder="Groups" title="Groups">');
		select.data('username',username);
		select.data('userGroups',groups.join(', '));
		tr.find('td.groups').empty();
		$.each($('#content table').data('groups').split(', '),function(i,group){
			select.append($('<option value="'+group+'">'+group+'</option>'));
		});
		tr.find('td.groups').append(select);
		if(tr.find('td.remve img').length==0){
			tr.find('td.remove').append($('<img alt="Remove" title="'+t('admin','Remove')+'" class="svg action" src="'+OC.imagePath('core','actions/delete')+'"/>'));
		}
		applyMultiplySelect(select);
		$('#content table tr').last().after(tr);
	});
});