diff options
author | Morris Jobke <hey@morrisjobke.de> | 2015-05-20 13:12:52 +0300 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2015-05-20 13:12:52 +0300 |
commit | 3a4568313fdc55b07e9bda0937c3a179f78d1af9 (patch) | |
tree | da414fdbcdc9d1b01b9fb26abbb8e1fd966e7f11 /apps/user_ldap/js | |
parent | 0d78ebf6cdc0b54c7ca4307af9270c8bec681ed0 (diff) | |
parent | 2bf92e0a43c6acdf863cb0092d3d3fb738a23080 (diff) |
Merge pull request #16326 from owncloud/fix-16192
include base dn test in functionality test
Diffstat (limited to 'apps/user_ldap/js')
-rw-r--r-- | apps/user_ldap/js/wizard/view.js | 23 | ||||
-rw-r--r-- | apps/user_ldap/js/wizard/wizardTabElementary.js | 9 |
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); }, /** |