summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@owncloud.com>2013-01-30 02:30:24 +0100
committerArthur Schiwon <blizzz@owncloud.com>2013-01-30 02:30:24 +0100
commita8ac4bdf79b65239c6aeef4e6d0d642bedefc9c3 (patch)
tree2910d5d0ef7e9b91276552f143b8feb8f7ac8840
parent3e99f12120dde810e3976b270666751b52c98959 (diff)
downloadnextcloud-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.js60
-rw-r--r--apps/user_ldap/settings.php3
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