From dbc784e94bcb67dab03643ee282fd13109dc3eca Mon Sep 17 00:00:00 2001 From: Taloth Saldono Date: Sun, 3 May 2020 17:28:18 +0200 Subject: [PATCH] Added UpdateMechanismMessage to allow package maintainers provide custom message --- frontend/src/System/Updates/Updates.js | 12 ++++++++---- frontend/src/System/Updates/UpdatesConnector.js | 3 +++ .../Configuration/DeploymentInfoProvider.cs | 3 +++ src/Radarr.Api.V3/System/SystemModule.cs | 3 ++- 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/frontend/src/System/Updates/Updates.js b/frontend/src/System/Updates/Updates.js index 290c9844d..7b74896e4 100644 --- a/frontend/src/System/Updates/Updates.js +++ b/frontend/src/System/Updates/Updates.js @@ -5,6 +5,7 @@ import { icons, kinds } from 'Helpers/Props'; import formatDate from 'Utilities/Date/formatDate'; import LoadingIndicator from 'Components/Loading/LoadingIndicator'; import SpinnerButton from 'Components/Link/SpinnerButton'; +import InlineMarkdown from 'Components/Markdown/InlineMarkdown'; import Icon from 'Components/Icon'; import Label from 'Components/Label'; import PageContent from 'Components/Page/PageContent'; @@ -28,6 +29,7 @@ class Updates extends Component { isInstallingUpdate, updateMechanism, isDocker, + updateMechanismMessage, shortDateFormat, onInstallLatestPress } = this.props; @@ -38,10 +40,11 @@ class Updates extends Component { const hasUpdateToInstall = hasUpdates && _.some(items, { installable: true, latest: true }); const noUpdateToInstall = hasUpdates && !hasUpdateToInstall; + const externalUpdaterPrefix = 'Unable to update Radarr directly,'; const externalUpdaterMessages = { - external: 'Unable to update Radarr directly, Radarr is configured to use an external update mechanism', - apt: 'Unable to update Radarr directly, use apt to install the update', - docker: 'Unable to update Radarr directly, update the docker container to receive the update' + external: 'Radarr is configured to use an external update mechanism', + apt: 'use apt to install the update', + docker: 'update the docker container to receive the update' }; return ( @@ -79,7 +82,7 @@ class Updates extends Component { />
- {externalUpdaterMessages[updateMechanism] || externalUpdaterMessages.external} + {externalUpdaterPrefix}
} @@ -212,6 +215,7 @@ Updates.propTypes = { isInstallingUpdate: PropTypes.bool.isRequired, isDocker: PropTypes.bool.isRequired, updateMechanism: PropTypes.string, + updateMechanismMessage: PropTypes.string, shortDateFormat: PropTypes.string.isRequired, onInstallLatestPress: PropTypes.func.isRequired }; diff --git a/frontend/src/System/Updates/UpdatesConnector.js b/frontend/src/System/Updates/UpdatesConnector.js index 4003eed54..f0d93f10b 100644 --- a/frontend/src/System/Updates/UpdatesConnector.js +++ b/frontend/src/System/Updates/UpdatesConnector.js @@ -14,6 +14,7 @@ import Updates from './Updates'; function createMapStateToProps() { return createSelector( (state) => state.app.version, + createSystemStatusSelector(), (state) => state.system.updates, (state) => state.settings.general, createUISettingsSelector(), @@ -21,6 +22,7 @@ function createMapStateToProps() { createCommandExecutingSelector(commandNames.APPLICATION_UPDATE), ( currentVersion, + status, updates, generalSettings, uiSettings, @@ -45,6 +47,7 @@ function createMapStateToProps() { isInstallingUpdate, isDocker: systemStatus.isDocker, updateMechanism: generalSettings.item.updateMechanism, + updateMechanismMessage: status.packageUpdateMechanismMessage, shortDateFormat: uiSettings.shortDateFormat }; } diff --git a/src/NzbDrone.Core/Configuration/DeploymentInfoProvider.cs b/src/NzbDrone.Core/Configuration/DeploymentInfoProvider.cs index 560699b4b..bb11ec3ff 100644 --- a/src/NzbDrone.Core/Configuration/DeploymentInfoProvider.cs +++ b/src/NzbDrone.Core/Configuration/DeploymentInfoProvider.cs @@ -14,6 +14,7 @@ namespace NzbDrone.Core.Configuration string PackageAuthor { get; } string PackageBranch { get; } UpdateMechanism PackageUpdateMechanism { get; } + string PackageUpdateMechanismMessage { get; } string ReleaseVersion { get; } string ReleaseBranch { get; } @@ -41,6 +42,7 @@ namespace NzbDrone.Core.Configuration PackageVersion = ReadValue(data, "PackageVersion"); PackageAuthor = ReadValue(data, "PackageAuthor"); PackageUpdateMechanism = ReadEnumValue(data, "UpdateMethod", UpdateMechanism.BuiltIn); + PackageUpdateMechanismMessage = ReadValue(data, "UpdateMethodMessage"); PackageBranch = ReadValue(data, "Branch"); ReleaseVersion = ReadValue(data, "ReleaseVersion"); @@ -94,6 +96,7 @@ namespace NzbDrone.Core.Configuration public string PackageAuthor { get; private set; } public string PackageBranch { get; private set; } public UpdateMechanism PackageUpdateMechanism { get; private set; } + public string PackageUpdateMechanismMessage { get; private set; } public string ReleaseVersion { get; private set; } public string ReleaseBranch { get; set; } diff --git a/src/Radarr.Api.V3/System/SystemModule.cs b/src/Radarr.Api.V3/System/SystemModule.cs index d1c962268..b57a76f67 100644 --- a/src/Radarr.Api.V3/System/SystemModule.cs +++ b/src/Radarr.Api.V3/System/SystemModule.cs @@ -77,7 +77,8 @@ namespace Radarr.Api.V3.System StartTime = _runtimeInfo.StartTime, PackageVersion = _deploymentInfoProvider.PackageVersion, PackageAuthor = _deploymentInfoProvider.PackageAuthor, - PackageUpdateMechanism = _deploymentInfoProvider.PackageUpdateMechanism + PackageUpdateMechanism = _deploymentInfoProvider.PackageUpdateMechanism, + PackageUpdateMechanismMessage = _deploymentInfoProvider.PackageUpdateMechanismMessage }; }