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
1 change: 1 addition & 0 deletions src/CONST/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5611,6 +5611,7 @@ const CONST = {
DIGITS_SYNC_PAYMENTS: 'digitsSyncPayments',
DIGITS_SYNC_CARD_SETTLEMENTS: 'digitsSyncCardSettlements',
DIGITS_SYNC_TRAVEL_SETTLEMENTS: 'digitsSyncTravelSettlements',
ZOHO_BOOKS_SYNC_TITLE: 'zohoBooksSyncTitle',
ZOHO_BOOKS_SYNC_CONNECTION: 'zohoBooksSyncConnection',
BUSINESS_CENTRAL_SYNC_TITLE: 'businessCentralSyncTitle',
BUSINESS_CENTRAL_SYNC_CONNECTION: 'businessCentralSyncConnection',
Expand Down
8 changes: 8 additions & 0 deletions src/ROUTES.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4682,6 +4682,14 @@ const ROUTES = {
route: 'workspaces/:policyID/accounting/zoho-books/oauth',
getRoute: (policyID: string) => `workspaces/${policyID}/accounting/zoho-books/oauth` as const,
},
POLICY_ACCOUNTING_ZOHO_BOOKS_EXISTING_CONNECTIONS: {
route: 'workspaces/:policyID/accounting/zoho-books/existing-connections',
getRoute: (policyID: string) => `workspaces/${policyID}/accounting/zoho-books/existing-connections` as const,
},
POLICY_ACCOUNTING_ZOHO_BOOKS_ORGANIZATION_SELECTOR: {
route: 'workspaces/:policyID/accounting/zoho-books/organization-selector',
getRoute: (policyID: string) => `workspaces/${policyID}/accounting/zoho-books/organization-selector` as const,
},
POLICY_ACCOUNTING_XERO_IMPORT: {
route: 'workspaces/:policyID/accounting/xero/import',
getRoute: (policyID: string) => `workspaces/${policyID}/accounting/xero/import` as const,
Expand Down
2 changes: 2 additions & 0 deletions src/SCREENS.ts
Original file line number Diff line number Diff line change
Expand Up @@ -605,6 +605,8 @@ const SCREENS = {
QUICKBOOKS_DESKTOP_ITEMS: 'Policy_Accounting_Quickbooks_Desktop_Import_Items',
XERO_SETUP: 'Policy_Accounting_Xero_Setup',
ZOHO_BOOKS_OAUTH: 'Policy_Accounting_Zoho_Books_OAuth',
ZOHO_BOOKS_EXISTING_CONNECTIONS: 'Policy_Accounting_Zoho_Books_Existing_Connections',
ZOHO_BOOKS_ORGANIZATION_SELECTOR: 'Policy_Accounting_Zoho_Books_Organization_Selector',
XERO_IMPORT: 'Policy_Accounting_Xero_Import',
CLAIM_OFFER: 'Policy_Accounting_Claim_Offer',
XERO_ORGANIZATION: 'Policy_Accounting_Xero_Customers',
Expand Down
19 changes: 0 additions & 19 deletions src/components/ConnectToZohoBooksFlow/index.native.tsx

This file was deleted.

25 changes: 17 additions & 8 deletions src/components/ConnectToZohoBooksFlow/index.tsx
Original file line number Diff line number Diff line change
@@ -1,20 +1,29 @@
import useEnvironment from '@hooks/useEnvironment';
import useHasReusablePoliciesConnectedTo from '@hooks/useHasReusablePoliciesConnectedTo';

import {getZohoBooksSetupLink} from '@libs/actions/connections/ZohoBooks';
import Navigation from '@libs/Navigation/Navigation';

import {openLink} from '@userActions/Link';
import useStartZohoBooksOAuth from '@pages/workspace/accounting/zohoBooks/useStartZohoBooksOAuth';

import CONST from '@src/CONST';
import ROUTES from '@src/ROUTES';

import {useEffect} from 'react';

import type {ConnectToZohoBooksFlowProps} from './types';
type ConnectToZohoBooksFlowProps = {
policyID: string;
};

function ConnectToZohoBooksFlow({policyID}: ConnectToZohoBooksFlowProps) {
const {environmentURL} = useEnvironment();
const hasReusablePoliciesConnectedToZohoBooks = useHasReusablePoliciesConnectedTo(CONST.POLICY.CONNECTIONS.NAME.ZOHO_BOOKS, policyID);
const startZohoBooksOAuth = useStartZohoBooksOAuth();

useEffect(() => {
// On web the OAuth setup opens in a new browser tab. Open it inline here (within the connect click's
// user-gesture window) instead of navigating to a setup screen, otherwise the popup blocker stops the tab.
openLink(getZohoBooksSetupLink(policyID), environmentURL);
if (hasReusablePoliciesConnectedToZohoBooks) {
Navigation.navigate(ROUTES.POLICY_ACCOUNTING_ZOHO_BOOKS_EXISTING_CONNECTIONS.getRoute(policyID));
return;
}
startZohoBooksOAuth(policyID);
// This needs to run once as it starts the connection flow
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);

Expand Down
6 changes: 0 additions & 6 deletions src/components/ConnectToZohoBooksFlow/types.ts

This file was deleted.

6 changes: 6 additions & 0 deletions src/languages/de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7758,6 +7758,8 @@ Der Control-Tarif beginnt bei 9 $ pro aktivem Mitglied und Monat.`,
return 'Campfire-Daten werden synchronisiert';
case 'campfireSyncConnection':
return 'Verbindung zu Campfire wird initialisiert';
case 'zohoBooksSyncTitle':
return 'Zoho Books-Daten werden synchronisiert';
case 'zohoBooksSyncConnection':
return 'Verbindung zu Zoho Books wird initialisiert';
case 'campfireSyncImportData':
Expand Down Expand Up @@ -9336,6 +9338,10 @@ Fügen Sie weitere Ausgabelimits hinzu, um den Cashflow Ihres Unternehmens zu sc
},
zohoBooks: {
organization: 'Zoho Books-Organisation',
organizationSelectDescription: 'Wählen Sie die Organisation in Zoho Books aus, aus der Sie Daten importieren möchten.',
noOrganizationsFound: 'Keine Organisationen gefunden',
noOrganizationsFoundDescription: 'Bitte fügen Sie eine Organisation in Zoho Books hinzu und synchronisieren Sie die Verbindung erneut',
multiLocationNotSupported: 'Organisationen mit mehreren Standorten werden noch nicht unterstützt',
},
businessCentral: {
businessCentralSetup: 'Dynamics 365 Business Central-Einrichtung',
Expand Down
6 changes: 6 additions & 0 deletions src/languages/el.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7886,6 +7886,8 @@ _Για πιο αναλυτικές οδηγίες, [επισκεφθείτε τ
return 'Γίνεται συγχρονισμός δεδομένων Campfire';
case 'campfireSyncConnection':
return 'Γίνεται αρχικοποίηση σύνδεσης με το Campfire';
case 'zohoBooksSyncTitle':
return 'Γίνεται συγχρονισμός δεδομένων Zoho Books';
case 'zohoBooksSyncConnection':
return 'Γίνεται αρχικοποίηση σύνδεσης με το Zoho Books';
case 'campfireSyncImportData':
Expand Down Expand Up @@ -9499,6 +9501,10 @@ ${reportName}`,
},
zohoBooks: {
organization: 'Οργανισμός Zoho Books',
organizationSelectDescription: 'Επιλέξτε τον οργανισμό στο Zoho Books από τον οποίο θέλετε να εισαγάγετε δεδομένα.',
noOrganizationsFound: 'Δεν βρέθηκαν οργανισμοί',
noOrganizationsFoundDescription: 'Προσθέστε έναν οργανισμό στο Zoho Books και συγχρονίστε ξανά τη σύνδεση',
multiLocationNotSupported: 'Οι οργανισμοί με πολλές τοποθεσίες δεν υποστηρίζονται ακόμη',
},
businessCentral: {
businessCentralSetup: 'Ρύθμιση Dynamics 365 Business Central',
Expand Down
6 changes: 6 additions & 0 deletions src/languages/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6651,6 +6651,10 @@ const translations = {
},
zohoBooks: {
organization: 'Zoho Books organization',
organizationSelectDescription: "Choose the organization in Zoho Books that you'd like to import data from.",
noOrganizationsFound: 'No organizations found',
noOrganizationsFoundDescription: 'Please add an organization in Zoho Books and sync the connection again',
multiLocationNotSupported: "Multi-location organizations aren't supported yet",
},
businessCentral: {
businessCentralSetup: 'Dynamics 365 Business Central setup',
Expand Down Expand Up @@ -8200,6 +8204,8 @@ const translations = {
return 'Syncing Campfire data';
case 'campfireSyncConnection':
return 'Initializing connection to Campfire';
case 'zohoBooksSyncTitle':
return 'Syncing Zoho Books data';
case 'zohoBooksSyncConnection':
return 'Initializing connection to Zoho Books';
case 'campfireSyncImportData':
Expand Down
6 changes: 6 additions & 0 deletions src/languages/es.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7555,6 +7555,8 @@ El plan Controlar empieza en 9 $ por miembro activo al mes.`,
return 'Sincronizando datos de Campfire';
case 'campfireSyncConnection':
return 'Iniciando conexión con Campfire';
case 'zohoBooksSyncTitle':
return 'Sincronizando datos de Zoho Books';
case 'zohoBooksSyncConnection':
return 'Iniciando conexión con Zoho Books';
case 'campfireSyncImportData':
Expand Down Expand Up @@ -9156,6 +9158,10 @@ ${reportName}`,
},
zohoBooks: {
organization: 'Organización Zoho Books',
organizationSelectDescription: 'Elige la organización de Zoho Books desde la que deseas importar datos.',
noOrganizationsFound: 'No se encontraron organizaciones',
noOrganizationsFoundDescription: 'Añade una organización en Zoho Books y vuelve a sincronizar la conexión',
multiLocationNotSupported: 'Las organizaciones con varias ubicaciones aún no son compatibles',
},
businessCentral: {
businessCentralSetup: 'Configuración de Dynamics 365 Business Central',
Expand Down
6 changes: 6 additions & 0 deletions src/languages/fr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7779,6 +7779,8 @@ Le forfait Control commence à 9 $ par Membre actif et par mois.`,
return 'Synchronisation des données Campfire';
case 'campfireSyncConnection':
return 'Initialisation de la connexion à Campfire';
case 'zohoBooksSyncTitle':
return 'Synchronisation des données Zoho Books';
case 'zohoBooksSyncConnection':
return 'Initialisation de la connexion à Zoho Books';
case 'campfireSyncImportData':
Expand Down Expand Up @@ -9359,6 +9361,10 @@ Ajoutez davantage de règles de dépenses pour protéger la trésorerie de l’e
},
zohoBooks: {
organization: 'Organisation Zoho Books',
organizationSelectDescription: 'Choisissez l’organisation dans Zoho Books à partir de laquelle vous souhaitez importer des données.',
noOrganizationsFound: 'Aucune organisation trouvée',
noOrganizationsFoundDescription: 'Veuillez ajouter une organisation dans Zoho Books et synchroniser à nouveau la connexion',
multiLocationNotSupported: 'Les organisations multi-sites ne sont pas encore prises en charge',
},
businessCentral: {
businessCentralSetup: 'Configuration de Dynamics 365 Business Central',
Expand Down
6 changes: 6 additions & 0 deletions src/languages/it.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7718,6 +7718,8 @@ Il piano Control parte da 9 $ al mese per ogni membro attivo.`,
return 'Sincronizzazione dei dati Campfire';
case 'campfireSyncConnection':
return 'Inizializzazione della connessione a Campfire';
case 'zohoBooksSyncTitle':
return 'Sincronizzazione dei dati Zoho Books';
case 'zohoBooksSyncConnection':
return 'Inizializzazione della connessione a Zoho Books';
case 'campfireSyncImportData':
Expand Down Expand Up @@ -9285,6 +9287,10 @@ Aggiungi altre regole di spesa per proteggere il flusso di cassa aziendale.`,
},
zohoBooks: {
organization: 'Organizzazione Zoho Books',
organizationSelectDescription: 'Scegli l’organizzazione in Zoho Books da cui desideri importare i dati.',
noOrganizationsFound: 'Nessuna organizzazione trovata',
noOrganizationsFoundDescription: 'Aggiungi un’organizzazione in Zoho Books e sincronizza di nuovo la connessione',
multiLocationNotSupported: 'Le organizzazioni con più sedi non sono ancora supportate',
},
businessCentral: {
businessCentralSetup: 'Configurazione Dynamics 365 Business Central',
Expand Down
6 changes: 6 additions & 0 deletions src/languages/ja.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7622,6 +7622,8 @@ Control プランは、アクティブメンバー1人あたり月額 $9 から
return 'Campfire データを同期しています';
case 'campfireSyncConnection':
return 'Campfire への接続を初期化しています';
case 'zohoBooksSyncTitle':
return 'Zoho Books データを同期しています';
case 'zohoBooksSyncConnection':
return 'Zoho Books への接続を初期化しています';
case 'campfireSyncImportData':
Expand Down Expand Up @@ -9151,6 +9153,10 @@ ${reportName}`,
},
zohoBooks: {
organization: 'Zoho Books 組織',
organizationSelectDescription: 'データをインポートする Zoho Books の組織を選択してください。',
noOrganizationsFound: '組織が見つかりません',
noOrganizationsFoundDescription: 'Zoho Books で組織を追加して、接続を再度同期してください',
multiLocationNotSupported: '複数拠点の組織にはまだ対応していません',
},
businessCentral: {
businessCentralSetup: 'Dynamics 365 Business Central のセットアップ',
Expand Down
6 changes: 6 additions & 0 deletions src/languages/nl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7699,6 +7699,8 @@ Het Control-abonnement begint bij $9 per actieve deelnemer per maand.`,
return 'Campfire-gegevens synchroniseren';
case 'campfireSyncConnection':
return 'Verbinding met Campfire initialiseren';
case 'zohoBooksSyncTitle':
return 'Zoho Books-gegevens synchroniseren';
case 'zohoBooksSyncConnection':
return 'Verbinding met Zoho Books initialiseren';
case 'campfireSyncImportData':
Expand Down Expand Up @@ -9258,6 +9260,10 @@ er bestedingsregels toe om de kasstroom van het bedrijf te beschermen.`,
},
zohoBooks: {
organization: 'Zoho Books-organisatie',
organizationSelectDescription: 'Kies de organisatie in Zoho Books waaruit je gegevens wilt importeren.',
noOrganizationsFound: 'Geen organisaties gevonden',
noOrganizationsFoundDescription: 'Voeg een organisatie toe in Zoho Books en synchroniseer de verbinding opnieuw',
multiLocationNotSupported: 'Organisaties met meerdere locaties worden nog niet ondersteund',
},
businessCentral: {
businessCentralSetup: 'Dynamics 365 Business Central-configuratie',
Expand Down
6 changes: 6 additions & 0 deletions src/languages/pl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7727,6 +7727,8 @@ Plan Control zaczyna się od 9 USD za aktywnego członka miesięcznie.`,
return 'Synchronizowanie danych Campfire';
case 'campfireSyncConnection':
return 'Inicjowanie połączenia z Campfire';
case 'zohoBooksSyncTitle':
return 'Synchronizowanie danych Zoho Books';
case 'zohoBooksSyncConnection':
return 'Inicjowanie połączenia z Zoho Books';
case 'campfireSyncImportData':
Expand Down Expand Up @@ -9276,6 +9278,10 @@ Dodaj więcej zasad wydatków, żeby chronić płynność finansową firmy.`,
},
zohoBooks: {
organization: 'Organizacja Zoho Books',
organizationSelectDescription: 'Wybierz organizację w Zoho Books, z której chcesz importować dane.',
noOrganizationsFound: 'Nie znaleziono organizacji',
noOrganizationsFoundDescription: 'Dodaj organizację w Zoho Books i ponownie zsynchronizuj połączenie',
multiLocationNotSupported: 'Organizacje z wieloma lokalizacjami nie są jeszcze obsługiwane',
},
businessCentral: {
businessCentralSetup: 'Konfiguracja Dynamics 365 Business Central',
Expand Down
6 changes: 6 additions & 0 deletions src/languages/pt-BR.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7700,6 +7700,8 @@ O plano Control começa em US$ 9 por membro ativo por mês.`,
return 'Sincronizando dados do Campfire';
case 'campfireSyncConnection':
return 'Inicializando conexão com o Campfire';
case 'zohoBooksSyncTitle':
return 'Sincronizando dados do Zoho Books';
case 'zohoBooksSyncConnection':
return 'Inicializando conexão com o Zoho Books';
case 'campfireSyncImportData':
Expand Down Expand Up @@ -9260,6 +9262,10 @@ Adicione mais regras de gasto para proteger o fluxo de caixa da empresa.`,
},
zohoBooks: {
organization: 'Organização Zoho Books',
organizationSelectDescription: 'Escolha a organização no Zoho Books da qual você deseja importar dados.',
noOrganizationsFound: 'Nenhuma organização encontrada',
noOrganizationsFoundDescription: 'Adicione uma organização no Zoho Books e sincronize a conexão novamente',
multiLocationNotSupported: 'Organizações com vários locais ainda não são compatíveis',
},
businessCentral: {
businessCentralSetup: 'Configuração do Dynamics 365 Business Central',
Expand Down
6 changes: 6 additions & 0 deletions src/languages/zh-hans.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7444,6 +7444,8 @@ _如需更详细的说明,请[访问我们的帮助网站](${CONST.NETSUITE_IM
return '正在同步 Campfire 数据';
case 'campfireSyncConnection':
return '正在初始化与 Campfire 的连接';
case 'zohoBooksSyncTitle':
return '正在同步 Zoho Books 数据';
case 'zohoBooksSyncConnection':
return '正在初始化与 Zoho Books 的连接';
case 'campfireSyncImportData':
Expand Down Expand Up @@ -8914,6 +8916,10 @@ ${reportName}`,
},
zohoBooks: {
organization: 'Zoho Books 组织',
organizationSelectDescription: '选择您要从中导入数据的 Zoho Books 组织。',
noOrganizationsFound: '未找到组织',
noOrganizationsFoundDescription: '请在 Zoho Books 中添加一个组织,然后重新同步连接',
multiLocationNotSupported: '尚不支持多地点组织',
},
businessCentral: {
businessCentralSetup: 'Dynamics 365 Business Central 设置',
Expand Down
Loading
Loading