New: Notifications when Manual Interaction is required for importing

(cherry picked from commit 33c7bd54b222c54ed7e505653793ddf962617d52)
This commit is contained in:
Stickie 2022-10-17 18:19:54 +02:00 committed by Bogdan
commit e0ffb7d359
48 changed files with 683 additions and 27 deletions

View file

@ -67,6 +67,7 @@ class Notification extends Component {
onImportFailure,
onTrackRetag,
onApplicationUpdate,
onManualInteractionRequired,
supportsOnGrab,
supportsOnReleaseImport,
supportsOnUpgrade,
@ -78,7 +79,8 @@ class Notification extends Component {
supportsOnDownloadFailure,
supportsOnImportFailure,
supportsOnTrackRetag,
supportsOnApplicationUpdate
supportsOnApplicationUpdate,
supportsOnManualInteractionRequired
} = this.props;
return (
@ -177,14 +179,22 @@ class Notification extends Component {
}
{
!onGrab && !onReleaseImport && !onRename && !onTrackRetag && !onAlbumDelete && !onArtistDelete &&
!onHealthIssue && !onHealthRestored && !onDownloadFailure && !onImportFailure && !onApplicationUpdate &&
<Label
kind={kinds.DISABLED}
outline={true}
>
{translate('Disabled')}
</Label>
supportsOnManualInteractionRequired && onManualInteractionRequired ?
<Label kind={kinds.SUCCESS}>
{translate('OnManualInteractionRequired')}
</Label> :
null
}
{
!onGrab && !onReleaseImport && !onRename && !onTrackRetag && !onAlbumDelete && !onArtistDelete && !onHealthIssue && !onHealthRestored && !onDownloadFailure && !onImportFailure && !onApplicationUpdate && !onManualInteractionRequired ?
<Label
kind={kinds.DISABLED}
outline={true}
>
{translate('Disabled')}
</Label> :
null
}
<EditNotificationModalConnector
@ -223,6 +233,7 @@ Notification.propTypes = {
onImportFailure: PropTypes.bool.isRequired,
onTrackRetag: PropTypes.bool.isRequired,
onApplicationUpdate: PropTypes.bool.isRequired,
onManualInteractionRequired: PropTypes.bool.isRequired,
supportsOnGrab: PropTypes.bool.isRequired,
supportsOnReleaseImport: PropTypes.bool.isRequired,
supportsOnUpgrade: PropTypes.bool.isRequired,
@ -235,6 +246,7 @@ Notification.propTypes = {
supportsOnImportFailure: PropTypes.bool.isRequired,
supportsOnTrackRetag: PropTypes.bool.isRequired,
supportsOnApplicationUpdate: PropTypes.bool.isRequired,
supportsOnManualInteractionRequired: PropTypes.bool.isRequired,
onConfirmDeleteNotification: PropTypes.func.isRequired
};

View file

@ -27,6 +27,7 @@ function NotificationEventItems(props) {
onImportFailure,
onTrackRetag,
onApplicationUpdate,
onManualInteractionRequired,
supportsOnGrab,
supportsOnReleaseImport,
supportsOnUpgrade,
@ -39,7 +40,8 @@ function NotificationEventItems(props) {
supportsOnDownloadFailure,
supportsOnImportFailure,
supportsOnTrackRetag,
supportsOnApplicationUpdate
supportsOnApplicationUpdate,
supportsOnManualInteractionRequired
} = item;
return (
@ -201,6 +203,17 @@ function NotificationEventItems(props) {
/>
</div>
}
<div>
<FormInputGroup
type={inputTypes.CHECK}
name="onManualInteractionRequired"
helpText={translate('OnManualInteractionRequiredHelpText')}
isDisabled={!supportsOnManualInteractionRequired.value}
{...onManualInteractionRequired}
onChange={onInputChange}
/>
</div>
</div>
</div>
</FormGroup>

View file

@ -111,6 +111,7 @@ export default {
selectedSchema.onImportFailure = selectedSchema.supportsOnImportFailure;
selectedSchema.onTrackRetag = selectedSchema.supportsOnTrackRetag;
selectedSchema.onApplicationUpdate = selectedSchema.supportsOnApplicationUpdate;
selectedSchema.onManualInteractionRequired = selectedSchema.supportsOnManualInteractionRequired;
return selectedSchema;
});