mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-19 13:10:13 -07:00
Added: Add Release Status to Metadata Profile, Default to Official Only (#250)
* Added: Add Release Status to Metadata Profile, Default to Official Only * Fixed: Unit Test and Comparison
This commit is contained in:
parent
9d7c6bc961
commit
df4e1e9b26
18 changed files with 632 additions and 19 deletions
|
@ -54,16 +54,41 @@ function createSecondaryAlbumTypesSelector() {
|
|||
);
|
||||
}
|
||||
|
||||
function createReleaseStatusesSelector() {
|
||||
return createSelector(
|
||||
createProviderSettingsSelector(),
|
||||
(metadataProfile) => {
|
||||
const releaseStatuses = metadataProfile.item.releaseStatuses;
|
||||
if (!releaseStatuses || !releaseStatuses.value) {
|
||||
return [];
|
||||
}
|
||||
|
||||
return _.reduceRight(releaseStatuses.value, (result, { allowed, releaseStatus }) => {
|
||||
if (allowed) {
|
||||
result.push({
|
||||
key: releaseStatus.id,
|
||||
value: releaseStatus.name
|
||||
});
|
||||
}
|
||||
|
||||
return result;
|
||||
}, []);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function createMapStateToProps() {
|
||||
return createSelector(
|
||||
createProviderSettingsSelector(),
|
||||
createPrimaryAlbumTypesSelector(),
|
||||
createSecondaryAlbumTypesSelector(),
|
||||
createReleaseStatusesSelector(),
|
||||
createProfileInUseSelector('metadataProfileId'),
|
||||
(metadataProfile, primaryAlbumTypes, secondaryAlbumTypes, isInUse) => {
|
||||
(metadataProfile, primaryAlbumTypes, secondaryAlbumTypes, releaseStatuses, isInUse) => {
|
||||
return {
|
||||
primaryAlbumTypes,
|
||||
secondaryAlbumTypes,
|
||||
releaseStatuses,
|
||||
...metadataProfile,
|
||||
isInUse
|
||||
};
|
||||
|
@ -138,6 +163,18 @@ class EditMetadataProfileModalContentConnector extends Component {
|
|||
});
|
||||
}
|
||||
|
||||
onMetadataReleaseStatusItemAllowedChange = (id, allowed) => {
|
||||
const metadataProfile = _.cloneDeep(this.props.item);
|
||||
|
||||
const item = _.find(metadataProfile.releaseStatuses.value, (i) => i.releaseStatus.id === id);
|
||||
item.allowed = allowed;
|
||||
|
||||
this.props.setMetadataProfileValue({
|
||||
name: 'releaseStatuses',
|
||||
value: metadataProfile.releaseStatuses.value
|
||||
});
|
||||
}
|
||||
|
||||
//
|
||||
// Render
|
||||
|
||||
|
@ -154,6 +191,7 @@ class EditMetadataProfileModalContentConnector extends Component {
|
|||
onInputChange={this.onInputChange}
|
||||
onMetadataPrimaryTypeItemAllowedChange={this.onMetadataPrimaryTypeItemAllowedChange}
|
||||
onMetadataSecondaryTypeItemAllowedChange={this.onMetadataSecondaryTypeItemAllowedChange}
|
||||
onMetadataReleaseStatusItemAllowedChange={this.onMetadataReleaseStatusItemAllowedChange}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue