diff --git a/src/languages/de.ts b/src/languages/de.ts index 0b679990bc6d..16ec96f335cd 100644 --- a/src/languages/de.ts +++ b/src/languages/de.ts @@ -4982,6 +4982,8 @@ const translations = { limit: 'Limit', limitType: 'Typ begrenzen', name: 'Name', + disabledApprovalForSmartLimitError: + 'Bitte aktivieren Sie Genehmigungen unter Workflows > Genehmigungen hinzufügen, bevor Sie intelligente Limits einrichten', }, deactivateCardModal: { deactivate: 'Deaktivieren', diff --git a/src/languages/en.ts b/src/languages/en.ts index a436b5a5d4e2..725c3e91df8c 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -4964,6 +4964,7 @@ const translations = { limit: 'Limit', limitType: 'Limit type', name: 'Name', + disabledApprovalForSmartLimitError: 'Please enable approvals in Workflows > Add approvals before setting up smart limits', }, deactivateCardModal: { deactivate: 'Deactivate', diff --git a/src/languages/es.ts b/src/languages/es.ts index ab5b7d735ab7..2bc6e2cec41c 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -5223,6 +5223,7 @@ const translations = { limit: 'Limite', limitType: 'Tipo de limite', name: 'Nombre', + disabledApprovalForSmartLimitError: 'Por favor, habilita las aprobaciones en Flujos de trabajo > Aprobaciones antes de configurar los límites inteligentes', }, deactivateCardModal: { deactivate: 'Desactivar', diff --git a/src/languages/fr.ts b/src/languages/fr.ts index 20ac165a9497..07a6b4369f6a 100644 --- a/src/languages/fr.ts +++ b/src/languages/fr.ts @@ -4997,6 +4997,8 @@ const translations = { limit: 'Limite', limitType: 'Limiter le type', name: 'Nom', + disabledApprovalForSmartLimitError: + 'Veuillez activer les approbations dans Workflows > Ajouter des approbations avant de configurer les limites intelligentes', }, deactivateCardModal: { deactivate: 'Désactiver', diff --git a/src/languages/it.ts b/src/languages/it.ts index 7582da608e59..10bccda4d9a6 100644 --- a/src/languages/it.ts +++ b/src/languages/it.ts @@ -4996,6 +4996,7 @@ const translations = { limit: 'Limite', limitType: 'Tipo di limite', name: 'Nome', + disabledApprovalForSmartLimitError: 'Abilita le approvazioni in Flussi di lavoro > Aggiungi approvazioni prima di impostare i limiti intelligenti', }, deactivateCardModal: { deactivate: 'Disattiva', diff --git a/src/languages/ja.ts b/src/languages/ja.ts index 9d07d3cac601..7b4b7ff3a0f3 100644 --- a/src/languages/ja.ts +++ b/src/languages/ja.ts @@ -4975,6 +4975,7 @@ const translations = { limit: '制限', limitType: 'タイプを制限', name: '名前', + disabledApprovalForSmartLimitError: 'スマートリミットを設定する前に、ワークフロー > 承認を追加で承認を有効にしてください', }, deactivateCardModal: { deactivate: '無効化', diff --git a/src/languages/nl.ts b/src/languages/nl.ts index 384807845817..7be6e171bb7f 100644 --- a/src/languages/nl.ts +++ b/src/languages/nl.ts @@ -4998,6 +4998,7 @@ const translations = { limit: 'Limiet', limitType: 'Limiettype', name: 'Naam', + disabledApprovalForSmartLimitError: 'Schakel goedkeuringen in Workflows > Goedkeuringen toevoegen in voordat u slimme limieten instelt', }, deactivateCardModal: { deactivate: 'Deactiveren', diff --git a/src/languages/pl.ts b/src/languages/pl.ts index 71413a9ef623..5079936c87c6 100644 --- a/src/languages/pl.ts +++ b/src/languages/pl.ts @@ -4987,6 +4987,7 @@ const translations = { limit: 'Limit', limitType: 'Typ limitu', name: 'Imię', + disabledApprovalForSmartLimitError: 'Proszę włączyć zatwierdzenia w Przepływy pracy > Dodaj zatwierdzenia przed skonfigurowaniem inteligentnych limitów', }, deactivateCardModal: { deactivate: 'Dezaktywuj', diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts index 491de7646691..865f5015755f 100644 --- a/src/languages/pt-BR.ts +++ b/src/languages/pt-BR.ts @@ -4993,6 +4993,8 @@ const translations = { limit: 'Limite', limitType: 'Tipo de limite', name: 'Nome', + disabledApprovalForSmartLimitError: + 'Por favor, ative as aprovações em Fluxos de Trabalho > Adicionar aprovações antes de configurar os limites inteligentes', }, deactivateCardModal: { deactivate: 'Desativar', diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts index 3a1dd75d268f..443b85b7c296 100644 --- a/src/languages/zh-hans.ts +++ b/src/languages/zh-hans.ts @@ -4909,6 +4909,7 @@ const translations = { limit: '限制', limitType: '限制类型', name: '名称', + disabledApprovalForSmartLimitError: '请在工作流程 > 添加审批中启用审批,然后再设置智能限制', }, deactivateCardModal: { deactivate: '停用', diff --git a/src/pages/workspace/expensifyCard/issueNew/ConfirmationStep.tsx b/src/pages/workspace/expensifyCard/issueNew/ConfirmationStep.tsx index 50542a23c9a1..41fb9ba8607a 100644 --- a/src/pages/workspace/expensifyCard/issueNew/ConfirmationStep.tsx +++ b/src/pages/workspace/expensifyCard/issueNew/ConfirmationStep.tsx @@ -45,11 +45,15 @@ function ConfirmationStep({policyID, backTo, stepNames, startStepIndex}: Confirm const {isOffline} = useNetwork(); const [account] = useOnyx(ONYXKEYS.ACCOUNT, {canBeMissing: true}); const [issueNewCard] = useOnyx(`${ONYXKEYS.COLLECTION.ISSUE_NEW_EXPENSIFY_CARD}${policyID}`, {canBeMissing: true}); + const [policy] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY}${policyID}`, {canBeMissing: true}); const validateError = getLatestErrorMessageField(issueNewCard); const [isValidateCodeActionModalVisible, setIsValidateCodeActionModalVisible] = useState(false); const data = issueNewCard?.data; const isSuccessful = issueNewCard?.isSuccessful; const defaultFundID = useDefaultFundID(policyID); + const hasApprovalError = !!policy?.errorFields?.approvalMode; + const isAddApprovalEnabled = policy?.approvalMode !== CONST.POLICY.APPROVAL_MODE.OPTIONAL && !hasApprovalError; + const shouldDisableSubmitButton = !isAddApprovalEnabled && data?.limitType === CONST.EXPENSIFY_CARD.LIMIT_TYPES.SMART; const submitButton = useRef(null); @@ -77,7 +81,7 @@ function ConfirmationStep({policyID, backTo, stepNames, startStepIndex}: Confirm issueExpensifyCard(defaultFundID, policyID, CONST.COUNTRY.US, validateCode, data); }; - const errorMessage = getLatestErrorMessage(issueNewCard); + const errorMessage = getLatestErrorMessage(issueNewCard) || (shouldDisableSubmitButton ? translate('workspace.card.issueNewCard.disabledApprovalForSmartLimitError') : ''); const editStep = (step: IssueNewCardStep) => { setIssueNewCardStepAndData({step, isEditing: true, policyID}); @@ -143,7 +147,8 @@ function ConfirmationStep({policyID, backTo, stepNames, startStepIndex}: Confirm buttonRef={submitButton} message={errorMessage} isAlertVisible={!!errorMessage} - isDisabled={isOffline} + isDisabled={isOffline || shouldDisableSubmitButton} + isMessageHtml={shouldDisableSubmitButton} isLoading={issueNewCard?.isLoading} onSubmit={() => setIsValidateCodeActionModalVisible(true)} buttonText={translate('workspace.card.issueCard')}