64 lines
1.7 KiB
JavaScript
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;
|
|
})();
|