summaryrefslogtreecommitdiffstats
path: root/admin/js/users.js
diff options
context:
space:
mode:
authorRobin Appelman <icewind1991@gmail.com>2011-08-10 20:51:35 +0200
committerRobin Appelman <icewind1991@gmail.com>2011-08-10 22:38:28 +0200
commitf03874ac4994ac54816828a7e5d58570080c5bcf (patch)
treec57e9bb47514457005b6902c74ca64a6bc5cd766 /admin/js/users.js
parentb54d790a873290e71654e94ac5072e87e6ba5427 (diff)
downloadnextcloud-server-f03874ac4994ac54816828a7e5d58570080c5bcf.tar.gz
nextcloud-server-f03874ac4994ac54816828a7e5d58570080c5bcf.zip
work on user management
Diffstat (limited to 'admin/js/users.js')
-rw-r--r--admin/js/users.js110
1 files changed, 44 insertions, 66 deletions
diff --git a/admin/js/users.js b/admin/js/users.js
index 7e643fb60a2..7402255750f 100644
--- a/admin/js/users.js
+++ b/admin/js/users.js
@@ -1,5 +1,37 @@
$(document).ready(function(){
- $('select[multiple]').chosen();
+ 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');
@@ -17,7 +49,7 @@ $(document).ready(function(){
event.preventDefault();
var username=$('#newusername').val();
var password=$('#newuserpassword').val();
- var groups=$('#newusergroups').val();
+ var groups=$('#newusergroups').prev().children('div').data('settings').checked;
$.post(
OC.filePath('admin','ajax','createuser.php'),
{
@@ -29,72 +61,18 @@ $(document).ready(function(){
}
);
- var tr=$('#rightcontent tr').first().clone();
+ var tr=$('#content table tr').first().clone();
tr.attr('data-uid',username);
tr.find('td.name').text(username);
- tr.find('td.groups').text(groups.join(', '));
- $('#rightcontent tr').first().after(tr);
- if(groups.indexOf($('#leftcontent li.selected').text().trim())!=-1){
- tr.find('td.select input').attr('checked','checked');
- }
- });
-
- $('#newgroup').submit(function(event){
- event.preventDefault();
- var name=$('#newgroupname').val();
- $.post(
- OC.filePath('admin','ajax','creategroup.php'),
- {groupname:name},
- function(result){
-
- }
- );
- $('#newusergroups').append('<option value="'+name+'">'+name+'</option>');
- $('select[multiple]').trigger("liszt:updated");
- var li=$('#leftcontent li').first().next().clone();
- li.text(name);
- $('#leftcontent li').first().after(li);
- });
-
- $('#leftcontent li').live('click',function(event){
- $('#leftcontent li').removeClass('selected');
- $(this).addClass('selected');
- $('#rightcontent tr td.select input').show();
- $('#rightcontent tr td.select input').removeAttr('checked');
- var group=$(this).text().trim();
- var rows=$('#rightcontent tr').filter(function(i,tr){
- return ($(tr).children('td.groups').text().split(', ').indexOf(group)>-1);
+ 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>'));
});
- rows.find('td.select input').attr('checked','checked');
- });
- $('#rightcontent tr td.select input').live('change',function(event){
- var group=$('#leftcontent li.selected').text().trim();
- var user=$(this).parent().parent().children('td.name').text().trim();
- if(group=='admin' && user==OC.currentUser){
- event.preventDefault();
- $(this).attr('checked','checked');
- return false;
- }
- if(group){
- $.post(
- OC.filePath('admin','ajax','togglegroups.php'),
- {
- username:user,
- group:group
- },
- function(result){
-
- }
- );
- var groups=$(this).parent().parent().children('td.groups').text().trim().split(', ');
- if(groups[0]=='') groups.pop();
- var index=groups.indexOf(group);
- if(index==-1){
- groups.push(group);
- }else{
- groups.splice(index,1);
- }
- $(this).parent().parent().children('td.groups').text(groups.join(', '));
- }
+ tr.find('td.groups').append(select);
+ applyMultiplySelect(select);
+ $('#content table tr').last().after(tr);
});
});