1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2024-12-16 11:37:58 +02:00

Groups must contain multiple qualities

This commit is contained in:
Mark McDowall 2019-02-19 18:48:54 -08:00
parent 05e7b90aab
commit e32e6e0bec
2 changed files with 5 additions and 7 deletions

View File

@ -13,7 +13,7 @@ public static IRuleBuilderOptions<T, IList<QualityProfileQualityItemResource>> V
ruleBuilder.SetValidator(new NotEmptyValidator(null)); ruleBuilder.SetValidator(new NotEmptyValidator(null));
ruleBuilder.SetValidator(new AllowedValidator<T>()); ruleBuilder.SetValidator(new AllowedValidator<T>());
ruleBuilder.SetValidator(new QualityNameValidator<T>()); ruleBuilder.SetValidator(new QualityNameValidator<T>());
ruleBuilder.SetValidator(new EmptyItemGroupNameValidator<T>()); ruleBuilder.SetValidator(new GroupItemValidator<T>());
ruleBuilder.SetValidator(new ItemGroupIdValidator<T>()); ruleBuilder.SetValidator(new ItemGroupIdValidator<T>());
ruleBuilder.SetValidator(new UniqueIdValidator<T>()); ruleBuilder.SetValidator(new UniqueIdValidator<T>());
ruleBuilder.SetValidator(new UniqueQualityIdValidator<T>()); ruleBuilder.SetValidator(new UniqueQualityIdValidator<T>());
@ -47,10 +47,10 @@ protected override bool IsValid(PropertyValidatorContext context)
} }
} }
public class EmptyItemGroupNameValidator<T> : PropertyValidator public class GroupItemValidator<T> : PropertyValidator
{ {
public EmptyItemGroupNameValidator() public GroupItemValidator()
: base("Groups must not be empty") : base("Groups must contain multiple qualities")
{ {
} }
@ -59,7 +59,7 @@ protected override bool IsValid(PropertyValidatorContext context)
{ {
var items = context.PropertyValue as IList<QualityProfileQualityItemResource>; var items = context.PropertyValue as IList<QualityProfileQualityItemResource>;
if (items.Any(i => i.Name.IsNotNullOrWhiteSpace() && i.Items.Empty())) if (items.Any(i => i.Name.IsNotNullOrWhiteSpace() && i.Items.Count <= 1))
{ {
return false; return false;
} }

View File

@ -13,8 +13,6 @@ public ProfileModule(IProfileService profileService)
{ {
_profileService = profileService; _profileService = profileService;
SharedValidator.RuleFor(c => c.Name).NotEmpty(); SharedValidator.RuleFor(c => c.Name).NotEmpty();
// TODO: Need to validate the cutoff is allowed and the ID/quality ID exists
// TODO: Need to validate the Items to ensure groups have names and at no item has no name, no items and no quality
SharedValidator.RuleFor(c => c.Cutoff).ValidCutoff(); SharedValidator.RuleFor(c => c.Cutoff).ValidCutoff();
SharedValidator.RuleFor(c => c.Items).ValidItems(); SharedValidator.RuleFor(c => c.Items).ValidItems();