diff --git a/src/languages/de.ts b/src/languages/de.ts index b013eef53958..01f5088ef1db 100644 --- a/src/languages/de.ts +++ b/src/languages/de.ts @@ -2059,6 +2059,7 @@ ${amount} für ${merchant} - ${date}`, addApprovalsTitle: 'Genehmigungen hinzufügen', addApprovalButton: 'Genehmigungsworkflow hinzufügen', addApprovalTip: 'Dieser Standard-Workflow gilt für alle Mitglieder, es sei denn, es existiert ein spezifischerer Workflow.', + disableApprovalPromptDescription: 'Durch das Deaktivieren von Genehmigungen werden alle vorhandenen Genehmigungsworkflows gelöscht.', approver: 'Genehmiger', addApprovalsDescription: 'Zusätzliche Genehmigung erforderlich, bevor eine Zahlung autorisiert wird.', makeOrTrackPaymentsTitle: 'Zahlungen vornehmen oder verfolgen', diff --git a/src/languages/en.ts b/src/languages/en.ts index 5dae3eaf34a4..d1f7517bca60 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -2017,6 +2017,7 @@ const translations = { submissionFrequency: 'Submission frequency', submissionFrequencyDescription: 'Choose a custom schedule for submitting expenses.', submissionFrequencyDateOfMonth: 'Date of month', + disableApprovalPromptDescription: 'Disabling approvals will erase all existing approval workflows.', addApprovalsTitle: 'Add approvals', addApprovalButton: 'Add approval workflow', addApprovalTip: 'This default workflow applies to all members, unless a more specific workflow exists.', diff --git a/src/languages/es.ts b/src/languages/es.ts index e005583a8f72..901c2331bc9e 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -2020,6 +2020,7 @@ ${amount} para ${merchant} - ${date}`, workflowDescription: 'Configure un flujo de trabajo desde el momento en que se produce el gasto, incluida la aprobación y el pago', submissionFrequency: 'Frecuencia de envíos', submissionFrequencyDescription: 'Elige un horario personalizado para enviar los gastos.', + disableApprovalPromptDescription: 'Deshabilitar las aprobaciones borrará todos los flujos de trabajo de aprobación existentes.', submissionFrequencyDateOfMonth: 'Fecha del mes', addApprovalsTitle: 'Aprobaciones', addApprovalButton: 'Añadir flujo de aprobación', diff --git a/src/languages/fr.ts b/src/languages/fr.ts index 9e9730e4e26e..0715f61ed92f 100644 --- a/src/languages/fr.ts +++ b/src/languages/fr.ts @@ -2053,6 +2053,7 @@ ${amount} pour ${merchant} - ${date}`, delaySubmissionDescription: 'Choisissez un calendrier personnalisé pour soumettre les dépenses, ou laissez cette option désactivée pour des mises à jour en temps réel des dépenses.', submissionFrequency: 'Fréquence de soumission', submissionFrequencyDescription: 'Choisissez une fréquence pour soumettre les dépenses.', + disableApprovalPromptDescription: "Désactiver les approbations effacera tous les flux de travail d'approbation existants.", submissionFrequencyDateOfMonth: 'Date du mois', addApprovalsTitle: 'Ajouter des approbations', addApprovalButton: "Ajouter un flux de travail d'approbation", diff --git a/src/languages/it.ts b/src/languages/it.ts index 5cb38c993331..d7a29b41ff80 100644 --- a/src/languages/it.ts +++ b/src/languages/it.ts @@ -2044,6 +2044,7 @@ ${amount} per ${merchant} - ${date}`, delaySubmissionDescription: "Scegli un programma personalizzato per l'invio delle spese, oppure lascialo disattivato per aggiornamenti in tempo reale sulle spese.", submissionFrequency: 'Frequenza di invio', submissionFrequencyDescription: 'Scegli una frequenza per inviare le spese.', + disableApprovalPromptDescription: 'Disabilitare le approvazioni eliminerà tutti i flussi di lavoro di approvazione esistenti.', submissionFrequencyDateOfMonth: 'Data del mese', addApprovalsTitle: 'Aggiungi approvazioni', addApprovalButton: 'Aggiungi flusso di lavoro di approvazione', diff --git a/src/languages/ja.ts b/src/languages/ja.ts index 473c25d6a303..bfa3e4119fef 100644 --- a/src/languages/ja.ts +++ b/src/languages/ja.ts @@ -2035,6 +2035,7 @@ ${date} - ${merchant}に${amount}`, workflowDescription: '支出が発生した瞬間から、承認および支払いを含むワークフローを設定します。', submissionFrequency: '提出頻度', submissionFrequencyDescription: '経費を提出する頻度を選択します。', + disableApprovalPromptDescription: '承認を無効にすると、既存の承認ワークフローがすべて削除されます。', submissionFrequencyDateOfMonth: '月の日付', addApprovalsTitle: '承認を追加', addApprovalButton: '承認ワークフローを追加', diff --git a/src/languages/nl.ts b/src/languages/nl.ts index 3ada193df4af..5221cffe9602 100644 --- a/src/languages/nl.ts +++ b/src/languages/nl.ts @@ -2045,6 +2045,7 @@ ${amount} voor ${merchant} - ${date}`, submissionFrequency: 'Indieningsfrequentie', submissionFrequencyDescription: 'Kies een frequentie voor het indienen van onkosten.', submissionFrequencyDateOfMonth: 'Datum van de maand', + disableApprovalPromptDescription: 'Goedkeuringen uitschakelen verwijdert alle bestaande goedkeuringsworkflows.', addApprovalsTitle: 'Goedkeuringen toevoegen', addApprovalButton: 'Goedkeuringsworkflow toevoegen', addApprovalTip: 'Deze standaard workflow is van toepassing op alle leden, tenzij er een specifiekere workflow bestaat.', diff --git a/src/languages/pl.ts b/src/languages/pl.ts index 9b7cd79c108e..fe39b9ee55bb 100644 --- a/src/languages/pl.ts +++ b/src/languages/pl.ts @@ -2042,6 +2042,7 @@ ${amount} dla ${merchant} - ${date}`, submissionFrequency: 'Częstotliwość składania wniosków', submissionFrequencyDescription: 'Wybierz częstotliwość przesyłania wydatków.', submissionFrequencyDateOfMonth: 'Data miesiąca', + disableApprovalPromptDescription: 'Wyłączenie zatwierdzeń usunie wszystkie istniejące przepływy pracy zatwierdzania.', addApprovalsTitle: 'Dodaj zatwierdzenia', addApprovalButton: 'Dodaj przepływ pracy zatwierdzania', addApprovalTip: 'Ten domyślny przepływ pracy dotyczy wszystkich członków, chyba że istnieje bardziej szczegółowy przepływ pracy.', diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts index efe0b1f9d8b7..e8b870627afe 100644 --- a/src/languages/pt-BR.ts +++ b/src/languages/pt-BR.ts @@ -2039,6 +2039,7 @@ ${amount} para ${merchant} - ${date}`, submissionFrequency: 'Frequência de envio', submissionFrequencyDescription: 'Escolha uma frequência para enviar despesas.', submissionFrequencyDateOfMonth: 'Data do mês', + disableApprovalPromptDescription: 'Desativar aprovações removerá todos os fluxos de trabalho de aprovação existentes.', addApprovalsTitle: 'Adicionar aprovações', addApprovalButton: 'Adicionar fluxo de trabalho de aprovação', addApprovalTip: 'Este fluxo de trabalho padrão se aplica a todos os membros, a menos que exista um fluxo de trabalho mais específico.', diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts index 85428c665bd5..653cf6ca65f1 100644 --- a/src/languages/zh-hans.ts +++ b/src/languages/zh-hans.ts @@ -2019,6 +2019,7 @@ ${merchant}的${amount} - ${date}`, submissionFrequencyDescription: '选择提交费用的频率。', submissionFrequencyDateOfMonth: '月份日期', addApprovalsTitle: '添加审批', + disableApprovalPromptDescription: '禁用审批将删除所有现有的审批工作流程。', addApprovalButton: '添加审批工作流程', addApprovalTip: '此默认工作流程适用于所有成员,除非存在更具体的工作流程。', approver: '审批人', diff --git a/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx b/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx index ba6070b16d5a..314f6d7e55bf 100644 --- a/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx +++ b/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx @@ -78,6 +78,7 @@ function WorkspaceWorkflowsPage({policy, route}: WorkspaceWorkflowsPageProps) { const [personalDetails] = useOnyx(ONYXKEYS.PERSONAL_DETAILS_LIST, {canBeMissing: false}); const [reimbursementAccount] = useOnyx(ONYXKEYS.REIMBURSEMENT_ACCOUNT, {canBeMissing: true}); const [reimbursementAccountDraft] = useOnyx(ONYXKEYS.FORMS.REIMBURSEMENT_ACCOUNT_FORM_DRAFT, {canBeMissing: true}); + const [isDisableApprovalsConfirmModalOpen, setIsDisableApprovalsConfirmModalOpen] = useState(false); const {approvalWorkflows, availableMembers, usedApproverEmails} = useMemo( () => convertPolicyEmployeesToApprovalWorkflows({ @@ -148,6 +149,11 @@ function WorkspaceWorkflowsPage({policy, route}: WorkspaceWorkflowsPageProps) { // eslint-disable-next-line react-hooks/exhaustive-deps }, []); + const confirmDisableApprovals = useCallback(() => { + setIsDisableApprovalsConfirmModalOpen(false); + setWorkspaceApprovalMode(route.params.policyID, policy?.owner ?? '', CONST.POLICY.APPROVAL_MODE.OPTIONAL); + }, [route.params.policyID, policy?.owner]); + // User should be allowed to add new Approval Workflow only if he's upgraded to Control Plan, otherwise redirected to the Upgrade Page const addApprovalAction = useCallback(() => { setApprovalWorkflow({ @@ -219,6 +225,10 @@ function WorkspaceWorkflowsPage({policy, route}: WorkspaceWorkflowsPageProps) { subtitle: isSmartLimitEnabled ? translate('workspace.moreFeatures.workflows.disableApprovalPrompt') : translate('workflowsPage.addApprovalsDescription'), switchAccessibilityLabel: isSmartLimitEnabled ? translate('workspace.moreFeatures.workflows.disableApprovalPrompt') : translate('workflowsPage.addApprovalsDescription'), onToggle: (isEnabled: boolean) => { + if (!isEnabled) { + setIsDisableApprovalsConfirmModalOpen(true); + return; + } setWorkspaceApprovalMode(route.params.policyID, policy?.owner ?? '', isEnabled ? updateApprovalMode : CONST.POLICY.APPROVAL_MODE.OPTIONAL); }, subMenuItems: ( @@ -441,6 +451,16 @@ function WorkspaceWorkflowsPage({policy, route}: WorkspaceWorkflowsPageProps) { /> )} + setIsDisableApprovalsConfirmModalOpen(false)} + prompt={translate('workflowsPage.disableApprovalPromptDescription')} + confirmText={translate('common.disable')} + cancelText={translate('common.cancel')} + danger + /> );