mirror of
https://github.com/Radarr/Radarr.git
synced 2026-04-17 21:26:22 -04:00
Provider testing improvements
New: Test button for indexers in UI Fixed: Testing download clients shows error messages in UI Fixed: Testing notifications shows error messages in UI
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
'use strict';
|
||||
|
||||
define([
|
||||
'backbone.deepmodel'
|
||||
], function (DeepModel) {
|
||||
return DeepModel.DeepModel.extend({
|
||||
'Settings/ProviderSettingsModelBase'
|
||||
], function (ProviderSettingsModelBase) {
|
||||
return ProviderSettingsModelBase.extend({
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
@@ -78,14 +78,7 @@ define([
|
||||
},
|
||||
|
||||
_test: function () {
|
||||
var testCommand = 'test{0}'.format(this.model.get('implementation'));
|
||||
var properties = {};
|
||||
|
||||
_.each(this.model.get('fields'), function (field) {
|
||||
properties[field.name] = field.value;
|
||||
});
|
||||
|
||||
CommandController.Execute(testCommand, properties);
|
||||
this.model.test();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -82,14 +82,7 @@ define([
|
||||
},
|
||||
|
||||
_test: function () {
|
||||
var testCommand = 'test{0}'.format(this.model.get('implementation'));
|
||||
var properties = {};
|
||||
|
||||
_.each(this.model.get('fields'), function (field) {
|
||||
properties[field.name] = field.value;
|
||||
});
|
||||
|
||||
CommandController.Execute(testCommand, properties);
|
||||
this.model.test();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -46,8 +46,7 @@
|
||||
<button class="btn pull-left x-back">back</button>
|
||||
{{/if}}
|
||||
|
||||
<!-- Testing is currently not yet supported for indexers, but leaving the infrastructure for later -->
|
||||
<!-- <button class="btn x-test">test <i class="x-test-icon icon-nd-test"/></button> -->
|
||||
<button class="btn x-test">test <i class="x-test-icon icon-nd-test"/></button>
|
||||
<button class="btn x-close">cancel</button>
|
||||
|
||||
<div class="btn-group">
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
'use strict';
|
||||
|
||||
define([
|
||||
'backbone.deepmodel'
|
||||
], function (DeepModel) {
|
||||
return DeepModel.DeepModel.extend({
|
||||
'Settings/ProviderSettingsModelBase'
|
||||
], function (ProviderSettingsModelBase) {
|
||||
return ProviderSettingsModelBase.extend({
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
'use strict';
|
||||
define(
|
||||
[
|
||||
'backbone.deepmodel'
|
||||
], function (DeepModel) {
|
||||
return DeepModel.DeepModel.extend({
|
||||
|
||||
});
|
||||
define([
|
||||
'Settings/ProviderSettingsModelBase'
|
||||
], function (ProviderSettingsModelBase) {
|
||||
return ProviderSettingsModelBase.extend({
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -83,14 +83,7 @@ define([
|
||||
},
|
||||
|
||||
_test: function () {
|
||||
var testCommand = 'test{0}'.format(this.model.get('implementation'));
|
||||
var properties = {};
|
||||
|
||||
_.each(this.model.get('fields'), function (field) {
|
||||
properties[field.name] = field.value;
|
||||
});
|
||||
|
||||
CommandController.Execute(testCommand, properties);
|
||||
this.model.test();
|
||||
},
|
||||
|
||||
_onDownloadChanged: function () {
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
'use strict';
|
||||
define([
|
||||
'Settings/SettingsModelBase'
|
||||
], function (ModelBase) {
|
||||
return ModelBase.extend({
|
||||
|
||||
successMessage: 'Notification Saved',
|
||||
errorMessage : 'Couldn\'t save notification'
|
||||
define([
|
||||
'Settings/ProviderSettingsModelBase'
|
||||
], function (ProviderSettingsModelBase) {
|
||||
return ProviderSettingsModelBase.extend({
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
36
src/UI/Settings/ProviderSettingsModelBase.js
Normal file
36
src/UI/Settings/ProviderSettingsModelBase.js
Normal file
@@ -0,0 +1,36 @@
|
||||
'use strict';
|
||||
|
||||
define([
|
||||
'jquery',
|
||||
'backbone.deepmodel',
|
||||
'Shared/Messenger'
|
||||
], function ($, DeepModel, Messenger) {
|
||||
return DeepModel.DeepModel.extend({
|
||||
|
||||
test: function () {
|
||||
var self = this;
|
||||
|
||||
this.trigger('validation:sync');
|
||||
|
||||
var params = {};
|
||||
|
||||
params.url = this.collection.url + '/test';
|
||||
params.contentType = 'application/json';
|
||||
params.data = JSON.stringify(this.toJSON());
|
||||
params.type = 'POST';
|
||||
params.isValidatedCall = true;
|
||||
|
||||
var promise = $.ajax(params);
|
||||
|
||||
Messenger.monitor({
|
||||
promise : promise,
|
||||
successMessage : 'Testing \'{0}\' completed'.format(this.get('name')),
|
||||
errorMessage : 'Testing \'{0}\' failed'.format(this.get('name'))
|
||||
});
|
||||
|
||||
promise.fail(function (response) {
|
||||
self.trigger('validation:failed', response);
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -57,13 +57,17 @@ define(
|
||||
};
|
||||
|
||||
$.fn.addFormError = function (error) {
|
||||
var t1 = this.find('.form-horizontal');
|
||||
var t2 = this.find('.form-horizontal').parent();
|
||||
|
||||
this.prepend('<div class="alert alert-danger validation-error">' + error.errorMessage + '</div>');
|
||||
if (this.find('.modal-body')) {
|
||||
this.find('.modal-body').prepend('<div class="alert alert-danger validation-error">' + error.errorMessage + '</div>');
|
||||
}
|
||||
|
||||
else {
|
||||
this.prepend('<div class="alert alert-danger validation-error">' + error.errorMessage + '</div>');
|
||||
}
|
||||
};
|
||||
|
||||
$.fn.removeAllErrors = function () {
|
||||
this.find('.has-error').removeClass('has-error');
|
||||
this.find('.error').removeClass('error');
|
||||
this.find('.validation-errors').removeClass('alert').removeClass('alert-danger').html('');
|
||||
this.find('.validation-error').remove();
|
||||
|
||||
Reference in New Issue
Block a user