nextcloud/apps/user_ldap/js/wizard/wizardDetectorTestAbstract.js

64 lines
1.7 KiB
JavaScript

/**
* 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 Port Detector. It executes the auto-detection of the port
* by the Nextcloud server, if requirements are met.
*
* @constructor
*/
var WizardDetectorTestAbstract = OCA.LDAP.Wizard.WizardDetectorGeneric.subClass({
isLegacy: false,
/**
* runs the test
*
* @param {OCA.LDAP.Wizard.ConfigModel} model
* @param {string} configID - the configuration prefix
* @param {Object} params - additional parameters needed to send to the
* wizard
* @returns {boolean|jqXHR}
* @abstract
*/
run: function(model, configID, params) {
if(_.isUndefined(this.wizardMethod) && !this.isLegacy) {
console.warn('wizardMethod not set! ' + this.constructor);
return false;
}
model.notifyAboutDetectionStart(this.getTargetKey());
params = params || {};
params = OC.buildQueryString($.extend({
action: this.wizardMethod,
ldap_serverconfig_chooser: configID
}, params));
if(!this.isLegacy) {
return model.callWizard(params, this.processResult, this);
} else {
return model.callAjax(this.legacyDestination, params, this.processResult, this);
}
},
/**
* @inheritdoc
*/
processResult: function(model, detector, result) {
model['notifyAboutDetectionCompletion'](detector.getTargetKey());
var payload = {
feature: detector.testName,
data: result
};
model.inform(payload);
}
});
OCA.LDAP.Wizard.WizardDetectorTestAbstract = WizardDetectorTestAbstract;
})();