Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@arthur-schiwon.de>2018-08-23 14:37:15 +0300
committerArthur Schiwon <blizzz@arthur-schiwon.de>2018-08-23 18:58:35 +0300
commit7807add02d3a7b2a91de5c22ad9a6e75c34c470f (patch)
tree35c1c7f7f834a46846c7fa4c028cd919e3afb1e6 /apps/user_ldap
parentc0f48a7b4002c9def9f13fe54114f3f08a86240b (diff)
[LDAP] The WebUI Wizard also should not assign empty config IDs
With 689df9a843dd0505088143de039af775a3f92612 the behaviour to assign only non-empty config IDs was introduced. Only, this was only effective for CLI and OCS API. Related to #3270. The web UI creates now also a full configuration on first load. This fixes #5094. Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Diffstat (limited to 'apps/user_ldap')
-rw-r--r--apps/user_ldap/lib/Settings/Admin.php12
-rw-r--r--apps/user_ldap/templates/part.wizard-server.php15
-rw-r--r--apps/user_ldap/tests/Settings/AdminTest.php6
3 files changed, 18 insertions, 15 deletions
diff --git a/apps/user_ldap/lib/Settings/Admin.php b/apps/user_ldap/lib/Settings/Admin.php
index 33a86ad72d2..bf5bbef2f90 100644
--- a/apps/user_ldap/lib/Settings/Admin.php
+++ b/apps/user_ldap/lib/Settings/Admin.php
@@ -49,6 +49,14 @@ class Admin implements ISettings {
public function getForm() {
$helper = new Helper(\OC::$server->getConfig());
$prefixes = $helper->getServerConfigurationPrefixes();
+ if(count($prefixes) === 0) {
+ $newPrefix = $helper->getNextServerConfigurationPrefix();
+ $config = new Configuration($newPrefix, false);
+ $config->setConfiguration($config->getDefaults());
+ $config->saveConfiguration();
+ $prefixes[] = $newPrefix;
+ }
+
$hosts = $helper->getServerConfigurationHosts();
$wControls = new Template('user_ldap', 'part.wizardcontrols');
@@ -62,7 +70,9 @@ class Admin implements ISettings {
$parameters['wizardControls'] = $wControls;
// assign default values
- $config = new Configuration('', false);
+ if(!isset($config)) {
+ $config = new Configuration('', false);
+ }
$defaults = $config->getDefaults();
foreach($defaults as $key => $default) {
$parameters[$key.'_default'] = $default;
diff --git a/apps/user_ldap/templates/part.wizard-server.php b/apps/user_ldap/templates/part.wizard-server.php
index 9803fb3cd3c..5b607f7be86 100644
--- a/apps/user_ldap/templates/part.wizard-server.php
+++ b/apps/user_ldap/templates/part.wizard-server.php
@@ -1,18 +1,13 @@
<fieldset id="ldapWizard1">
<p>
<select id="ldap_serverconfig_chooser" name="ldap_serverconfig_chooser">
- <?php if(count($_['serverConfigurationPrefixes']) === 0 ) {
+ <?php
+ $i = 1;
+ $sel = ' selected';
+ foreach($_['serverConfigurationPrefixes'] as $prefix) {
?>
- <option value="" selected><?php p($l->t('1. Server'));?></option>');
+ <option value="<?php p($prefix); ?>"<?php p($sel); $sel = ''; ?>><?php p($l->t('%s. Server:', array($i++)));?> <?php p(' '.$_['serverConfigurationHosts'][$prefix]); ?></option>
<?php
- } else {
- $i = 1;
- $sel = ' selected';
- foreach($_['serverConfigurationPrefixes'] as $prefix) {
- ?>
- <option value="<?php p($prefix); ?>"<?php p($sel); $sel = ''; ?>><?php p($l->t('%s. Server:', array($i++)));?> <?php p(' '.$_['serverConfigurationHosts'][$prefix]); ?></option>
- <?php
- }
}
?>
</select>
diff --git a/apps/user_ldap/tests/Settings/AdminTest.php b/apps/user_ldap/tests/Settings/AdminTest.php
index 8161896e719..84004b9d465 100644
--- a/apps/user_ldap/tests/Settings/AdminTest.php
+++ b/apps/user_ldap/tests/Settings/AdminTest.php
@@ -56,10 +56,8 @@ class AdminTest extends TestCase {
* @UseDB
*/
public function testGetForm() {
-
- $helper = new Helper(\OC::$server->getConfig());
- $prefixes = $helper->getServerConfigurationPrefixes();
- $hosts = $helper->getServerConfigurationHosts();
+ $prefixes = ['s01'];
+ $hosts = ['s01' => ''];
$wControls = new Template('user_ldap', 'part.wizardcontrols');
$wControls = $wControls->fetchPage();