diff --git a/frontend/src/Settings/ImportLists/ImportLists/EditImportListModalContent.js b/frontend/src/Settings/ImportLists/ImportLists/EditImportListModalContent.js index ec0780fff..1b19bc416 100644 --- a/frontend/src/Settings/ImportLists/ImportLists/EditImportListModalContent.js +++ b/frontend/src/Settings/ImportLists/ImportLists/EditImportListModalContent.js @@ -46,6 +46,7 @@ function EditImportListModalContent(props) { implementationName, name, enableAutomaticAdd, + searchForMissingEpisodes, minRefreshInterval, shouldMonitor, rootFolderPath, @@ -113,6 +114,18 @@ function EditImportListModalContent(props) { /> + + {translate('ImportListSearchForMissingEpisodes')} + + + + {translate('Monitor')} diff --git a/src/NzbDrone.Core/Datastore/Migration/197_list_add_missing_search.cs b/src/NzbDrone.Core/Datastore/Migration/197_list_add_missing_search.cs new file mode 100644 index 000000000..3cd6e6e10 --- /dev/null +++ b/src/NzbDrone.Core/Datastore/Migration/197_list_add_missing_search.cs @@ -0,0 +1,14 @@ +using FluentMigrator; +using NzbDrone.Core.Datastore.Migration.Framework; + +namespace NzbDrone.Core.Datastore.Migration +{ + [Migration(197)] + public class list_add_missing_search : NzbDroneMigrationBase + { + protected override void MainDbUpgrade() + { + Alter.Table("ImportLists").AddColumn("SearchForMissingEpisodes").AsBoolean().NotNullable().WithDefaultValue(true); + } + } +} diff --git a/src/NzbDrone.Core/ImportLists/ImportListDefinition.cs b/src/NzbDrone.Core/ImportLists/ImportListDefinition.cs index 48fb511d9..68600dec0 100644 --- a/src/NzbDrone.Core/ImportLists/ImportListDefinition.cs +++ b/src/NzbDrone.Core/ImportLists/ImportListDefinition.cs @@ -7,6 +7,7 @@ namespace NzbDrone.Core.ImportLists public class ImportListDefinition : ProviderDefinition { public bool EnableAutomaticAdd { get; set; } + public bool SearchForMissingEpisodes { get; set; } public MonitorTypes ShouldMonitor { get; set; } public int QualityProfileId { get; set; } public SeriesTypes SeriesType { get; set; } diff --git a/src/NzbDrone.Core/ImportLists/ImportListSyncService.cs b/src/NzbDrone.Core/ImportLists/ImportListSyncService.cs index e573e10d0..4c10f79d8 100644 --- a/src/NzbDrone.Core/ImportLists/ImportListSyncService.cs +++ b/src/NzbDrone.Core/ImportLists/ImportListSyncService.cs @@ -163,7 +163,7 @@ namespace NzbDrone.Core.ImportLists Tags = importList.Tags, AddOptions = new AddSeriesOptions { - SearchForMissingEpisodes = monitored, + SearchForMissingEpisodes = importList.SearchForMissingEpisodes, Monitor = importList.ShouldMonitor } }); diff --git a/src/NzbDrone.Core/Localization/Core/en.json b/src/NzbDrone.Core/Localization/Core/en.json index e685c1585..1770a2b5a 100644 --- a/src/NzbDrone.Core/Localization/Core/en.json +++ b/src/NzbDrone.Core/Localization/Core/en.json @@ -612,6 +612,8 @@ "ImportListExclusionsLoadError": "Unable to load Import List Exclusions", "ImportListRootFolderMissingRootHealthCheckMessage": "Missing root folder for import list(s): {0}", "ImportListRootFolderMultipleMissingRootsHealthCheckMessage": "Multiple root folders are missing for import lists: {0}", + "ImportListSearchForMissingEpisodes": "Search for Missing Episodes", + "ImportListSearchForMissingEpisodesHelpText": "After series is added to {appName} automatically search for missing episodes", "ImportListSettings": "Import List Settings", "ImportListStatusAllUnavailableHealthCheckMessage": "All lists are unavailable due to failures", "ImportListStatusUnavailableHealthCheckMessage": "Lists unavailable due to failures: {0}", diff --git a/src/Sonarr.Api.V3/ImportLists/ImportListResource.cs b/src/Sonarr.Api.V3/ImportLists/ImportListResource.cs index dad382ca2..c3fa06be7 100644 --- a/src/Sonarr.Api.V3/ImportLists/ImportListResource.cs +++ b/src/Sonarr.Api.V3/ImportLists/ImportListResource.cs @@ -7,6 +7,7 @@ namespace Sonarr.Api.V3.ImportLists public class ImportListResource : ProviderResource { public bool EnableAutomaticAdd { get; set; } + public bool SearchForMissingEpisodes { get; set; } public MonitorTypes ShouldMonitor { get; set; } public string RootFolderPath { get; set; } public int QualityProfileId { get; set; } @@ -29,6 +30,7 @@ namespace Sonarr.Api.V3.ImportLists var resource = base.ToResource(definition); resource.EnableAutomaticAdd = definition.EnableAutomaticAdd; + resource.SearchForMissingEpisodes = definition.SearchForMissingEpisodes; resource.ShouldMonitor = definition.ShouldMonitor; resource.RootFolderPath = definition.RootFolderPath; resource.QualityProfileId = definition.QualityProfileId; @@ -51,6 +53,7 @@ namespace Sonarr.Api.V3.ImportLists var definition = base.ToModel(resource, existingDefinition); definition.EnableAutomaticAdd = resource.EnableAutomaticAdd; + definition.SearchForMissingEpisodes = resource.SearchForMissingEpisodes; definition.ShouldMonitor = resource.ShouldMonitor; definition.RootFolderPath = resource.RootFolderPath; definition.QualityProfileId = resource.QualityProfileId;