Fixed: Cutoff Unmet showing items above lowest accepted quality when upgrades are disabled

(cherry picked from commit c1e5b7f642d03414f7c5587d4db377ef979f2067)

Fixes #7301
Fixes #7305
This commit is contained in:
Mark McDowall 2022-05-23 20:52:27 -07:00 committed by Qstick
parent f80272a659
commit 79cd2b2346
2 changed files with 15 additions and 2 deletions

View File

@ -31,7 +31,8 @@ namespace NzbDrone.Core.Movies
//Get all items less than the cutoff
foreach (var profile in profiles)
{
var cutoffIndex = profile.GetIndex(profile.Cutoff);
var cutoff = profile.UpgradeAllowed ? profile.Cutoff : profile.FirststAllowedQuality().Id;
var cutoffIndex = profile.GetIndex(cutoff);
var belowCutoff = profile.Items.Take(cutoffIndex.Index).ToList();
if (belowCutoff.Any())

View File

@ -303,13 +303,25 @@ namespace NzbDrone.Integration.Test
return result.MovieFile;
}
public QualityProfileResource EnsureProfileCutoff(int profileId, Quality cutoff)
public QualityProfileResource EnsureProfileCutoff(int profileId, Quality cutoff, bool upgradeAllowed)
{
var needsUpdate = false;
var profile = Profiles.Get(profileId);
if (profile.Cutoff != cutoff.Id)
{
profile.Cutoff = cutoff.Id;
needsUpdate = true;
}
if (profile.UpgradeAllowed != upgradeAllowed)
{
profile.UpgradeAllowed = upgradeAllowed;
needsUpdate = true;
}
if (needsUpdate)
{
profile = Profiles.Put(profile);
}