summaryrefslogtreecommitdiffstats
path: root/apps/user_ldap/js/wizard/wizardDetectorAvailableAttributes.js
diff options
context:
space:
mode:
Diffstat (limited to 'apps/user_ldap/js/wizard/wizardDetectorAvailableAttributes.js')
-rw-r--r--apps/user_ldap/js/wizard/wizardDetectorAvailableAttributes.js59
1 files changed, 59 insertions, 0 deletions
diff --git a/apps/user_ldap/js/wizard/wizardDetectorAvailableAttributes.js b/apps/user_ldap/js/wizard/wizardDetectorAvailableAttributes.js
new file mode 100644
index 00000000000..f0272351749
--- /dev/null
+++ b/apps/user_ldap/js/wizard/wizardDetectorAvailableAttributes.js
@@ -0,0 +1,59 @@
+
+/**
+ * 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 an Attributes Detector. It executes the auto-detection of
+ * available attributes by the ownCloud server, if requirements are met.
+ *
+ * @constructor
+ */
+ var WizardDetectorAvailableAttributes = OCA.LDAP.Wizard.WizardDetectorGeneric.subClass({
+ /** @inheritdoc */
+ init: function() {
+ // given, it is not a configuration key
+ this.setTargetKey('ldap_loginfilter_attributes');
+ this.runsOnRequest = true;
+ },
+
+ /**
+ * runs the detector, if port is not set.
+ *
+ * @param {OCA.LDAP.Wizard.ConfigModel} model
+ * @param {string} configID - the configuration prefix
+ * @returns {boolean|jqXHR}
+ * @abstract
+ */
+ run: function(model, configID) {
+ model.notifyAboutDetectionStart(this.getTargetKey());
+ var params = OC.buildQueryString({
+ action: 'determineAttributes',
+ ldap_serverconfig_chooser: configID
+ });
+ return model.callWizard(params, this.processResult, this);
+ },
+
+ /**
+ * @inheritdoc
+ */
+ processResult: function(model, detector, result) {
+ if(result.status === 'success') {
+ var payload = {
+ feature: 'AvailableAttributes',
+ data: result.options[detector.getTargetKey()]
+ };
+ model.inform(payload);
+ }
+ this._super(model, detector, result);
+ }
+ });
+
+ OCA.LDAP.Wizard.WizardDetectorAvailableAttributes = WizardDetectorAvailableAttributes;
+})();