summaryrefslogtreecommitdiffstats
path: root/apps/user_ldap/js/wizard/wizardDetectorBaseDN.js
diff options
context:
space:
mode:
Diffstat (limited to 'apps/user_ldap/js/wizard/wizardDetectorBaseDN.js')
-rw-r--r--apps/user_ldap/js/wizard/wizardDetectorBaseDN.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/apps/user_ldap/js/wizard/wizardDetectorBaseDN.js b/apps/user_ldap/js/wizard/wizardDetectorBaseDN.js
new file mode 100644
index 00000000000..70b9923e58d
--- /dev/null
+++ b/apps/user_ldap/js/wizard/wizardDetectorBaseDN.js
@@ -0,0 +1,52 @@
+
+/**
+ * Copyright (c) 2015, Arthur Schiwon <blizzz@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or later.
+ * See the COPYING-README file.
+ */
+
+OCA = OCA || {};
+
+(function() {
+
+ /**
+ * @classdesc a Base DN Detector. It executes the auto-detection of the base
+ * DN by the ownCloud server, if requirements are met.
+ *
+ * @constructor
+ */
+ var WizardDetectorBaseDN = OCA.LDAP.Wizard.WizardDetectorGeneric.subClass({
+ /** @inheritdoc */
+ init: function() {
+ this.setTargetKey('ldap_base');
+ this.runsOnRequest = true;
+ },
+
+ /**
+ * runs the detector, if specified configuration settings are set and
+ * base DN is not set.
+ *
+ * @param {OCA.LDAP.Wizard.ConfigModel} model
+ * @param {string} configID - the configuration prefix
+ * @returns {boolean|jqXHR}
+ * @abstract
+ */
+ run: function(model, configID) {
+ if( !model.configuration['ldap_host']
+ || !model.configuration['ldap_port']
+
+ )
+ {
+ return false;
+ }
+ model.notifyAboutDetectionStart(this.getTargetKey());
+ var params = OC.buildQueryString({
+ action: 'guessBaseDN',
+ ldap_serverconfig_chooser: configID
+ });
+ return model.callWizard(params, this.processResult, this);
+ }
+ });
+
+ OCA.LDAP.Wizard.WizardDetectorBaseDN = WizardDetectorBaseDN;
+})();