Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions src/languages/de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6110,6 +6110,9 @@ Fordere Spesendetails wie Belege und Beschreibungen an, lege Limits und Standard
toUpgrade: 'Zum Aktualisieren klicken',
selectWorkspace: 'Wähle einen Workspace aus und ändere den Plantyp in',
},
upgradeWorkspaceWarning: 'Arbeitsbereich kann nicht aktualisiert werden',
upgradeWorkspaceWarningForRestrictedPolicyCreationPrompt:
'Ihr Unternehmen hat die Erstellung von Arbeitsbereichen eingeschränkt. Bitte wenden Sie sich an einen Administrator.',
},
},
downgrade: {
Expand Down
2 changes: 2 additions & 0 deletions src/languages/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5968,6 +5968,8 @@ const translations = {
toUpgrade: 'To upgrade, click',
selectWorkspace: 'select a workspace, and change the plan type to',
},
upgradeWorkspaceWarning: `Can't upgrade workspace`,
upgradeWorkspaceWarningForRestrictedPolicyCreationPrompt: 'Your company has restricted workspace creation. Please reach out to an admin for help.',
},
},
downgrade: {
Expand Down
3 changes: 3 additions & 0 deletions src/languages/es.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5624,6 +5624,9 @@ ${amount} para ${merchant} - ${date}`,
toUpgrade: 'Para mejorar, haz clic en',
selectWorkspace: 'selecciona un espacio de trabajo y cambia el tipo de plan a',
},
upgradeWorkspaceWarning: 'No se puede actualizar el espacio de trabajo',
upgradeWorkspaceWarningForRestrictedPolicyCreationPrompt:
'Su empresa ha restringido la creación de espacios de trabajo. Por favor, contacte a un administrador para obtener ayuda.',
},
},
downgrade: {
Expand Down
3 changes: 3 additions & 0 deletions src/languages/fr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6118,6 +6118,9 @@ Exigez des informations de dépense comme les reçus et les descriptions, défin
toUpgrade: 'Pour mettre à niveau, cliquez',
selectWorkspace: 'sélectionnez un espace de travail et changez le type de forfait en',
},
upgradeWorkspaceWarning: "Impossible de mettre à niveau l'espace de travail",
upgradeWorkspaceWarningForRestrictedPolicyCreationPrompt:
"Votre entreprise a restreint la création d'espaces de travail. Veuillez contacter un administrateur pour obtenir de l'aide.",
},
},
downgrade: {
Expand Down
2 changes: 2 additions & 0 deletions src/languages/it.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6089,6 +6089,8 @@ Richiedi dettagli di spesa come ricevute e descrizioni, imposta limiti e valori
toUpgrade: 'Per eseguire l’upgrade, fai clic',
selectWorkspace: 'seleziona uno spazio di lavoro e modifica il tipo di piano in',
},
upgradeWorkspaceWarning: 'Impossibile aggiornare lo spazio di lavoro',
upgradeWorkspaceWarningForRestrictedPolicyCreationPrompt: 'La tua azienda ha limitato la creazione di spazi di lavoro. Contatta un amministratore per assistenza.',
},
},
downgrade: {
Expand Down
2 changes: 2 additions & 0 deletions src/languages/ja.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6053,6 +6053,8 @@ ${reportName}
toUpgrade: 'アップグレードするには、クリックしてください',
selectWorkspace: 'ワークスペースを選択し、プランの種類を 次に変更してください',
},
upgradeWorkspaceWarning: 'ワークスペースをアップグレードできません',
upgradeWorkspaceWarningForRestrictedPolicyCreationPrompt: '会社がワークスペースの作成を制限しています。管理者に連絡してください。',
},
},
downgrade: {
Expand Down
2 changes: 2 additions & 0 deletions src/languages/nl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6078,6 +6078,8 @@ Vraag verplichte uitgavedetails zoals bonnetjes en beschrijvingen, stel limieten
toUpgrade: 'Om te upgraden, klik',
selectWorkspace: 'selecteer een workspace en wijzig het type abonnement in',
},
upgradeWorkspaceWarning: 'Kan werkruimte niet upgraden',
upgradeWorkspaceWarningForRestrictedPolicyCreationPrompt: 'Uw bedrijf heeft de creatie van werkruimten beperkt. Neem contact op met een beheerder voor hulp.',
},
},
downgrade: {
Expand Down
2 changes: 2 additions & 0 deletions src/languages/pl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6071,6 +6071,8 @@ Wymagaj szczegółów wydatków, takich jak paragony i opisy, ustawiaj limity i
toUpgrade: 'Aby zaktualizować, kliknij',
selectWorkspace: 'wybierz przestrzeń roboczą i zmień typ planu na',
},
upgradeWorkspaceWarning: 'Nie można ulepszyć przestrzeni roboczej',
upgradeWorkspaceWarningForRestrictedPolicyCreationPrompt: 'Twoja firma ograniczyła tworzenie przestrzeni roboczych. Skontaktuj się z administratorem, aby uzyskać pomoc.',
},
},
downgrade: {
Expand Down
2 changes: 2 additions & 0 deletions src/languages/pt-BR.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6072,6 +6072,8 @@ Exija detalhes de despesas como recibos e descrições, defina limites e padrõe
toUpgrade: 'Para fazer upgrade, clique',
selectWorkspace: 'selecione um workspace e altere o tipo de plano para',
},
upgradeWorkspaceWarning: 'Não é possível atualizar o espaço de trabalho',
upgradeWorkspaceWarningForRestrictedPolicyCreationPrompt: 'Sua empresa restringiu a criação de espaços de trabalho. Entre em contato com um administrador para obter ajuda.',
},
},
downgrade: {
Expand Down
2 changes: 2 additions & 0 deletions src/languages/zh-hans.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5966,6 +5966,8 @@ ${reportName}
toUpgrade: '要升级,请点击',
selectWorkspace: '选择一个工作区,并将套餐类型更改为',
},
upgradeWorkspaceWarning: '无法升级工作区',
upgradeWorkspaceWarningForRestrictedPolicyCreationPrompt: '您的公司已限制工作区创建。请联系管理员寻求帮助。',
},
},
downgrade: {
Expand Down
23 changes: 23 additions & 0 deletions src/pages/iou/request/step/IOURequestStepUpgrade.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import React, {useCallback, useMemo, useRef, useState} from 'react';
import ConfirmModal from '@components/ConfirmModal';
import HeaderWithBackButton from '@components/HeaderWithBackButton';
import {usePersonalDetails} from '@components/OnyxListItemProvider';
import ScreenWrapper from '@components/ScreenWrapper';
Expand All @@ -9,6 +10,7 @@ import useCurrentUserPersonalDetails from '@hooks/useCurrentUserPersonalDetails'
import useLocalize from '@hooks/useLocalize';
import useNetwork from '@hooks/useNetwork';
import useOnyx from '@hooks/useOnyx';
import usePreferredPolicy from '@hooks/usePreferredPolicy';
import useThemeStyles from '@hooks/useThemeStyles';
import {setTransactionReport} from '@libs/actions/Transaction';
import type CreateWorkspaceParams from '@libs/API/parameters/CreateWorkspaceParams';
Expand Down Expand Up @@ -47,12 +49,14 @@ function IOURequestStepUpgrade({
const [isUpgraded, setIsUpgraded] = useState(false);
const [showConfirmationForm, setShowConfirmationForm] = useState(false);
const [createdPolicyName, setCreatedPolicyName] = useState('');
const [isUpgradeWarningModalOpen, setIsUpgradeWarningModalOpen] = useState(false);
const policyDataRef = useRef<CreateWorkspaceParams | null>(null);
const isDistanceRateUpgrade = upgradePath === CONST.UPGRADE_PATHS.DISTANCE_RATES;
const isCategorizing = upgradePath === CONST.UPGRADE_PATHS.CATEGORIES;
const isReporting = upgradePath === CONST.UPGRADE_PATHS.REPORTS;
const platform = getPlatform();
const isWebOrDesktop = platform === CONST.PLATFORM.WEB || platform === CONST.PLATFORM.DESKTOP;
const {isRestrictedPolicyCreation} = usePreferredPolicy();
const [introSelected] = useOnyx(ONYXKEYS.NVP_INTRO_SELECTED, {canBeMissing: true});
const [activePolicyID] = useOnyx(ONYXKEYS.NVP_ACTIVE_POLICY_ID, {canBeMissing: true});

Expand Down Expand Up @@ -127,10 +131,16 @@ function IOURequestStepUpgrade({
}, [isDistanceRateUpgrade, transaction?.participants, personalDetails]);

const onUpgrade = useCallback(() => {
if (isRestrictedPolicyCreation) {
setIsUpgradeWarningModalOpen(true);
return;
}

if (isCategorizing || isReporting) {
setShowConfirmationForm(true);
return;
}

const policyData = Policy.createWorkspace({
policyOwnerEmail: undefined,
policyName: undefined,
Expand Down Expand Up @@ -164,10 +174,15 @@ function IOURequestStepUpgrade({
currentUserPersonalDetails.email,
introSelected,
onboardingPurposeSelected,
isRestrictedPolicyCreation,
]);

const [session] = useOnyx(ONYXKEYS.SESSION, {canBeMissing: false});

const handleConfirmUpgradeWarning = useCallback(() => {
setIsUpgradeWarningModalOpen(false);
}, []);

const onWorkspaceConfirmationSubmit = (params: WorkspaceConfirmationSubmitFunctionParams) => {
const policyData = Policy.createWorkspace({
policyOwnerEmail: undefined,
Expand Down Expand Up @@ -234,6 +249,14 @@ function IOURequestStepUpgrade({
addBottomSafeAreaPadding={false}
/>
)}
<ConfirmModal
isVisible={isUpgradeWarningModalOpen}
shouldShowCancelButton={false}
onConfirm={handleConfirmUpgradeWarning}
title={translate('workspace.upgrade.commonFeatures.upgradeWorkspaceWarning')}
prompt={translate('workspace.upgrade.commonFeatures.upgradeWorkspaceWarningForRestrictedPolicyCreationPrompt')}
confirmText={translate('common.buttonConfirm')}
/>
</ScreenWrapper>
);
}
Expand Down
Loading