diff options
Diffstat (limited to 'settings/js')
-rw-r--r-- | settings/js/apps.js | 38 | ||||
-rw-r--r-- | settings/js/personal.js (renamed from settings/js/main.js) | 0 | ||||
-rw-r--r-- | settings/js/users.js | 112 |
3 files changed, 150 insertions, 0 deletions
diff --git a/settings/js/apps.js b/settings/js/apps.js new file mode 100644 index 00000000000..069681e1cd1 --- /dev/null +++ b/settings/js/apps.js @@ -0,0 +1,38 @@ +$(document).ready(function(){ + $('#leftcontent li').each(function(index,li){ + var app=$.parseJSON($(this).children('span').text()); + $(li).data('app',app); + }); + $('#leftcontent li').click(function(){ + var app=$(this).data('app'); + $('#rightcontent p').show(); + $('#rightcontent span.name').text(app.name); + $('#rightcontent span.version').text(app.version); + $('#rightcontent p.description').text(app.description); + $('#rightcontent span.author').text(app.author); + $('#rightcontent span.licence').text(app.licence); + + $('#rightcontent input.enable').show(); + $('#rightcontent input.enable').val((app.active)?t('admin','Disable'):t('admin','Enable')); + $('#rightcontent input.enable').data('appid',app.id); + $('#rightcontent input.enable').data('active',app.active); + }); + $('#rightcontent input.enable').click(function(){ + var app=$(this).data('appid'); + var active=$(this).data('active'); + if(app){ + if(active){ + $.post(OC.filePath('admin','ajax','disableapp.php'),{appid:app}); + $('#leftcontent li[data-id="'+app+'"]').removeClass('active'); + }else{ + $.post(OC.filePath('admin','ajax','enableapp.php'),{appid:app}); + $('#leftcontent li[data-id="'+app+'"]').addClass('active'); + } + active=!active; + $(this).data('active',active); + $(this).val((active)?t('admin','Disable'):t('admin','Enable')); + var appData=$('#leftcontent li[data-id="'+app+'"]'); + appData.active=active; + } + }); +}); diff --git a/settings/js/main.js b/settings/js/personal.js index f6b7eeb7584..f6b7eeb7584 100644 --- a/settings/js/main.js +++ b/settings/js/personal.js diff --git a/settings/js/users.js b/settings/js/users.js new file mode 100644 index 00000000000..addf1c2d65f --- /dev/null +++ b/settings/js/users.js @@ -0,0 +1,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" src="'+OC.imagePath('core','actions/delete')+'"/>')); + } + applyMultiplySelect(select); + $('#content table tr').last().after(tr); + }); +}); |