diff options
author | Arthur Schiwon <blizzz@owncloud.com> | 2013-01-30 02:30:24 +0100 |
---|---|---|
committer | Arthur Schiwon <blizzz@owncloud.com> | 2013-01-30 02:30:24 +0100 |
commit | a8ac4bdf79b65239c6aeef4e6d0d642bedefc9c3 (patch) | |
tree | 2910d5d0ef7e9b91276552f143b8feb8f7ac8840 | |
parent | 3e99f12120dde810e3976b270666751b52c98959 (diff) | |
download | nextcloud-server-a8ac4bdf79b65239c6aeef4e6d0d642bedefc9c3.tar.gz nextcloud-server-a8ac4bdf79b65239c6aeef4e6d0d642bedefc9c3.zip |
LDAP: Always preset configuration prefix when no configuratin is stored or all remaining ones are deleted
-rw-r--r-- | apps/user_ldap/js/settings.js | 60 | ||||
-rw-r--r-- | apps/user_ldap/settings.php | 3 |
2 files changed, 39 insertions, 24 deletions
diff --git a/apps/user_ldap/js/settings.js b/apps/user_ldap/js/settings.js index 7d0a85248f3..d1b1b715a57 100644 --- a/apps/user_ldap/js/settings.js +++ b/apps/user_ldap/js/settings.js @@ -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(); } diff --git a/apps/user_ldap/settings.php b/apps/user_ldap/settings.php index 5b679683f27..d5d2f648b38 100644 --- a/apps/user_ldap/settings.php +++ b/apps/user_ldap/settings.php @@ -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 |