LDAP: Always preset configuration prefix when no configuratin is stored or all remaining ones are deleted

This commit is contained in:
Arthur Schiwon 2013-01-30 02:30:24 +01:00
parent 3e99f12120
commit a8ac4bdf79
2 changed files with 39 additions and 24 deletions

View 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();
}

View 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