mirror of
https://github.com/lidarr/Lidarr
synced 2024-12-21 23:32:27 +00:00
Fixed: Validate metadata and quality profiles for root folders
Don't allow `0` as possible value for metadata and quality profiles, and permit to edit root folders with bad values in UI.
This commit is contained in:
parent
838e49ba23
commit
e31f2ad253
4 changed files with 15 additions and 12 deletions
|
@ -7,6 +7,7 @@ import TableRow from 'Components/Table/TableRow';
|
|||
import TagListConnector from 'Components/TagListConnector';
|
||||
import { createQualityProfileSelectorForHook } from 'Store/Selectors/createQualityProfileSelector';
|
||||
import { SelectStateInputProps } from 'typings/props';
|
||||
import translate from 'Utilities/String/translate';
|
||||
import styles from './ManageImportListsModalRow.css';
|
||||
|
||||
interface ManageImportListsModalRowProps {
|
||||
|
@ -63,7 +64,7 @@ function ManageImportListsModalRow(props: ManageImportListsModalRowProps) {
|
|||
</TableRowCell>
|
||||
|
||||
<TableRowCell className={styles.qualityProfileId}>
|
||||
{qualityProfile?.name ?? 'None'}
|
||||
{qualityProfile?.name ?? translate('None')}
|
||||
</TableRowCell>
|
||||
|
||||
<TableRowCell className={styles.rootFolderPath}>
|
||||
|
@ -71,7 +72,7 @@ function ManageImportListsModalRow(props: ManageImportListsModalRowProps) {
|
|||
</TableRowCell>
|
||||
|
||||
<TableRowCell className={styles.enableAutomaticAdd}>
|
||||
{enableAutomaticAdd ? 'Yes' : 'No'}
|
||||
{enableAutomaticAdd ? translate('Yes') : translate('No')}
|
||||
</TableRowCell>
|
||||
|
||||
<TableRowCell className={styles.tags}>
|
||||
|
|
|
@ -75,12 +75,12 @@ class RootFolder extends Component {
|
|||
{path}
|
||||
</Label>
|
||||
|
||||
<Label kind={kinds.SUCCESS}>
|
||||
{qualityProfile.name}
|
||||
<Label kind={qualityProfile?.name ? kinds.SUCCESS : kinds.DANGER}>
|
||||
{qualityProfile?.name || translate('None')}
|
||||
</Label>
|
||||
|
||||
<Label kind={kinds.SUCCESS}>
|
||||
{metadataProfile.name}
|
||||
<Label kind={metadataProfile?.name ? kinds.SUCCESS : kinds.DANGER}>
|
||||
{metadataProfile?.name || translate('None')}
|
||||
</Label>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -48,10 +48,12 @@ public RootFolderController(IRootFolderService rootFolderService,
|
|||
SharedValidator.RuleFor(c => c.Name)
|
||||
.NotEmpty();
|
||||
|
||||
SharedValidator.RuleFor(c => c.DefaultMetadataProfileId)
|
||||
SharedValidator.RuleFor(c => c.DefaultMetadataProfileId).Cascade(CascadeMode.Stop)
|
||||
.ValidId()
|
||||
.SetValidator(metadataProfileExistsValidator);
|
||||
|
||||
SharedValidator.RuleFor(c => c.DefaultQualityProfileId)
|
||||
SharedValidator.RuleFor(c => c.DefaultQualityProfileId).Cascade(CascadeMode.Stop)
|
||||
.ValidId()
|
||||
.SetValidator(qualityProfileExistsValidator);
|
||||
}
|
||||
|
||||
|
|
|
@ -5,11 +5,11 @@ namespace NzbDrone.Core.Validation
|
|||
{
|
||||
public class QualityProfileExistsValidator : PropertyValidator
|
||||
{
|
||||
private readonly IQualityProfileService _profileService;
|
||||
private readonly IQualityProfileService _qualityProfileService;
|
||||
|
||||
public QualityProfileExistsValidator(IQualityProfileService profileService)
|
||||
public QualityProfileExistsValidator(IQualityProfileService qualityProfileService)
|
||||
{
|
||||
_profileService = profileService;
|
||||
_qualityProfileService = qualityProfileService;
|
||||
}
|
||||
|
||||
protected override string GetDefaultMessageTemplate() => "Quality Profile does not exist";
|
||||
|
@ -21,7 +21,7 @@ protected override bool IsValid(PropertyValidatorContext context)
|
|||
return true;
|
||||
}
|
||||
|
||||
return _profileService.Exists((int)context.PropertyValue);
|
||||
return _qualityProfileService.Exists((int)context.PropertyValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue