diff --git a/frontend/src/Settings/ImportLists/ImportLists/EditImportListModalContent.js b/frontend/src/Settings/ImportLists/ImportLists/EditImportListModalContent.js index 99b4509dd..4e6b78022 100644 --- a/frontend/src/Settings/ImportLists/ImportLists/EditImportListModalContent.js +++ b/frontend/src/Settings/ImportLists/ImportLists/EditImportListModalContent.js @@ -75,6 +75,7 @@ function EditImportListModalContent(props) { name, enableAutomaticAdd, shouldMonitor, + shouldMonitorExisting, shouldSearch, rootFolderPath, monitorNewItems, @@ -173,12 +174,28 @@ function EditImportListModalContent(props) { - Search for New Items + + {translate('ShouldMonitorExisting')} + + + + + + + + {translate('ShouldSearch')} + diff --git a/src/Lidarr.Api.V1/ImportLists/ImportListResource.cs b/src/Lidarr.Api.V1/ImportLists/ImportListResource.cs index 0912b7e85..6a9401b45 100644 --- a/src/Lidarr.Api.V1/ImportLists/ImportListResource.cs +++ b/src/Lidarr.Api.V1/ImportLists/ImportListResource.cs @@ -7,6 +7,7 @@ namespace Lidarr.Api.V1.ImportLists { public bool EnableAutomaticAdd { get; set; } public ImportListMonitorType ShouldMonitor { get; set; } + public bool ShouldMonitorExisting { get; set; } public bool ShouldSearch { get; set; } public string RootFolderPath { get; set; } public NewItemMonitorTypes MonitorNewItems { get; set; } @@ -29,6 +30,7 @@ namespace Lidarr.Api.V1.ImportLists resource.EnableAutomaticAdd = definition.EnableAutomaticAdd; resource.ShouldMonitor = definition.ShouldMonitor; + resource.ShouldMonitorExisting = definition.ShouldMonitorExisting; resource.ShouldSearch = definition.ShouldSearch; resource.RootFolderPath = definition.RootFolderPath; resource.MonitorNewItems = definition.MonitorNewItems; @@ -51,6 +53,7 @@ namespace Lidarr.Api.V1.ImportLists definition.EnableAutomaticAdd = resource.EnableAutomaticAdd; definition.ShouldMonitor = resource.ShouldMonitor; + definition.ShouldMonitorExisting = resource.ShouldMonitorExisting; definition.ShouldSearch = resource.ShouldSearch; definition.RootFolderPath = resource.RootFolderPath; definition.MonitorNewItems = resource.MonitorNewItems; diff --git a/src/NzbDrone.Core/Datastore/Migration/058_import_list_monitor_existing.cs b/src/NzbDrone.Core/Datastore/Migration/058_import_list_monitor_existing.cs new file mode 100644 index 000000000..f578ab013 --- /dev/null +++ b/src/NzbDrone.Core/Datastore/Migration/058_import_list_monitor_existing.cs @@ -0,0 +1,14 @@ +using FluentMigrator; +using NzbDrone.Core.Datastore.Migration.Framework; + +namespace NzbDrone.Core.Datastore.Migration +{ + [Migration(58)] + public class ImportListMonitorExisting : NzbDroneMigrationBase + { + protected override void MainDbUpgrade() + { + Alter.Table("ImportLists").AddColumn("ShouldMonitorExisting").AsInt32().WithDefaultValue(0); + } + } +} diff --git a/src/NzbDrone.Core/ImportLists/ImportListDefinition.cs b/src/NzbDrone.Core/ImportLists/ImportListDefinition.cs index 61e47f5c8..4a1e8b243 100644 --- a/src/NzbDrone.Core/ImportLists/ImportListDefinition.cs +++ b/src/NzbDrone.Core/ImportLists/ImportListDefinition.cs @@ -7,6 +7,7 @@ namespace NzbDrone.Core.ImportLists { public bool EnableAutomaticAdd { get; set; } public ImportListMonitorType ShouldMonitor { get; set; } + public bool ShouldMonitorExisting { get; set; } public NewItemMonitorTypes MonitorNewItems { get; set; } public bool ShouldSearch { get; set; } public int ProfileId { get; set; } diff --git a/src/NzbDrone.Core/ImportLists/ImportListSyncService.cs b/src/NzbDrone.Core/ImportLists/ImportListSyncService.cs index 07cfa7909..409b9a8db 100644 --- a/src/NzbDrone.Core/ImportLists/ImportListSyncService.cs +++ b/src/NzbDrone.Core/ImportLists/ImportListSyncService.cs @@ -184,7 +184,7 @@ namespace NzbDrone.Core.ImportLists { _logger.Debug("{0} [{1}] Rejected, Album Exists in DB. Ensuring Album and Artist monitored.", report.AlbumMusicBrainzId, report.Album); - if (importList.ShouldMonitor != ImportListMonitorType.None) + if (importList.ShouldMonitorExisting && importList.ShouldMonitor != ImportListMonitorType.None) { if (!existingAlbum.Monitored) { @@ -288,7 +288,7 @@ namespace NzbDrone.Core.ImportLists { _logger.Debug("{0} [{1}] Rejected, artist exists in DB. Ensuring artist monitored", report.ArtistMusicBrainzId, report.Artist); - if (!existingArtist.Monitored) + if (importList.ShouldMonitorExisting && !existingArtist.Monitored) { existingArtist.Monitored = true; _artistService.UpdateArtist(existingArtist); diff --git a/src/NzbDrone.Core/Localization/Core/en.json b/src/NzbDrone.Core/Localization/Core/en.json index c7f927830..ca43a4485 100644 --- a/src/NzbDrone.Core/Localization/Core/en.json +++ b/src/NzbDrone.Core/Localization/Core/en.json @@ -551,6 +551,10 @@ "Settings": "Settings", "ShortDateFormat": "Short Date Format", "ShouldMonitorHelpText": "Monitor artists and albums added from this list", + "ShouldMonitorExisting": "Monitor existing albums", + "ShouldMonitorExistingHelpText": "Automatically monitor albums on this list which are already in Lidarr", + "ShouldSearch": "Search for New Items", + "ShouldSearchHelpText": "Search indexers for newly added items. Use with caution for large lists.", "ShowAlbumCount": "Show Album Count", "ShowBanners": "Show Banners", "ShowBannersHelpText": "Show banners instead of names",