diff --git a/frontend/src/Store/Actions/seriesActions.js b/frontend/src/Store/Actions/seriesActions.js index d47eb9d86..54524ba38 100644 --- a/frontend/src/Store/Actions/seriesActions.js +++ b/frontend/src/Store/Actions/seriesActions.js @@ -192,6 +192,22 @@ export const filterPredicates = { }); return predicate(hasMissingSeason, filterValue); + }, + + hasUnmonitoredSeason: function(item, filterValue, type) { + const predicate = filterTypePredicates[type]; + const { seasons = [] } = item; + + const hasUnmonitoredSeason = seasons.some((season) => { + const { + seasonNumber, + monitored + } = season; + + return seasonNumber > 0 && !monitored; + }); + + return predicate(hasUnmonitoredSeason, filterValue); } }; @@ -353,6 +369,12 @@ export const filterBuilderProps = [ type: filterBuilderTypes.EXACT, valueType: filterBuilderValueTypes.BOOL }, + { + name: 'hasUnmonitoredSeason', + label: () => translate('HasUnmonitoredSeason'), + type: filterBuilderTypes.EXACT, + valueType: filterBuilderValueTypes.BOOL + }, { name: 'year', label: () => translate('Year'), diff --git a/src/NzbDrone.Core/Localization/Core/en.json b/src/NzbDrone.Core/Localization/Core/en.json index b5766fa67..46546a8ca 100644 --- a/src/NzbDrone.Core/Localization/Core/en.json +++ b/src/NzbDrone.Core/Localization/Core/en.json @@ -752,6 +752,7 @@ "Group": "Group", "HardlinkCopyFiles": "Hardlink/Copy Files", "HasMissingSeason": "Has Missing Season", + "HasUnmonitoredSeason": "Has Unmonitored Season", "Health": "Health", "HealthMessagesInfoBox": "You can find more information about the cause of these health check messages by clicking the wiki link (book icon) at the end of the row, or by checking your [logs]({link}). If you have difficulty interpreting these messages then you can reach out to our support, at the links below.", "Here": "here",