aboutsummaryrefslogtreecommitdiffstats
path: root/settings/js
diff options
context:
space:
mode:
Diffstat (limited to 'settings/js')
-rw-r--r--settings/js/apps.js38
-rw-r--r--settings/js/personal.js (renamed from settings/js/main.js)0
-rw-r--r--settings/js/users.js112
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);
+ });
+});