New: Default name when adding providers

(cherry picked from commit 16d95ea6bf3d9340845fee19904a2d48616be8dc)

Closes #4007
pull/4016/head
Bogdan 9 months ago
parent fd9bd5f691
commit c88d64a9ac

@ -41,7 +41,7 @@ function EditSpecificationModalContent(props) {
return (
<ModalContent onModalClose={onCancelPress}>
<ModalHeader>
{`${id ? 'Edit' : 'Add'} Condition - ${implementationName}`}
{id ? translate('EditConditionImplementation', { implementationName }) : translate('AddConditionImplementation', { implementationName })}
</ModalHeader>
<ModalBody>

@ -58,7 +58,7 @@ class EditDownloadClientModalContent extends Component {
return (
<ModalContent onModalClose={onModalClose}>
<ModalHeader>
{`${id ? 'Edit' : 'Add'} Download Client - ${implementationName}`}
{id ? translate('EditDownloadClientImplementation', { implementationName }) : translate('AddDownloadClientImplementation', { implementationName })}
</ModalHeader>
<ModalBody>

@ -16,10 +16,12 @@ class AddImportListItem extends Component {
onImportListSelect = () => {
const {
implementation
implementation,
implementationName,
minRefreshInterval
} = this.props;
this.props.onImportListSelect({ implementation });
this.props.onImportListSelect({ implementation, implementationName, minRefreshInterval });
};
//
@ -29,6 +31,7 @@ class AddImportListItem extends Component {
const {
implementation,
implementationName,
minRefreshInterval,
infoLink,
presets,
onImportListSelect
@ -56,7 +59,7 @@ class AddImportListItem extends Component {
<span>
<Button
size={sizes.SMALL}
onPress={this.onListSelect}
onPress={this.onImportListSelect}
>
{translate('Custom')}
</Button>
@ -77,6 +80,8 @@ class AddImportListItem extends Component {
key={preset.name}
name={preset.name}
implementation={implementation}
implementationName={implementationName}
minRefreshInterval={minRefreshInterval}
onPress={onImportListSelect}
/>
);
@ -103,6 +108,7 @@ class AddImportListItem extends Component {
AddImportListItem.propTypes = {
implementation: PropTypes.string.isRequired,
implementationName: PropTypes.string.isRequired,
minRefreshInterval: PropTypes.string.isRequired,
infoLink: PropTypes.string.isRequired,
presets: PropTypes.arrayOf(PropTypes.object),
onImportListSelect: PropTypes.func.isRequired

@ -32,7 +32,7 @@ class AddImportListModalContent extends Component {
return (
<ModalContent onModalClose={onModalClose}>
<ModalHeader>
Add List
{translate('AddImportList')}
</ModalHeader>
<ModalBody>

@ -49,8 +49,8 @@ class AddImportListModalContentConnector extends Component {
//
// Listeners
onImportListSelect = ({ implementation, name }) => {
this.props.selectImportListSchema({ implementation, presetName: name });
onImportListSelect = ({ implementation, implementationName, name, minRefreshInterval }) => {
this.props.selectImportListSchema({ implementation, implementationName, presetName: name, minRefreshInterval });
this.props.onModalClose({ listSelected: true });
};

@ -10,12 +10,16 @@ class AddImportListPresetMenuItem extends Component {
onPress = () => {
const {
name,
implementation
implementation,
implementationName,
minRefreshInterval
} = this.props;
this.props.onPress({
name,
implementation
implementation,
implementationName,
minRefreshInterval
});
};
@ -26,6 +30,8 @@ class AddImportListPresetMenuItem extends Component {
const {
name,
implementation,
implementationName,
minRefreshInterval,
...otherProps
} = this.props;
@ -43,6 +49,8 @@ class AddImportListPresetMenuItem extends Component {
AddImportListPresetMenuItem.propTypes = {
name: PropTypes.string.isRequired,
implementation: PropTypes.string.isRequired,
implementationName: PropTypes.string.isRequired,
minRefreshInterval: PropTypes.string.isRequired,
onPress: PropTypes.func.isRequired
};

@ -73,6 +73,7 @@ function EditImportListModalContent(props) {
const {
id,
implementationName,
name,
enableAutomaticAdd,
minRefreshInterval,
@ -91,7 +92,7 @@ function EditImportListModalContent(props) {
return (
<ModalContent onModalClose={onModalClose}>
<ModalHeader>
{id ? translate('EditList') : translate('AddList')}
{id ? translate('EditImportListImplementation', { implementationName }) : translate('AddImportListImplementation', { implementationName })}
</ModalHeader>
<ModalBody>

@ -16,10 +16,11 @@ class AddIndexerItem extends Component {
onIndexerSelect = () => {
const {
implementation
implementation,
implementationName
} = this.props;
this.props.onIndexerSelect({ implementation });
this.props.onIndexerSelect({ implementation, implementationName });
};
//
@ -77,6 +78,7 @@ class AddIndexerItem extends Component {
key={preset.name}
name={preset.name}
implementation={implementation}
implementationName={implementationName}
onPress={onIndexerSelect}
/>
);

@ -48,8 +48,8 @@ class AddIndexerModalContentConnector extends Component {
//
// Listeners
onIndexerSelect = ({ implementation, name }) => {
this.props.selectIndexerSchema({ implementation, presetName: name });
onIndexerSelect = ({ implementation, implementationName, name }) => {
this.props.selectIndexerSchema({ implementation, implementationName, presetName: name });
this.props.onModalClose({ indexerSelected: true });
};

@ -10,12 +10,14 @@ class AddIndexerPresetMenuItem extends Component {
onPress = () => {
const {
name,
implementation
implementation,
implementationName
} = this.props;
this.props.onPress({
name,
implementation
implementation,
implementationName
});
};
@ -26,6 +28,7 @@ class AddIndexerPresetMenuItem extends Component {
const {
name,
implementation,
implementationName,
...otherProps
} = this.props;
@ -43,6 +46,7 @@ class AddIndexerPresetMenuItem extends Component {
AddIndexerPresetMenuItem.propTypes = {
name: PropTypes.string.isRequired,
implementation: PropTypes.string.isRequired,
implementationName: PropTypes.string.isRequired,
onPress: PropTypes.func.isRequired
};

@ -55,7 +55,7 @@ function EditIndexerModalContent(props) {
return (
<ModalContent onModalClose={onModalClose}>
<ModalHeader>
{`${id ? translate('EditIndexer') : translate('AddIndexer')} - ${implementationName}`}
{id ? translate('EditIndexerImplementation', { implementationName }) : translate('AddIndexerImplementation', { implementationName })}
</ModalHeader>
<ModalBody>

@ -28,7 +28,7 @@ class AddNotificationModalContent extends Component {
return (
<ModalContent onModalClose={onModalClose}>
<ModalHeader>
Add Notification
{translate('AddConnection')}
</ModalHeader>
<ModalBody>

@ -48,7 +48,7 @@ function EditNotificationModalContent(props) {
return (
<ModalContent onModalClose={onModalClose}>
<ModalHeader>
{`${id ? translate('EditConnection') : translate('AddConnection')} - ${implementationName}`}
{id ? translate('EditConnectionImplementation', { implementationName }) : translate('AddConnectionImplementation', { implementationName })}
</ModalHeader>
<ModalBody>

@ -117,6 +117,7 @@ export default {
[SELECT_DOWNLOAD_CLIENT_SCHEMA]: (state, { payload }) => {
return selectProviderSchema(state, section, payload, (selectedSchema) => {
selectedSchema.name = selectedSchema.implementationName;
selectedSchema.enable = true;
return selectedSchema;

@ -117,8 +117,12 @@ export default {
[SELECT_IMPORT_LIST_SCHEMA]: (state, { payload }) => {
return selectProviderSchema(state, section, payload, (selectedSchema) => {
selectedSchema.name = payload.presetName ?? payload.implementationName;
selectedSchema.implementationName = payload.implementationName;
selectedSchema.minRefreshInterval = payload.minRefreshInterval;
selectedSchema.enableAutomaticAdd = true;
selectedSchema.shouldMonitor = 'entireArtist';
selectedSchema.rootFolderPath = '';
return selectedSchema;
});

@ -121,6 +121,8 @@ export default {
[SELECT_INDEXER_SCHEMA]: (state, { payload }) => {
return selectProviderSchema(state, section, payload, (selectedSchema) => {
selectedSchema.name = payload.presetName ?? payload.implementationName;
selectedSchema.implementationName = payload.implementationName;
selectedSchema.enableRss = selectedSchema.supportsRss;
selectedSchema.enableAutomaticSearch = selectedSchema.supportsSearch;
selectedSchema.enableInteractiveSearch = selectedSchema.supportsSearch;

@ -102,6 +102,7 @@ export default {
[SELECT_NOTIFICATION_SCHEMA]: (state, { payload }) => {
return selectProviderSchema(state, section, payload, (selectedSchema) => {
selectedSchema.name = selectedSchema.implementationName;
selectedSchema.onGrab = selectedSchema.supportsOnGrab;
selectedSchema.onReleaseImport = selectedSchema.supportsOnReleaseImport;
selectedSchema.onUpgrade = selectedSchema.supportsOnUpgrade;

@ -44,7 +44,6 @@ namespace NzbDrone.Core.ImportLists
yield return new ImportListDefinition
{
Name = GetType().Name,
EnableAutomaticAdd = config.Validate().IsValid,
Implementation = GetType().Name,
Settings = config

@ -8,13 +8,18 @@
"Actions": "Actions",
"Activity": "Activity",
"Add": "Add",
"AddConditionImplementation": "Add Condition - {implementationName}",
"AddConnection": "Add Connection",
"AddConnectionImplementation": "Add Connection - {implementationName}",
"AddDelayProfile": "Add Delay Profile",
"AddDownloadClientImplementation": "Add Download Client - {implementationName}",
"AddImportList": "Add Import List",
"AddImportListExclusion": "Add Import List Exclusion",
"AddImportListExclusionAlbumHelpText": "Prevent album from being added to Lidarr by Import lists",
"AddImportListExclusionArtistHelpText": "Prevent artist from being added to Lidarr by Import lists",
"AddImportListImplementation": "Add Import List - {implementationName}",
"AddIndexer": "Add Indexer",
"AddList": "Add List",
"AddIndexerImplementation": "Add Indexer - {implementationName}",
"AddListExclusion": "Add List Exclusion",
"AddMetadataProfile": "Add Metadata Profile",
"AddMissing": "Add missing",
@ -155,7 +160,7 @@
"CombineWithExistingFiles": "Combine With Existing Files",
"CompletedDownloadHandling": "Completed Download Handling",
"Component": "Component",
"Conditions": "'Conditions'",
"Conditions": "Conditions",
"Connect": "Connect",
"ConnectSettings": "Connect Settings",
"ConnectionLost": "Connection Lost",
@ -295,12 +300,14 @@
"Duration": "Duration",
"Edit": "Edit",
"EditArtist": "Edit Artist",
"EditConnection": "Edit Connection",
"EditConditionImplementation": "Edit Condition - {implementationName}",
"EditConnectionImplementation": "Edit Connection - {implementationName}",
"EditDelayProfile": "Edit Delay Profile",
"EditDownloadClientImplementation": "Edit Download Client - {implementationName}",
"EditGroups": "Edit Groups",
"EditImportListExclusion": "Edit Import List Exclusion",
"EditIndexer": "Edit Indexer",
"EditList": "Edit List",
"EditImportListImplementation": "Edit Import List - {implementationName}",
"EditIndexerImplementation": "Edit Indexer - {implementationName}",
"EditMetadata": "Edit Metadata",
"EditMetadataProfile": "Edit Metadata Profile",
"EditQualityProfile": "Edit Quality Profile",

Loading…
Cancel
Save