diff --git a/frontend/src/Store/Actions/Creators/createSaveProviderHandler.js b/frontend/src/Store/Actions/Creators/createSaveProviderHandler.js index 5761655d2..1cccf1666 100644 --- a/frontend/src/Store/Actions/Creators/createSaveProviderHandler.js +++ b/frontend/src/Store/Actions/Creators/createSaveProviderHandler.js @@ -32,9 +32,9 @@ function createSaveProviderHandler(section, url, options = {}) { const params = { ...queryParams }; // If the user is re-saving the same provider without changes - // force it to be saved. Only applies to editing existing providers. + // force it to be saved. - if (id && _.isEqual(saveData, lastSaveData)) { + if (_.isEqual(saveData, lastSaveData)) { params.forceSave = true; } diff --git a/src/NzbDrone.Core/Indexers/SeedCriteriaSettings.cs b/src/NzbDrone.Core/Indexers/SeedCriteriaSettings.cs index a61a84a75..aa13f6b1a 100644 --- a/src/NzbDrone.Core/Indexers/SeedCriteriaSettings.cs +++ b/src/NzbDrone.Core/Indexers/SeedCriteriaSettings.cs @@ -48,8 +48,6 @@ namespace NzbDrone.Core.Indexers public class SeedCriteriaSettings { - private static readonly SeedCriteriaSettingsValidator Validator = new SeedCriteriaSettingsValidator(); - [FieldDefinition(0, Type = FieldType.Textbox, Label = "Seed Ratio", HelpText = "The ratio a torrent should reach before stopping, empty is download client's default. Ratio should be at least 1.0 and follow the indexers rules")] public double? SeedRatio { get; set; } diff --git a/src/Sonarr.Api.V3/ProviderControllerBase.cs b/src/Sonarr.Api.V3/ProviderControllerBase.cs index 25cef26ea..b1e4524c5 100644 --- a/src/Sonarr.Api.V3/ProviderControllerBase.cs +++ b/src/Sonarr.Api.V3/ProviderControllerBase.cs @@ -68,9 +68,9 @@ namespace Sonarr.Api.V3 [RestPostById] [Consumes("application/json")] - public ActionResult CreateProvider(TProviderResource providerResource) + public ActionResult CreateProvider([FromBody] TProviderResource providerResource, [FromQuery] bool forceSave = false) { - var providerDefinition = GetDefinition(providerResource, true, false, false); + var providerDefinition = GetDefinition(providerResource, true, !forceSave, false); if (providerDefinition.Enable) { @@ -86,7 +86,7 @@ namespace Sonarr.Api.V3 [Consumes("application/json")] public ActionResult UpdateProvider([FromBody] TProviderResource providerResource, [FromQuery] bool forceSave = false) { - var providerDefinition = GetDefinition(providerResource, true, false, false); + var providerDefinition = GetDefinition(providerResource, true, !forceSave, false); // Only test existing definitions if it is enabled and forceSave isn't set. if (providerDefinition.Enable && !forceSave) @@ -252,7 +252,7 @@ namespace Sonarr.Api.V3 protected void VerifyValidationResult(ValidationResult validationResult, bool includeWarnings) { - var result = new NzbDroneValidationResult(validationResult.Errors); + var result = validationResult as NzbDroneValidationResult ?? new NzbDroneValidationResult(validationResult.Errors); if (includeWarnings && (!result.IsValid || result.HasWarnings)) {