summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2015-05-20 12:12:52 +0200
committerMorris Jobke <hey@morrisjobke.de>2015-05-20 12:12:52 +0200
commit3a4568313fdc55b07e9bda0937c3a179f78d1af9 (patch)
treeda414fdbcdc9d1b01b9fb26abbb8e1fd966e7f11
parent0d78ebf6cdc0b54c7ca4307af9270c8bec681ed0 (diff)
parent2bf92e0a43c6acdf863cb0092d3d3fb738a23080 (diff)
downloadnextcloud-server-3a4568313fdc55b07e9bda0937c3a179f78d1af9.tar.gz
nextcloud-server-3a4568313fdc55b07e9bda0937c3a179f78d1af9.zip
Merge pull request #16326 from owncloud/fix-16192
include base dn test in functionality test
-rw-r--r--apps/user_ldap/js/wizard/view.js23
-rw-r--r--apps/user_ldap/js/wizard/wizardTabElementary.js9
2 files changed, 29 insertions, 3 deletions
diff --git a/apps/user_ldap/js/wizard/view.js b/apps/user_ldap/js/wizard/view.js
index 7743c277d61..7dedfab75f0 100644
--- a/apps/user_ldap/js/wizard/view.js
+++ b/apps/user_ldap/js/wizard/view.js
@@ -168,6 +168,26 @@ OCA = OCA || {};
},
/**
+ * Base DN test results will arrive here
+ *
+ * @param {WizardTabElementary} view
+ * @param {FeaturePayload} payload
+ */
+ onDetectionTestCompleted: function(view, payload) {
+ if(payload.feature === 'TestBaseDN') {
+ if(payload.data.status === 'success') {
+ var objectsFound = parseInt(payload.data.changes.ldap_test_base, 10);
+ if(objectsFound > 0) {
+ view._updateStatusIndicator(view.STATUS_SUCCESS);
+ return;
+ }
+ }
+ view._updateStatusIndicator(view.STATUS_ERROR);
+ OC.Notification.showTemporary(t('user_ldap', 'The Base DN appears to be wrong'));
+ }
+ },
+
+ /**
* updates the status indicator based on the configuration test result
*
* @param {WizardView} [view]
@@ -176,7 +196,7 @@ OCA = OCA || {};
*/
onTestCompleted: function(view, result) {
if(result.isSuccess) {
- view._updateStatusIndicator(view.STATUS_SUCCESS);
+ view.configModel.requestWizard('ldap_test_base');
} else {
view._updateStatusIndicator(view.STATUS_ERROR);
}
@@ -272,6 +292,7 @@ OCA = OCA || {};
this.configModel.on('setRequested', this.onSetRequested, this);
this.configModel.on('setCompleted', this.onSetRequestDone, this);
this.configModel.on('configurationTested', this.onTestCompleted, this);
+ this.configModel.on('receivedLdapFeature', this.onDetectionTestCompleted, this);
},
/**
diff --git a/apps/user_ldap/js/wizard/wizardTabElementary.js b/apps/user_ldap/js/wizard/wizardTabElementary.js
index 75664275a9c..7c1a550c097 100644
--- a/apps/user_ldap/js/wizard/wizardTabElementary.js
+++ b/apps/user_ldap/js/wizard/wizardTabElementary.js
@@ -17,6 +17,8 @@ OCA = OCA || {};
/** @property {number} */
_configChooserNextServerNumber: 1,
+ baseDNTestTriggered: false,
+
/**
* initializes the instance. Always call it after initialization.
*
@@ -198,8 +200,8 @@ OCA = OCA || {};
* @param {Object} configuration
*/
onConfigSwitch: function(view, configuration) {
+ this.baseDNTestTriggered = false;
view.disableElement(view.managedItems.ldap_port.$relatedElements);
-
view.onConfigLoaded(view, configuration);
},
@@ -261,7 +263,8 @@ OCA = OCA || {};
* @param {FeaturePayload} payload
*/
onTestResultReceived: function(view, payload) {
- if(payload.feature === 'TestBaseDN') {
+ if(view.baseDNTestTriggered && payload.feature === 'TestBaseDN') {
+ view.enableElement(view.managedItems.ldap_base.$testButton);
var message;
if(payload.data.status === 'success') {
var objectsFound = parseInt(payload.data.changes.ldap_test_base, 10);
@@ -310,7 +313,9 @@ OCA = OCA || {};
*/
onBaseDNTestButtonClick: function(event) {
event.preventDefault();
+ this.baseDNTestTriggered = true;
this.configModel.requestWizard('ldap_test_base');
+ this.disableElement(this.managedItems.ldap_base.$testButton);
},
/**