]> source.dussan.org Git - nextcloud-server.git/commitdiff
LDAP: Always preset configuration prefix when no configuratin is stored or all remain...
authorArthur Schiwon <blizzz@owncloud.com>
Wed, 30 Jan 2013 01:30:24 +0000 (02:30 +0100)
committerArthur Schiwon <blizzz@owncloud.com>
Wed, 30 Jan 2013 01:30:24 +0000 (02:30 +0100)
apps/user_ldap/js/settings.js
apps/user_ldap/settings.php

index 7d0a85248f3940157a93bef80997d27d0d849aa9..d1b1b715a57093def9e9bf56285468c283ecb23c 100644 (file)
@@ -1,5 +1,9 @@
 var LdapConfiguration = {
        refreshConfig: function() {
+               if($('#ldap_serverconfig_chooser option').length < 2) {
+                       LdapConfiguration.addConfiguration(true);
+                       return;
+               }
                $.post(
                        OC.filePath('user_ldap','ajax','getConfiguration.php'),
                        $('#ldap_serverconfig_chooser').serialize(),
@@ -64,6 +68,37 @@ var LdapConfiguration = {
                                }
                        }
                );
+       },
+
+       addConfiguration: function(doNotAsk) {
+               $.post(
+                       OC.filePath('user_ldap','ajax','getNewServerConfigPrefix.php'),
+                       function (result) {
+                               if(result.status == 'success') {
+                                       if(doNotAsk) {
+                                               LdapConfiguration.resetDefaults();
+                                       } else {
+                                               OC.dialogs.confirm(
+                                                       t('user_ldap', 'Take over settings from recent server configuration?'),
+                                                       t('user_ldap', 'Keep settings?'),
+                                                       function(keep) {
+                                                               if(!keep) {
+                                                                       LdapConfiguration.resetDefaults();
+                                                               }
+                                                       }
+                                               );
+                                       }
+                                       $('#ldap_serverconfig_chooser option:selected').removeAttr('selected');
+                                       var html = '<option value="'+result.configPrefix+'" selected="selected">'+$('#ldap_serverconfig_chooser option').length+'. Server</option>';
+                                       $('#ldap_serverconfig_chooser option:last').before(html);
+                               } else {
+                                       OC.dialogs.alert(
+                                               result.message,
+                                               t('user_ldap', 'Cannot add server configuration')
+                                       );
+                               }
+                       }
+               );
        }
 }
 
@@ -123,30 +158,7 @@ $(document).ready(function() {
        $('#ldap_serverconfig_chooser').change(function(event) {
                value = $('#ldap_serverconfig_chooser option:selected:first').attr('value');
                if(value == 'NEW') {
-                       $.post(
-                               OC.filePath('user_ldap','ajax','getNewServerConfigPrefix.php'),
-                               function (result) {
-                                       if(result.status == 'success') {
-                                               OC.dialogs.confirm(
-                                                       t('user_ldap', 'Take over settings from recent server configuration?'),
-                                                       t('user_ldap', 'Keep settings?'),
-                                                       function(keep) {
-                                                               if(!keep) {
-                                                                       LdapConfiguration.resetDefaults();
-                                                               }
-                                                       }
-                                               );
-                                               $('#ldap_serverconfig_chooser option:selected').removeAttr('selected');
-                                               var html = '<option value="'+result.configPrefix+'" selected="selected">'+$('#ldap_serverconfig_chooser option').length+'. Server</option>';
-                                               $('#ldap_serverconfig_chooser option:last').before(html);
-                                       } else {
-                                               OC.dialogs.alert(
-                                                       result.message,
-                                                       t('user_ldap', 'Cannot add server configuration')
-                                               );
-                                       }
-                               }
-                       );
+                       LdapConfiguration.addConfiguration(false);
                } else {
                        LdapConfiguration.refreshConfig();
                }
index 5b679683f2791521a8155f7e44f5a49808a451db..d5d2f648b38c100cd3d1acd5f25dd78e070e43d3 100644 (file)
@@ -49,6 +49,9 @@ foreach($prefixes as $prefix) {
        $scoHtml .= '<option value="'.$prefix.'"'.$sel.'>'.$i++.'. Server</option>';
        $sel = '';
 }
+if(count($prefixes) == 0) {
+       $scoHtml .= '<option value="" selected>1. Server</option>';
+}
 $tmpl->assign('serverConfigurationOptions', $scoHtml, false);
 
 // assign default values