Skip to content
Merged
1 change: 1 addition & 0 deletions src/CONST/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1212,6 +1212,7 @@ const CONST = {
CUSTOM_REPORT_NAME_HELP_URL: 'https://help.expensify.com/articles/expensify-classic/spending-insights/Export-Expenses-And-Reports#formulas',
CONFIGURE_REIMBURSEMENT_SETTINGS_HELP_URL: 'https://help.expensify.com/articles/expensify-classic/workspaces/Configure-Reimbursement-Settings',
CONFIGURE_EXPENSE_REPORT_RULES_HELP_URL: 'https://help.expensify.com/articles/new-expensify/workspaces/Set-up-rules#configure-expense-report-rules',
CONFIGURE_APPROVAL_WORKFLOWS_HELP_URL: 'https://help.expensify.com/articles/new-expensify/workspaces/Configure-approval-workflows',
SELECT_WORKFLOWS_HELP_URL: 'https://help.expensify.com/articles/new-expensify/workspaces/Set-up-workflows#select-workflows',
COPILOT_HELP_URL: 'https://help.expensify.com/articles/new-expensify/settings/Add-or-Act-As-a-Copilot',
BULK_UPLOAD_HELP_URL: 'https://help.expensify.com/articles/new-expensify/reports-and-expenses/Create-an-Expense#option-4-bulk-upload-receipts-desktop-only',
Expand Down
9 changes: 9 additions & 0 deletions src/ROUTES.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2446,6 +2446,15 @@ const ROUTES = {
return `workspaces/${policyID}/hr` as const;
},
},
WORKSPACE_HR_GUSTO_APPROVAL_MODE: {
route: 'workspaces/:policyID/hr/gusto/approval-mode',
getRoute: (policyID: string | undefined) => {
if (!policyID) {
Log.warn('Invalid policyID is used to build the WORKSPACE_HR_GUSTO_APPROVAL_MODE route');
}
return `workspaces/${policyID}/hr/gusto/approval-mode` as const;
},
},
WORKSPACE_TAGS: {
route: 'workspaces/:policyID/tags',
getRoute: (policyID: string | undefined) => {
Expand Down
1 change: 1 addition & 0 deletions src/SCREENS.ts
Original file line number Diff line number Diff line change
Expand Up @@ -671,6 +671,7 @@ const SCREENS = {
INITIAL: 'Workspace_Initial',
PROFILE: 'Workspace_Overview',
HR: 'Workspace_HR',
HR_GUSTO_APPROVAL_MODE: 'Workspace_HR_Gusto_Approval_Mode',
COMPANY_CARDS: 'Workspace_CompanyCards',
COMPANY_CARDS_BROKEN_CARD_FEED_CONNECTION: 'Workspace_CompanyCards_BrokenCardFeedConnection',
COMPANY_CARDS_REFRESH_CARD_FEED_CONNECTION: 'Workspace_CompanyCards_RefreshCardFeedConnection',
Expand Down
11 changes: 11 additions & 0 deletions src/languages/de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7030,6 +7030,17 @@ Fügen Sie weitere Ausgabelimits hinzu, um den Cashflow Ihres Unternehmens zu sc
title: 'Gusto',
approvalMode: 'Genehmigungsmodus',
finalApprover: 'Endgültige:r Genehmiger:in',
notSet: 'Nicht festgelegt',
approvalModeDescription: 'Mitglieder und Manager sind für die Synchronisation mit Gusto eingerichtet.',
approvalModeWarningTitle: 'Genehmigungsmodus ändern?',
approvalModeWarningPrompt: (helpSiteURL: string) =>
`Möchten Sie den Genehmigungsmodus für diesen Workspace wirklich ändern? Erfahren Sie mehr über die verschiedenen Gusto-aktivierten Workflow-Modi auf unserer <a href="${helpSiteURL}">Hilfeseite</a>.`,
approvalModeWarningConfirm: 'Genehmigungsmodus ändern',
approvalModes: {
basic: {label: 'Einfache Genehmigung', description: 'Alle Benutzer reichen zur Bearbeitung und Genehmigung bei einer einzigen Person ein.'},
manager: {label: 'Managergenehmigung', description: 'Mitarbeitende reichen Berichte bei ihrer in Gusto hinterlegten direkten Führungskraft ein.'},
custom: {label: 'Benutzerdefinierte Genehmigung', description: 'Ich richte Genehmigungs-Workflows in Expensify manuell ein.'},
},
connect: 'Verbinden',
connectionDescription: 'Verbinde Gusto, um Mitarbeitergenehmigungen mit deinem Workspace zu synchronisieren.',
syncNow: 'Jetzt synchronisieren',
Expand Down
20 changes: 20 additions & 0 deletions src/languages/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6384,6 +6384,26 @@ const translations = {
connectionDescription: 'Connect Gusto to keep employee approvals in sync with your workspace.',
approvalMode: 'Approval mode',
finalApprover: 'Final approver',
notSet: 'Not set',
approvalModeDescription: 'Members and managers are set up to sync with Gusto.',
approvalModeWarningTitle: 'Change approval mode?',
approvalModeWarningPrompt: (helpSiteURL: string) =>
`Are you sure you would like to change the approval mode for this workspace? Learn more about the different Gusto-enabled workflow modes in our <a href="${helpSiteURL}">help site</a>.`,
approvalModeWarningConfirm: 'Change approval mode',
approvalModes: {
basic: {
label: 'Basic approval',
description: 'All users submit to a single person for processing and approval.',
},
manager: {
label: 'Manager approval',
description: 'Employees submit reports to their direct manager configured in Gusto.',
},
custom: {
label: 'Custom approval',
description: 'I’ll manually setup approval workflows in Expensify.',
},
},
},
},
export: {
Expand Down
20 changes: 20 additions & 0 deletions src/languages/es.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6249,6 +6249,26 @@ ${amount} para ${merchant} - ${date}`,
connectionDescription: 'Conecta Gusto para mantener sincronizadas las aprobaciones de empleados con tu espacio de trabajo.',
approvalMode: 'Modo de aprobación',
finalApprover: 'Aprobador final',
notSet: 'No configurado',
approvalModeDescription: 'Los miembros y gerentes están configurados para sincronizarse con Gusto.',
approvalModeWarningTitle: '¿Cambiar modo de aprobación?',
approvalModeWarningPrompt: (helpSiteURL: string) =>
`¿Seguro que quieres cambiar el modo de aprobación de este espacio de trabajo? Obtén más información sobre los diferentes modos de flujo de trabajo con Gusto en nuestro <a href="${helpSiteURL}">sitio de ayuda</a>.`,
approvalModeWarningConfirm: 'Cambiar modo de aprobación',
approvalModes: {
basic: {
label: 'Aprobación básica',
description: 'Todos los usuarios envían a una sola persona para su procesamiento y aprobación.',
},
manager: {
label: 'Aprobación del gerente',
description: 'Los empleados envían informes a su gerente directo configurado en Gusto.',
},
custom: {
label: 'Aprobación personalizada',
description: 'Configuraré manualmente los flujos de aprobación en Expensify.',
},
},
},
},
export: {
Expand Down
11 changes: 11 additions & 0 deletions src/languages/fr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7052,6 +7052,17 @@ Ajoutez davantage de règles de dépenses pour protéger la trésorerie de l’e
title: 'Gusto',
approvalMode: 'Mode d’approbation',
finalApprover: 'Approbateur final',
notSet: 'Non défini',
approvalModeDescription: 'Les membres et les responsables sont configurés pour se synchroniser avec Gusto.',
approvalModeWarningTitle: 'Changer le mode d’approbation ?',
approvalModeWarningPrompt: (helpSiteURL: string) =>
`Êtes-vous sûr·e de vouloir modifier le mode d’approbation de cet espace de travail ? En savoir plus sur les différents modes de workflow compatibles avec Gusto sur notre <a href="${helpSiteURL}">site d’aide</a>.`,
approvalModeWarningConfirm: 'Modifier le mode d’approbation',
approvalModes: {
basic: {label: 'Approbation simple', description: 'Tous les utilisateurs soumettent à une seule personne pour traitement et approbation.'},
manager: {label: 'Approbation du responsable', description: 'Les employé·e·s soumettent leurs rapports à leur responsable direct configuré dans Gusto.'},
custom: {label: 'Approbation personnalisée', description: 'Je configurerai manuellement les circuits de validation dans Expensify.'},
},
connect: 'Connect',
connectionDescription: 'Connectez Gusto pour synchroniser les validations des employé·e·s avec votre espace de travail.',
syncNow: 'Synchroniser maintenant',
Expand Down
11 changes: 11 additions & 0 deletions src/languages/it.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7015,6 +7015,17 @@ Aggiungi altre regole di spesa per proteggere il flusso di cassa aziendale.`,
title: 'Gusto',
approvalMode: 'Modalità approvazione',
finalApprover: 'Approvazione finale',
notSet: 'Non impostato',
approvalModeDescription: 'I membri e i responsabili sono configurati per la sincronizzazione con Gusto.',
approvalModeWarningTitle: 'Cambiare modalità di approvazione?',
approvalModeWarningPrompt: (helpSiteURL: string) =>
`Sei sicuro di voler cambiare la modalità di approvazione per questo spazio di lavoro? Scopri di più sulle diverse modalità di flusso di lavoro abilitate per Gusto nel nostro <a href="${helpSiteURL}">sito di assistenza</a>.`,
approvalModeWarningConfirm: 'Cambia modalità di approvazione',
approvalModes: {
basic: {label: 'Approvazione di base', description: 'Tutti gli utenti inviano a una singola persona per l’elaborazione e l’approvazione.'},
manager: {label: 'Approvazione del responsabile', description: 'I dipendenti inviano i report al proprio responsabile diretto configurato in Gusto.'},
custom: {label: 'Approvazione personalizzata', description: 'Imposterò manualmente i flussi di approvazione in Expensify.'},
},
connect: 'Collega',
connectionDescription: 'Collega Gusto per sincronizzare le approvazioni dei dipendenti con il tuo spazio di lavoro.',
syncNow: 'Sincronizza ora',
Expand Down
11 changes: 11 additions & 0 deletions src/languages/ja.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6938,6 +6938,17 @@ ${reportName}
title: 'Gusto',
approvalMode: '承認モード',
finalApprover: '最終承認者',
notSet: '未設定',
approvalModeDescription: 'メンバーとマネージャーは Gusto と同期するように設定されています。',
approvalModeWarningTitle: '承認モードを変更しますか?',
approvalModeWarningPrompt: (helpSiteURL: string) =>
`このワークスペースの承認モードを変更してもよろしいですか?Gusto 対応の各ワークフローモードについては、<a href="${helpSiteURL}">ヘルプサイト</a>で詳しくご覧いただけます。`,
approvalModeWarningConfirm: '承認モードを変更',
approvalModes: {
basic: {label: '基本承認', description: 'すべてのユーザーは、処理と承認のために 1 人の担当者に提出します。'},
manager: {label: 'マネージャー承認', description: '従業員は、Gusto で設定された直属のマネージャーにレポートを提出します。'},
custom: {label: 'カスタム承認', description: 'Expensify で承認ワークフローを手動で設定します。'},
},
connect: '接続',
connectionDescription: 'Gusto を接続して、従業員の承認をワークスペースと同期させましょう。',
syncNow: '今すぐ同期',
Expand Down
11 changes: 11 additions & 0 deletions src/languages/nl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6994,6 +6994,17 @@ er bestedingsregels toe om de kasstroom van het bedrijf te beschermen.`,
title: 'Gusto',
approvalMode: 'Goedkeuringsmodus',
finalApprover: 'Laatste fiatteur',
notSet: 'Niet ingesteld',
approvalModeDescription: 'Leden en managers zijn ingesteld om te synchroniseren met Gusto.',
approvalModeWarningTitle: 'Goedkeuringsmodus wijzigen?',
approvalModeWarningPrompt: (helpSiteURL: string) =>
`Weet je zeker dat je de goedkeuringsmodus voor deze werkruimte wilt wijzigen? Lees meer over de verschillende Gusto-ondersteunde workflowmodi op onze <a href="${helpSiteURL}">help-site</a>.`,
approvalModeWarningConfirm: 'Goedkeuringsmodus wijzigen',
approvalModes: {
basic: {label: 'Basisgoedkeuring', description: 'Alle gebruikers dienen bij één persoon in voor verwerking en goedkeuring.'},
manager: {label: 'Goedkeuring manager', description: 'Werknemers dienen rapporten in bij hun direct leidinggevende die is ingesteld in Gusto.'},
custom: {label: 'Aangepaste goedkeuring', description: 'Ik stel goedkeuringsworkflows handmatig in in Expensify.'},
},
connect: 'Verbinden',
connectionDescription: 'Verbind Gusto om goedkeuringen van werknemers gesynchroniseerd te houden met je workspace.',
syncNow: 'Nu synchroniseren',
Expand Down
11 changes: 11 additions & 0 deletions src/languages/pl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6987,6 +6987,17 @@ Dodaj więcej zasad wydatków, żeby chronić płynność finansową firmy.`,
title: 'Gusto',
approvalMode: 'Tryb zatwierdzania',
finalApprover: 'Ostateczny zatwierdzający',
notSet: 'Nie ustawiono',
approvalModeDescription: 'Członkowie i menedżerowie są skonfigurowani do synchronizacji z Gusto.',
approvalModeWarningTitle: 'Zmienić tryb zatwierdzania?',
approvalModeWarningPrompt: (helpSiteURL: string) =>
`Czy na pewno chcesz zmienić tryb zatwierdzania dla tego obszaru roboczego? Dowiedz się więcej o różnych trybach przepływu pracy obsługiwanych przez Gusto w naszej <a href="${helpSiteURL}">witrynie pomocy</a>.`,
approvalModeWarningConfirm: 'Zmień tryb zatwierdzania',
approvalModes: {
basic: {label: 'Podstawowa akceptacja', description: 'Wszyscy użytkownicy przesyłają wydatki do jednej osoby w celu ich przetworzenia i zatwierdzenia.'},
manager: {label: 'Zatwierdzenie przez menedżera', description: 'Pracownicy przesyłają raporty do swojego bezpośredniego menedżera skonfigurowanego w Gusto.'},
custom: {label: 'Niestandardowa akceptacja', description: 'Ręcznie skonfiguruję procesy zatwierdzania w Expensify.'},
},
connect: 'Połącz',
connectionDescription: 'Połącz Gusto, aby synchronizować akceptacje pracowników z Twoim miejscem pracy.',
syncNow: 'Synchronizuj teraz',
Expand Down
11 changes: 11 additions & 0 deletions src/languages/pt-BR.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6993,6 +6993,17 @@ Adicione mais regras de gasto para proteger o fluxo de caixa da empresa.`,
title: 'Gusto',
approvalMode: 'Modo de aprovação',
finalApprover: 'Aprovador final',
notSet: 'Não definido',
approvalModeDescription: 'Membros e gerentes estão configurados para sincronizar com o Gusto.',
approvalModeWarningTitle: 'Alterar modo de aprovação?',
approvalModeWarningPrompt: (helpSiteURL: string) =>
`Tem certeza de que deseja alterar o modo de aprovação deste workspace? Saiba mais sobre os diferentes modos de fluxo de trabalho com Gusto em nosso <a href="${helpSiteURL}">site de ajuda</a>.`,
approvalModeWarningConfirm: 'Alterar modo de aprovação',
approvalModes: {
basic: {label: 'Aprovação básica', description: 'Todos os usuários enviam para uma única pessoa para processamento e aprovação.'},
manager: {label: 'Aprovação do gerente', description: 'Os funcionários enviam relatórios ao gestor direto configurado no Gusto.'},
custom: {label: 'Aprovação personalizada', description: 'Vou configurar manualmente os fluxos de aprovação no Expensify.'},
},
connect: 'Conectar',
connectionDescription: 'Conecte o Gusto para manter as aprovações de funcionários sincronizadas com seu workspace.',
syncNow: 'Sincronizar agora',
Expand Down
11 changes: 11 additions & 0 deletions src/languages/zh-hans.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6820,6 +6820,17 @@ ${reportName}
title: 'Gusto',
approvalMode: '审批模式',
finalApprover: '最终审批人',
notSet: '未设置',
approvalModeDescription: '成员和管理员已设置为与 Gusto 同步。',
approvalModeWarningTitle: '更改审批模式?',
approvalModeWarningPrompt: (helpSiteURL: string) =>
`您确定要更改此工作区的审批模式吗?在我们的<a href="${helpSiteURL}">帮助网站</a>中了解更多关于不同 Gusto 启用的工作流模式的信息。`,
approvalModeWarningConfirm: '更改审批模式',
approvalModes: {
basic: {label: '基础审批', description: '所有用户都提交给同一个人进行处理和审批。'},
manager: {label: '经理审批', description: '员工会将报销单提交给在 Gusto 中配置的直属经理。'},
custom: {label: '自定义审批', description: '我将在 Expensify 中手动设置审批工作流程。'},
},
connect: '连接',
connectionDescription: '连接 Gusto,以在您的工作区中同步员工审批。',
syncNow: '立即同步',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -914,6 +914,7 @@ const SettingsModalStackNavigator = createModalStackNavigator<SettingsNavigatorP
[SCREENS.SETTINGS.LOCK.LOCK_ACCOUNT]: () => require<ReactComponentModule>('../../../../pages/settings/Security/LockAccount/LockAccountPage').default,
[SCREENS.SETTINGS.LOCK.UNLOCK_ACCOUNT]: () => require<ReactComponentModule>('../../../../pages/settings/Security/LockAccount/UnlockAccountPage').default,
[SCREENS.SETTINGS.LOCK.FAILED_TO_LOCK_ACCOUNT]: () => require<ReactComponentModule>('../../../../pages/settings/Security/LockAccount/FailedToLockAccountPage').default,
[SCREENS.WORKSPACE.HR_GUSTO_APPROVAL_MODE]: () => require<ReactComponentModule>('../../../../pages/workspace/hr/gusto/GustoApprovalModePage').default,
[SCREENS.WORKSPACE.REPORTS_DEFAULT_TITLE]: () => require<ReactComponentModule>('../../../../pages/workspace/reports/ReportsDefaultTitle').default,
[SCREENS.WORKSPACE.RULES_AUTO_APPROVE_REPORTS_UNDER]: () => require<ReactComponentModule>('../../../../pages/workspace/rules/RulesAutoApproveReportsUnderPage').default,
[SCREENS.WORKSPACE.RULES_RANDOM_REPORT_AUDIT]: () => require<ReactComponentModule>('../../../../pages/workspace/rules/RulesRandomReportAuditPage').default,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,7 @@ const WORKSPACE_TO_RHP: Partial<Record<keyof WorkspaceSplitNavigatorParamList, s
SCREENS.WORKSPACE.TAX_VALUE,
SCREENS.WORKSPACE.TAX_CODE,
],
[SCREENS.WORKSPACE.HR]: [SCREENS.WORKSPACE.HR_GUSTO_APPROVAL_MODE],
[SCREENS.WORKSPACE.TAGS]: [
SCREENS.WORKSPACE.TAGS_SETTINGS,
SCREENS.WORKSPACE.TAGS_EDIT,
Expand Down
3 changes: 3 additions & 0 deletions src/libs/Navigation/linkingConfig/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1249,6 +1249,9 @@ const config: LinkingOptions<RootNavigatorParamList>['config'] = {
[SCREENS.WORKSPACE.RULES_REIMBURSABLE_DEFAULT]: {
path: ROUTES.RULES_REIMBURSABLE_DEFAULT.route,
},
[SCREENS.WORKSPACE.HR_GUSTO_APPROVAL_MODE]: {
path: ROUTES.WORKSPACE_HR_GUSTO_APPROVAL_MODE.route,
},
[SCREENS.WORKSPACE.RULES_CUSTOM]: {
path: ROUTES.RULES_CUSTOM.route,
},
Expand Down
Loading
Loading