diff --git a/frontend/src/DiscoverMovie/NoDiscoverMovie.js b/frontend/src/DiscoverMovie/NoDiscoverMovie.js index 0a14b4c1a..788e873aa 100644 --- a/frontend/src/DiscoverMovie/NoDiscoverMovie.js +++ b/frontend/src/DiscoverMovie/NoDiscoverMovie.js @@ -47,7 +47,7 @@ function NoDiscoverMovie(props) { to="/settings/importlists" kind={kinds.PRIMARY} > - {translate('AddList')} + {translate('AddImportList')} diff --git a/frontend/src/Settings/CustomFormats/CustomFormats/Specifications/EditSpecificationModalContent.js b/frontend/src/Settings/CustomFormats/CustomFormats/Specifications/EditSpecificationModalContent.js index 5d55952fb..e75895f34 100644 --- a/frontend/src/Settings/CustomFormats/CustomFormats/Specifications/EditSpecificationModalContent.js +++ b/frontend/src/Settings/CustomFormats/CustomFormats/Specifications/EditSpecificationModalContent.js @@ -41,7 +41,7 @@ function EditSpecificationModalContent(props) { return ( - {`${id ? 'Edit' : 'Add'} Condition - ${implementationName}`} + {id ? translate('EditConditionImplementation', { implementationName }) : translate('AddConditionImplementation', { implementationName })} diff --git a/frontend/src/Settings/DownloadClients/DownloadClients/EditDownloadClientModalContent.js b/frontend/src/Settings/DownloadClients/DownloadClients/EditDownloadClientModalContent.js index cb03acb98..b2699cfc6 100644 --- a/frontend/src/Settings/DownloadClients/DownloadClients/EditDownloadClientModalContent.js +++ b/frontend/src/Settings/DownloadClients/DownloadClients/EditDownloadClientModalContent.js @@ -58,7 +58,7 @@ class EditDownloadClientModalContent extends Component { return ( - {`${id ? translate('Edit') : translate('Add')} ${translate('DownloadClient')} - ${implementationName}`} + {id ? translate('EditDownloadClientImplementation', { implementationName }) : translate('AddDownloadClientImplementation', { implementationName })} diff --git a/frontend/src/Settings/ImportLists/ImportLists/AddImportListItem.js b/frontend/src/Settings/ImportLists/ImportLists/AddImportListItem.js index 4cf0438cb..0ec5994d8 100644 --- a/frontend/src/Settings/ImportLists/ImportLists/AddImportListItem.js +++ b/frontend/src/Settings/ImportLists/ImportLists/AddImportListItem.js @@ -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 @@ -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 diff --git a/frontend/src/Settings/ImportLists/ImportLists/AddImportListModalContent.js b/frontend/src/Settings/ImportLists/ImportLists/AddImportListModalContent.js index 5aa0cbb40..98d1c54d7 100644 --- a/frontend/src/Settings/ImportLists/ImportLists/AddImportListModalContent.js +++ b/frontend/src/Settings/ImportLists/ImportLists/AddImportListModalContent.js @@ -32,7 +32,7 @@ class AddImportListModalContent extends Component { return ( - {translate('AddList')} + {translate('AddImportList')} diff --git a/frontend/src/Settings/ImportLists/ImportLists/AddImportListModalContentConnector.js b/frontend/src/Settings/ImportLists/ImportLists/AddImportListModalContentConnector.js index e8844de7b..0ef726f22 100644 --- a/frontend/src/Settings/ImportLists/ImportLists/AddImportListModalContentConnector.js +++ b/frontend/src/Settings/ImportLists/ImportLists/AddImportListModalContentConnector.js @@ -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({ importListSelected: true }); }; diff --git a/frontend/src/Settings/ImportLists/ImportLists/AddImportListPresetMenuItem.js b/frontend/src/Settings/ImportLists/ImportLists/AddImportListPresetMenuItem.js index 9ba037da4..31d16db29 100644 --- a/frontend/src/Settings/ImportLists/ImportLists/AddImportListPresetMenuItem.js +++ b/frontend/src/Settings/ImportLists/ImportLists/AddImportListPresetMenuItem.js @@ -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 }; diff --git a/frontend/src/Settings/ImportLists/ImportLists/EditImportListModalContent.js b/frontend/src/Settings/ImportLists/ImportLists/EditImportListModalContent.js index 0f52af5fa..628975299 100644 --- a/frontend/src/Settings/ImportLists/ImportLists/EditImportListModalContent.js +++ b/frontend/src/Settings/ImportLists/ImportLists/EditImportListModalContent.js @@ -57,7 +57,7 @@ function EditImportListModalContent(props) { return ( - {`${id ? translate('Edit') : translate('Add')} ${translate('List')} - ${implementationName}`} + {id ? translate('EditImportListImplementation', { implementationName }) : translate('AddImportListImplementation', { implementationName })} diff --git a/frontend/src/Settings/Indexers/Indexers/AddIndexerItem.js b/frontend/src/Settings/Indexers/Indexers/AddIndexerItem.js index 58b7ce50d..5874b4fac 100644 --- a/frontend/src/Settings/Indexers/Indexers/AddIndexerItem.js +++ b/frontend/src/Settings/Indexers/Indexers/AddIndexerItem.js @@ -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} /> ); diff --git a/frontend/src/Settings/Indexers/Indexers/AddIndexerModalContentConnector.js b/frontend/src/Settings/Indexers/Indexers/AddIndexerModalContentConnector.js index 11861e9c2..a9c313479 100644 --- a/frontend/src/Settings/Indexers/Indexers/AddIndexerModalContentConnector.js +++ b/frontend/src/Settings/Indexers/Indexers/AddIndexerModalContentConnector.js @@ -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 }); }; diff --git a/frontend/src/Settings/Indexers/Indexers/AddIndexerPresetMenuItem.js b/frontend/src/Settings/Indexers/Indexers/AddIndexerPresetMenuItem.js index 03196e526..8f98d0e12 100644 --- a/frontend/src/Settings/Indexers/Indexers/AddIndexerPresetMenuItem.js +++ b/frontend/src/Settings/Indexers/Indexers/AddIndexerPresetMenuItem.js @@ -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 }; diff --git a/frontend/src/Settings/Indexers/Indexers/EditIndexerModalContent.js b/frontend/src/Settings/Indexers/Indexers/EditIndexerModalContent.js index 46f616049..03a8e9601 100644 --- a/frontend/src/Settings/Indexers/Indexers/EditIndexerModalContent.js +++ b/frontend/src/Settings/Indexers/Indexers/EditIndexerModalContent.js @@ -55,7 +55,7 @@ function EditIndexerModalContent(props) { return ( - {`${id ? translate('EditIndexer') : translate('AddIndexer')} - ${implementationName}`} + {id ? translate('EditIndexerImplementation', { implementationName }) : translate('AddIndexerImplementation', { implementationName })} diff --git a/frontend/src/Settings/Notifications/Notifications/AddNotificationModalContent.js b/frontend/src/Settings/Notifications/Notifications/AddNotificationModalContent.js index ca06445cc..a48a8f9d5 100644 --- a/frontend/src/Settings/Notifications/Notifications/AddNotificationModalContent.js +++ b/frontend/src/Settings/Notifications/Notifications/AddNotificationModalContent.js @@ -28,7 +28,7 @@ class AddNotificationModalContent extends Component { return ( - {translate('AddNotification')} + {translate('AddConnection')} diff --git a/frontend/src/Settings/Notifications/Notifications/EditNotificationModalContent.js b/frontend/src/Settings/Notifications/Notifications/EditNotificationModalContent.js index db67c9f5f..60e368617 100644 --- a/frontend/src/Settings/Notifications/Notifications/EditNotificationModalContent.js +++ b/frontend/src/Settings/Notifications/Notifications/EditNotificationModalContent.js @@ -48,7 +48,7 @@ function EditNotificationModalContent(props) { return ( - {`${id ? translate('Edit') : translate('Add')} ${translate('Connection')} - ${implementationName}`} + {id ? translate('EditConnectionImplementation', { implementationName }) : translate('AddConnectionImplementation', { implementationName })} diff --git a/frontend/src/Settings/Tags/AutoTagging/Specifications/EditSpecificationModalContent.js b/frontend/src/Settings/Tags/AutoTagging/Specifications/EditSpecificationModalContent.js index b41fb1067..30ca90487 100644 --- a/frontend/src/Settings/Tags/AutoTagging/Specifications/EditSpecificationModalContent.js +++ b/frontend/src/Settings/Tags/AutoTagging/Specifications/EditSpecificationModalContent.js @@ -72,7 +72,7 @@ function EditSpecificationModalContent(props) { return ( - {`${id ? translate('EditCondition') : translate('AddCondition')} - ${implementationName}`} + {id ? translate('EditConditionImplementation', { implementationName }) : translate('AddConditionImplementation', { implementationName })} diff --git a/frontend/src/Store/Actions/Settings/downloadClients.js b/frontend/src/Store/Actions/Settings/downloadClients.js index 60f2fe435..e62914523 100644 --- a/frontend/src/Store/Actions/Settings/downloadClients.js +++ b/frontend/src/Store/Actions/Settings/downloadClients.js @@ -119,6 +119,7 @@ export default { [SELECT_DOWNLOAD_CLIENT_SCHEMA]: (state, { payload }) => { return selectProviderSchema(state, section, payload, (selectedSchema) => { + selectedSchema.name = selectedSchema.implementationName; selectedSchema.enable = true; return selectedSchema; diff --git a/frontend/src/Store/Actions/Settings/importLists.js b/frontend/src/Store/Actions/Settings/importLists.js index 53606863f..ce596abd4 100644 --- a/frontend/src/Store/Actions/Settings/importLists.js +++ b/frontend/src/Store/Actions/Settings/importLists.js @@ -120,7 +120,11 @@ 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.minimumAvailability = 'released'; + selectedSchema.rootFolderPath = ''; return selectedSchema; }); diff --git a/frontend/src/Store/Actions/Settings/indexers.js b/frontend/src/Store/Actions/Settings/indexers.js index 6433fbc7a..8de2a684b 100644 --- a/frontend/src/Store/Actions/Settings/indexers.js +++ b/frontend/src/Store/Actions/Settings/indexers.js @@ -124,6 +124,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; diff --git a/frontend/src/Store/Actions/Settings/notifications.js b/frontend/src/Store/Actions/Settings/notifications.js index 1125b55fe..3bd0792aa 100644 --- a/frontend/src/Store/Actions/Settings/notifications.js +++ b/frontend/src/Store/Actions/Settings/notifications.js @@ -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.onDownload = selectedSchema.supportsOnDownload; selectedSchema.onUpgrade = selectedSchema.supportsOnUpgrade; diff --git a/src/NzbDrone.Core/ImportLists/ImportListBase.cs b/src/NzbDrone.Core/ImportLists/ImportListBase.cs index bb5a76ab3..eaa77abe6 100644 --- a/src/NzbDrone.Core/ImportLists/ImportListBase.cs +++ b/src/NzbDrone.Core/ImportLists/ImportListBase.cs @@ -58,7 +58,6 @@ namespace NzbDrone.Core.ImportLists yield return new ImportListDefinition { - Name = GetType().Name, Enabled = config.Validate().IsValid && Enabled, EnableAuto = true, Implementation = GetType().Name, diff --git a/src/NzbDrone.Core/Indexers/IndexerBase.cs b/src/NzbDrone.Core/Indexers/IndexerBase.cs index bcfa5b4e0..6382010f0 100644 --- a/src/NzbDrone.Core/Indexers/IndexerBase.cs +++ b/src/NzbDrone.Core/Indexers/IndexerBase.cs @@ -53,7 +53,6 @@ namespace NzbDrone.Core.Indexers yield return new IndexerDefinition { - Name = GetType().Name, EnableRss = config.Validate().IsValid && SupportsRss, EnableAutomaticSearch = config.Validate().IsValid && SupportsSearch, EnableInteractiveSearch = config.Validate().IsValid && SupportsSearch, diff --git a/src/NzbDrone.Core/Localization/Core/en.json b/src/NzbDrone.Core/Localization/Core/en.json index e514bd9fb..f18d92681 100644 --- a/src/NzbDrone.Core/Localization/Core/en.json +++ b/src/NzbDrone.Core/Localization/Core/en.json @@ -6,13 +6,19 @@ "Add": "Add", "AddAutoTag": "Add Auto Tag", "AddCondition": "Add Condition", + "AddConditionImplementation": "Add Condition - {implementationName}", + "AddConnection": "Add Connection", + "AddConnectionImplementation": "Add Connection - {implementationName}", "AddCustomFormat": "Add Custom Format", "AddDelayProfile": "Add Delay Profile", "AddDownloadClient": "Add Download Client", + "AddDownloadClientImplementation": "Add Download Client - {implementationName}", "AddExclusion": "Add Exclusion", "AddImportExclusionHelpText": "Prevent movie from being added to Radarr by lists", + "AddImportList": "Add Import List", + "AddImportListImplementation": "Add Import List - {implementationName}", "AddIndexer": "Add Indexer", - "AddList": "Add List", + "AddIndexerImplementation": "Add Indexer - {implementationName}", "AddListExclusion": "Add List Exclusion", "AddMovie": "Add Movie", "AddMovies": "Add Movies", @@ -20,7 +26,6 @@ "AddNewMessage": "It's easy to add a new movie, just start typing the name of the movie you want to add", "AddNewMovie": "Add New Movie", "AddNewTmdbIdMessage": "You can also search using TMDb Id of a movie. e.g. 'tmdb:71663'", - "AddNotification": "Add Notification", "AddQualityProfile": "Add Quality Profile", "AddRemotePathMapping": "Add Remote Path Mapping", "AddRestriction": "Add Restriction", @@ -307,11 +312,14 @@ "Edit": "Edit", "EditAutoTag": "Edit Auto Tag", "EditCollection": "Edit Collection", - "EditCondition": "Edit Condition", + "EditConditionImplementation": "Edit Condition - {implementationName}", + "EditConnectionImplementation": "Edit Notification - {implementationName}", "EditCustomFormat": "Edit Custom Format", "EditDelayProfile": "Edit Delay Profile", + "EditDownloadClientImplementation": "Edit Download Client - {implementationName}", "EditGroups": "Edit Groups", - "EditIndexer": "Edit Indexer", + "EditImportListImplementation": "Edit Import List - {implementationName}", + "EditIndexerImplementation": "Edit Indexer - {implementationName}", "EditListExclusion": "Edit List Exclusion", "EditMovie": "Edit Movie", "EditMovieFile": "Edit Movie File",