diff --git a/frontend/src/Store/Actions/Creators/createSaveProviderHandler.js b/frontend/src/Store/Actions/Creators/createSaveProviderHandler.js index 5761655d27..1cccf16664 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 187521b1ac..4a5b20e8da 100644 --- a/src/NzbDrone.Core/Indexers/SeedCriteriaSettings.cs +++ b/src/NzbDrone.Core/Indexers/SeedCriteriaSettings.cs @@ -36,8 +36,6 @@ public SeedCriteriaSettingsValidator(double seedRatioMinimum = 0.0, int seedTime 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/Radarr.Api.V3/ProviderControllerBase.cs b/src/Radarr.Api.V3/ProviderControllerBase.cs index 86d137c140..7403972a3b 100644 --- a/src/Radarr.Api.V3/ProviderControllerBase.cs +++ b/src/Radarr.Api.V3/ProviderControllerBase.cs @@ -66,9 +66,9 @@ public List GetAll() } [RestPostById] - 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) { @@ -83,7 +83,7 @@ public ActionResult CreateProvider(TProviderResource provider [RestPutById] 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) @@ -241,7 +241,7 @@ protected virtual void Test(TProviderDefinition definition, bool includeWarnings 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)) {