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",