diff --git a/src/Common/dataAccess/dataTransfers.ts b/src/Common/dataAccess/dataTransfers.ts index 1fb0f8de5..d107ec087 100644 --- a/src/Common/dataAccess/dataTransfers.ts +++ b/src/Common/dataAccess/dataTransfers.ts @@ -1,4 +1,5 @@ import { configContext } from "ConfigContext"; +import { Keys, t } from "Localization"; import { ApiType, userContext } from "UserContext"; import * as NotificationConsoleUtils from "Utils/NotificationConsoleUtils"; import { @@ -143,37 +144,50 @@ const pollDataTransferJobOperation = async ( if (status === "Cancelled") { removeFromPolling(jobName); clearMessage && clearMessage(); - const cancelMessage = `Data transfer job ${jobName} cancelled`; + const cancelMessage = t(Keys.containerCopy.dataTransfers.polling.cancelConsoleMessage); NotificationConsoleUtils.logConsoleError(cancelMessage); throw new AbortError(cancelMessage); } if (status === "Paused") { removeFromPolling(jobName); clearMessage && clearMessage(); - const pauseMessage = `Data transfer job ${jobName} paused`; - NotificationConsoleUtils.logConsoleInfo(pauseMessage); + NotificationConsoleUtils.logConsoleInfo(t(Keys.containerCopy.dataTransfers.polling.pauseConsoleMessage)); return body; } if (status === "Failed" || status === "Faulted") { removeFromPolling(jobName); const errorMessage = body?.properties?.error ? JSON.stringify(body?.properties?.error) - : "Operation could not be completed"; + : t(Keys.containerCopy.dataTransfers.polling.defaultErrorMessage); const error = new Error(errorMessage); clearMessage && clearMessage(); - NotificationConsoleUtils.logConsoleError(`Data transfer job ${jobName} failed: ${errorMessage}`); + NotificationConsoleUtils.logConsoleError( + t(Keys.containerCopy.dataTransfers.polling.errorConsoleMessage, { + errorMessage: errorMessage, + jobName: jobName, + }), + ); throw new AbortError(error); } if (status === "Completed") { removeFromPolling(jobName); clearMessage && clearMessage(); - NotificationConsoleUtils.logConsoleInfo(`Data transfer job ${jobName} completed`); + NotificationConsoleUtils.logConsoleInfo( + t(Keys.containerCopy.dataTransfers.polling.completedConsoleMessage, { + jobName: jobName, + }), + ); return body; } const processedCount = body.properties.processedCount; const totalCount = body.properties.totalCount; - const retryMessage = `Data transfer job ${jobName} in progress, total count: ${totalCount}, processed count: ${processedCount}`; - throw new Error(retryMessage); + throw new Error( + t(Keys.containerCopy.dataTransfers.polling.retryConsoleMessage, { + jobName: jobName, + processedCount: processedCount, + totalCount: totalCount, + }), + ); }; export const cancelDataTransferJob = async ( diff --git a/src/Explorer/Controls/Settings/SettingsSubComponents/PartitionKeyComponent.tsx b/src/Explorer/Controls/Settings/SettingsSubComponents/PartitionKeyComponent.tsx index d1d048798..75053f91c 100644 --- a/src/Explorer/Controls/Settings/SettingsSubComponents/PartitionKeyComponent.tsx +++ b/src/Explorer/Controls/Settings/SettingsSubComponents/PartitionKeyComponent.tsx @@ -173,20 +173,20 @@ export const PartitionKeyComponent: React.FC = ({ action === CopyJobActions.cancel ? ( - {/*t(Keys.controls.settings.partitionKeyEditor.confirmCancel1)*/} + {t(Keys.controls.settings.partitionKeyEditor.confirmCancel1)}
{jobName}
- {/*t(Keys.controls.settings.partitionKeyEditor.confirmCancel2)*/} + {t(Keys.controls.settings.partitionKeyEditor.confirmCancel2)}
) : action === CopyJobActions.complete ? ( - {/*t(Keys.controls.settings.partitionKeyEditor.confirmComplete1)*/} + {t(Keys.controls.settings.partitionKeyEditor.confirmComplete1)}
{jobName}
- {/*t(Keys.controls.settings.partitionKeyEditor.confrimComplete2)*/} + {t(Keys.controls.settings.partitionKeyEditor.confrimComplete2)}
) : null; diff --git a/src/Explorer/Panes/ChangePartitionKeyPane/ChangePartitionKeyPane.tsx b/src/Explorer/Panes/ChangePartitionKeyPane/ChangePartitionKeyPane.tsx index 883566dc5..a0bd9c55d 100644 --- a/src/Explorer/Panes/ChangePartitionKeyPane/ChangePartitionKeyPane.tsx +++ b/src/Explorer/Panes/ChangePartitionKeyPane/ChangePartitionKeyPane.tsx @@ -23,6 +23,7 @@ import { createCollection } from "Common/dataAccess/createCollection"; import { DataTransferParams, initiateDataTransfer } from "Common/dataAccess/dataTransfers"; import * as DataModels from "Contracts/DataModels"; import * as ViewModels from "Contracts/ViewModels"; +import { buildResourceLink } from "Explorer/ContainerCopy/CopyJobUtils"; import { BackupPolicyType } from "Explorer/ContainerCopy/Enums/CopyJobEnums"; import { getPartitionKeyName, @@ -141,7 +142,8 @@ export const ChangePartitionKeyPane: React.FC = ({ }; const handleEnablePitr = () => { - const featureUrl = `https://portal.azure.com/#@/resource/subscriptions/${subscriptionId}/resourceGroups/${resourceGroup}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/backupRestore`; + const sourceAccountLink = buildResourceLink(localAccount); + const featureUrl = `${sourceAccountLink}/backupRestore`; setIsEnablingPrerequisite(true); setPrerequisiteLoaderMessage(t(Keys.containerCopy.popoverOverlaySpinnerLabel)); window.open(featureUrl, "_blank"); diff --git a/src/Localization/en/Resources.json b/src/Localization/en/Resources.json index 3760fe8b0..f5ed13a65 100644 --- a/src/Localization/en/Resources.json +++ b/src/Localization/en/Resources.json @@ -1155,6 +1155,16 @@ "confirmButtonText": "Confirm", "cancelButtonText": "Cancel" } + }, + "dataTransfers": { + "polling": { + "cancelConsoleMessage": "Data transfer job \"{{jobName}}\" cancelled", + "completedConsoleMessage": "Data transfer job \"{{jobName}}\" completed", + "defaultErrorMessage": "Operation could not be completed", + "errorConsoleMessage": "Data transfer job \"{{jobName}}\" failed: {{errorMessage}}", + "pauseConsoleMessage": "Data transfer job \"{{jobName}}\" paused", + "retryConsoleMessage": "Data transfer job \"{{jobName}}\" in progress, total count: {{totalCount}}, processed count: {{processedCount}}" + } } } } \ No newline at end of file