From d34e0b5a387c3c6ef8000c397365638e85311ee8 Mon Sep 17 00:00:00 2001 From: VH Date: Thu, 30 Jan 2025 08:38:06 +0700 Subject: [PATCH 01/13] Use optional chaining for netsuite?.options to handle nullable of netsuite --- .../netsuite/advanced/NetSuiteApprovalAccountSelectPage.tsx | 2 +- .../netsuite/advanced/NetSuiteCollectionAccountSelectPage.tsx | 2 +- .../advanced/NetSuiteExpenseReportApprovalLevelSelectPage.tsx | 2 +- .../advanced/NetSuiteJournalEntryApprovalLevelSelectPage.tsx | 2 +- .../advanced/NetSuiteReimbursementAccountSelectPage.tsx | 2 +- .../advanced/NetSuiteVendorBillApprovalLevelSelectPage.tsx | 2 +- .../accounting/netsuite/export/NetSuiteDateSelectPage.tsx | 2 +- .../export/NetSuiteExportExpensesDestinationSelectPage.tsx | 2 +- ...tSuiteExportExpensesJournalPostingPreferenceSelectPage.tsx | 2 +- .../export/NetSuiteExportExpensesPayableAccountSelectPage.tsx | 2 +- .../export/NetSuiteExportExpensesVendorSelectPage.tsx | 2 +- .../export/NetSuiteInvoiceItemPreferenceSelectPage.tsx | 4 ++-- .../netsuite/export/NetSuiteInvoiceItemSelectPage.tsx | 2 +- .../netsuite/export/NetSuitePreferredExporterSelectPage.tsx | 2 +- .../export/NetSuiteProvincialTaxPostingAccountSelectPage.tsx | 2 +- .../netsuite/export/NetSuiteReceivableAccountSelectPage.tsx | 2 +- .../netsuite/export/NetSuiteTaxPostingAccountSelectPage.tsx | 2 +- 17 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteApprovalAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteApprovalAccountSelectPage.tsx index 29df47e852c60..802516e7c7138 100644 --- a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteApprovalAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteApprovalAccountSelectPage.tsx @@ -25,7 +25,7 @@ function NetSuiteApprovalAccountSelectPage({policy}: WithPolicyConnectionsProps) const policyID = policy?.id ?? '-1'; - const config = policy?.connections?.netsuite.options.config; + const config = policy?.connections?.netsuite?.options.config; const netsuiteApprovalAccountOptions = useMemo( () => getNetSuiteApprovalAccountOptions(policy ?? undefined, config?.approvalAccount), // The default option will be language dependent, so we need to recompute the options when the language changes diff --git a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteCollectionAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteCollectionAccountSelectPage.tsx index 6062ee3ca175c..ad4ce7cc7bcf9 100644 --- a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteCollectionAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteCollectionAccountSelectPage.tsx @@ -25,7 +25,7 @@ function NetSuiteCollectionAccountSelectPage({policy}: WithPolicyConnectionsProp const policyID = policy?.id ?? '-1'; - const config = policy?.connections?.netsuite.options.config; + const config = policy?.connections?.netsuite?.options.config; const netsuiteCollectionAccountOptions = useMemo( () => getNetSuiteCollectionAccountOptions(policy ?? undefined, config?.collectionAccount), [config?.collectionAccount, policy], diff --git a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteExpenseReportApprovalLevelSelectPage.tsx b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteExpenseReportApprovalLevelSelectPage.tsx index b475966f6f88c..7c76fe007b1d7 100644 --- a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteExpenseReportApprovalLevelSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteExpenseReportApprovalLevelSelectPage.tsx @@ -26,7 +26,7 @@ function NetSuiteExpenseReportApprovalLevelSelectPage({policy}: WithPolicyConnec const {translate} = useLocalize(); const policyID = policy?.id ?? '-1'; const styles = useThemeStyles(); - const config = policy?.connections?.netsuite.options.config; + const config = policy?.connections?.netsuite?.options.config; const data: MenuListItem[] = Object.values(CONST.NETSUITE_REPORTS_APPROVAL_LEVEL).map((approvalType) => ({ value: approvalType, text: translate(`workspace.netsuite.advancedConfig.exportReportsTo.values.${approvalType}`), diff --git a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteJournalEntryApprovalLevelSelectPage.tsx b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteJournalEntryApprovalLevelSelectPage.tsx index dae2db4d191a2..4cbbf66a1b2d2 100644 --- a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteJournalEntryApprovalLevelSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteJournalEntryApprovalLevelSelectPage.tsx @@ -26,7 +26,7 @@ function NetSuiteJournalEntryApprovalLevelSelectPage({policy}: WithPolicyConnect const {translate} = useLocalize(); const policyID = policy?.id ?? '-1'; const styles = useThemeStyles(); - const config = policy?.connections?.netsuite.options.config; + const config = policy?.connections?.netsuite?.options.config; const data: MenuListItem[] = Object.values(CONST.NETSUITE_JOURNALS_APPROVAL_LEVEL).map((approvalType) => ({ value: approvalType, text: translate(`workspace.netsuite.advancedConfig.exportJournalsTo.values.${approvalType}`), diff --git a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteReimbursementAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteReimbursementAccountSelectPage.tsx index 01fbfc8d437c5..8c917d285685f 100644 --- a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteReimbursementAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteReimbursementAccountSelectPage.tsx @@ -25,7 +25,7 @@ function NetSuiteReimbursementAccountSelectPage({policy}: WithPolicyConnectionsP const policyID = policy?.id ?? '-1'; - const config = policy?.connections?.netsuite.options.config; + const config = policy?.connections?.netsuite?.options.config; const netsuiteReimbursableAccountOptions = useMemo( () => getNetSuiteReimbursableAccountOptions(policy ?? undefined, config?.reimbursementAccountID), [config?.reimbursementAccountID, policy], diff --git a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteVendorBillApprovalLevelSelectPage.tsx b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteVendorBillApprovalLevelSelectPage.tsx index 5a1cfe0797eb6..87669bcf8dcf7 100644 --- a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteVendorBillApprovalLevelSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteVendorBillApprovalLevelSelectPage.tsx @@ -26,7 +26,7 @@ function NetSuiteVendorBillApprovalLevelSelectPage({policy}: WithPolicyConnectio const {translate} = useLocalize(); const policyID = policy?.id ?? '-1'; const styles = useThemeStyles(); - const config = policy?.connections?.netsuite.options.config; + const config = policy?.connections?.netsuite?.options.config; const data: MenuListItem[] = Object.values(CONST.NETSUITE_VENDOR_BILLS_APPROVAL_LEVEL).map((approvalType) => ({ value: approvalType, text: translate(`workspace.netsuite.advancedConfig.exportVendorBillsTo.values.${approvalType}`), diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteDateSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteDateSelectPage.tsx index ce65db5212572..08bfe352b025c 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteDateSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteDateSelectPage.tsx @@ -26,7 +26,7 @@ function NetSuiteDateSelectPage({policy}: WithPolicyConnectionsProps) { const {translate} = useLocalize(); const policyID = policy?.id ?? '-1'; const styles = useThemeStyles(); - const config = policy?.connections?.netsuite.options.config; + const config = policy?.connections?.netsuite?.options.config; const selectedValue = Object.values(CONST.NETSUITE_EXPORT_DATE).find((value) => value === config?.exportDate) ?? CONST.NETSUITE_EXPORT_DATE.LAST_EXPENSE; const data: MenuListItem[] = Object.values(CONST.NETSUITE_EXPORT_DATE).map((dateType) => ({ value: dateType, diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesDestinationSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesDestinationSelectPage.tsx index 403f6b6a192d4..3d24d351dd64f 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesDestinationSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesDestinationSelectPage.tsx @@ -27,7 +27,7 @@ function NetSuiteExportExpensesDestinationSelectPage({policy}: WithPolicyConnect const {translate} = useLocalize(); const styles = useThemeStyles(); const policyID = policy?.id ?? '-1'; - const config = policy?.connections?.netsuite.options.config; + const config = policy?.connections?.netsuite?.options.config; const route = useRoute(); const params = route.params as ExpenseRouteParams; diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesJournalPostingPreferenceSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesJournalPostingPreferenceSelectPage.tsx index f381bdfec3bec..7e5884449c397 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesJournalPostingPreferenceSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesJournalPostingPreferenceSelectPage.tsx @@ -26,7 +26,7 @@ function NetSuiteExportExpensesJournalPostingPreferenceSelectPage({policy}: With const {translate} = useLocalize(); const styles = useThemeStyles(); const policyID = policy?.id ?? '-1'; - const config = policy?.connections?.netsuite.options.config; + const config = policy?.connections?.netsuite?.options.config; const route = useRoute(); const params = route.params as ExpenseRouteParams; diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx index 97e4707762816..b613fc2ddf994 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx @@ -29,7 +29,7 @@ function NetSuiteExportExpensesPayableAccountSelectPage({policy}: WithPolicyConn const params = route.params as ExpenseRouteParams; const isReimbursable = params.expenseType === CONST.NETSUITE_EXPENSE_TYPE.REIMBURSABLE; - const config = policy?.connections?.netsuite.options.config; + const config = policy?.connections?.netsuite?.options.config; const currentSettingName = isReimbursable ? CONST.NETSUITE_CONFIG.REIMBURSABLE_PAYABLE_ACCOUNT : CONST.NETSUITE_CONFIG.PAYABLE_ACCT; const currentPayableAccountID = config?.[currentSettingName]; const netsuitePayableAccountOptions = useMemo(() => getNetSuitePayableAccountOptions(policy ?? undefined, currentPayableAccountID), [currentPayableAccountID, policy]); diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesVendorSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesVendorSelectPage.tsx index 6f4cfe9817c33..33a27fecb9610 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesVendorSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesVendorSelectPage.tsx @@ -29,7 +29,7 @@ function NetSuiteExportExpensesVendorSelectPage({policy}: WithPolicyConnectionsP const params = route.params as ExpenseRouteParams; const isReimbursable = params.expenseType === CONST.NETSUITE_EXPENSE_TYPE.REIMBURSABLE; - const config = policy?.connections?.netsuite.options.config; + const config = policy?.connections?.netsuite?.options.config; const netsuiteVendorOptions = useMemo(() => getNetSuiteVendorOptions(policy ?? undefined, config?.defaultVendor), [config?.defaultVendor, policy]); const initiallyFocusedOptionKey = useMemo(() => netsuiteVendorOptions?.find((mode) => mode.isSelected)?.keyForList, [netsuiteVendorOptions]); diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemPreferenceSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemPreferenceSelectPage.tsx index f07edd7bd610b..a942baf0b209a 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemPreferenceSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemPreferenceSelectPage.tsx @@ -28,9 +28,9 @@ function NetSuiteInvoiceItemPreferenceSelectPage({policy}: WithPolicyConnections const {translate} = useLocalize(); const styles = useThemeStyles(); const policyID = policy?.id ?? '-1'; - const config = policy?.connections?.netsuite.options.config; + const config = policy?.connections?.netsuite?.options.config; - const {items} = policy?.connections?.netsuite.options.data ?? {}; + const {items} = policy?.connections?.netsuite?.options.data ?? {}; const selectedItem = useMemo(() => findSelectedInvoiceItemWithDefaultSelect(items, config?.invoiceItem), [items, config?.invoiceItem]); const selectedValue = Object.values(CONST.NETSUITE_INVOICE_ITEM_PREFERENCE).find((value) => value === config?.invoiceItemPreference) ?? CONST.NETSUITE_INVOICE_ITEM_PREFERENCE.CREATE; diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemSelectPage.tsx index cfe0cdc89f934..df9439257c7d4 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemSelectPage.tsx @@ -23,7 +23,7 @@ function NetSuiteInvoiceItemSelectPage({policy}: WithPolicyConnectionsProps) { const policyID = policy?.id ?? '-1'; - const config = policy?.connections?.netsuite.options.config; + const config = policy?.connections?.netsuite?.options.config; const netsuiteInvoiceItemOptions = useMemo(() => getNetSuiteInvoiceItemOptions(policy ?? undefined, config?.invoiceItem), [config?.invoiceItem, policy]); const initiallyFocusedOptionKey = useMemo(() => netsuiteInvoiceItemOptions?.find((mode) => mode.isSelected)?.keyForList, [netsuiteInvoiceItemOptions]); diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuitePreferredExporterSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuitePreferredExporterSelectPage.tsx index 8e926995ec8eb..4e8fd1a287620 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuitePreferredExporterSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuitePreferredExporterSelectPage.tsx @@ -23,7 +23,7 @@ type CardListItem = ListItem & { }; function NetSuitePreferredExporterSelectPage({policy}: WithPolicyConnectionsProps) { - const config = policy?.connections?.netsuite.options.config; + const config = policy?.connections?.netsuite?.options.config; const {translate} = useLocalize(); const styles = useThemeStyles(); const policyOwner = policy?.owner ?? ''; diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteProvincialTaxPostingAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteProvincialTaxPostingAccountSelectPage.tsx index b0edc94cede9d..3f56fca651909 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteProvincialTaxPostingAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteProvincialTaxPostingAccountSelectPage.tsx @@ -23,7 +23,7 @@ function NetSuiteProvincialTaxPostingAccountSelectPage({policy}: WithPolicyConne const policyID = policy?.id ?? '-1'; - const config = policy?.connections?.netsuite.options.config; + const config = policy?.connections?.netsuite?.options.config; const {subsidiaryList} = policy?.connections?.netsuite?.options?.data ?? {}; const selectedSubsidiary = useMemo(() => (subsidiaryList ?? []).find((subsidiary) => subsidiary.internalID === config?.subsidiaryID), [subsidiaryList, config?.subsidiaryID]); diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteReceivableAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteReceivableAccountSelectPage.tsx index 2bbd2fe37dc81..eae22b3873748 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteReceivableAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteReceivableAccountSelectPage.tsx @@ -23,7 +23,7 @@ function NetSuiteReceivableAccountSelectPage({policy}: WithPolicyConnectionsProp const policyID = policy?.id ?? '-1'; - const config = policy?.connections?.netsuite.options.config; + const config = policy?.connections?.netsuite?.options.config; const netsuiteReceivableAccountOptions = useMemo( () => getNetSuiteReceivableAccountOptions(policy ?? undefined, config?.receivableAccount), [config?.receivableAccount, policy], diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteTaxPostingAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteTaxPostingAccountSelectPage.tsx index 5d749a433606d..73fb7b6db16ff 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteTaxPostingAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteTaxPostingAccountSelectPage.tsx @@ -25,7 +25,7 @@ function NetSuiteTaxPostingAccountSelectPage({policy}: WithPolicyConnectionsProp const policyID = policy?.id ?? '-1'; - const config = policy?.connections?.netsuite.options.config; + const config = policy?.connections?.netsuite?.options.config; const {subsidiaryList} = policy?.connections?.netsuite?.options?.data ?? {}; const selectedSubsidiary = useMemo(() => (subsidiaryList ?? []).find((subsidiary) => subsidiary.internalID === config?.subsidiaryID), [subsidiaryList, config?.subsidiaryID]); From 466bc2653f0cae23e19975a6255419a4af8b3a11 Mon Sep 17 00:00:00 2001 From: VH Date: Thu, 30 Jan 2025 08:40:51 +0700 Subject: [PATCH 02/13] Subcribe policy in Onyx --- src/components/ConnectionLayout.tsx | 5 +++-- src/components/SelectionScreen.tsx | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/components/ConnectionLayout.tsx b/src/components/ConnectionLayout.tsx index 9a232e83fb976..de61f368a9118 100644 --- a/src/components/ConnectionLayout.tsx +++ b/src/components/ConnectionLayout.tsx @@ -2,13 +2,14 @@ import isEmpty from 'lodash/isEmpty'; import React, {useMemo} from 'react'; import type {StyleProp, TextStyle, ViewStyle} from 'react-native'; import {View} from 'react-native'; +import {useOnyx} from 'react-native-onyx'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import * as PolicyUtils from '@libs/PolicyUtils'; import type {AccessVariant} from '@pages/workspace/AccessOrNotFoundWrapper'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; import type {TranslationPaths} from '@src/languages/types'; +import ONYXKEYS from '@src/ONYXKEYS'; import type {ConnectionName, PolicyFeatureName} from '@src/types/onyx/Policy'; import HeaderWithBackButton from './HeaderWithBackButton'; import ScreenWrapper from './ScreenWrapper'; @@ -106,7 +107,7 @@ function ConnectionLayout({ }: ConnectionLayoutProps) { const {translate} = useLocalize(); - const policy = PolicyUtils.getPolicy(policyID); + const [policy] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY}${policyID}`); const isConnectionEmpty = isEmpty(policy?.connections?.[connectionName]); const renderSelectionContent = useMemo( diff --git a/src/components/SelectionScreen.tsx b/src/components/SelectionScreen.tsx index 020796085ba41..8eba7ed61d1c6 100644 --- a/src/components/SelectionScreen.tsx +++ b/src/components/SelectionScreen.tsx @@ -1,12 +1,13 @@ import isEmpty from 'lodash/isEmpty'; import React from 'react'; import type {StyleProp, ViewStyle} from 'react-native'; +import {useOnyx} from 'react-native-onyx'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import * as PolicyUtils from '@libs/PolicyUtils'; import type {AccessVariant} from '@pages/workspace/AccessOrNotFoundWrapper'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; import type {TranslationPaths} from '@src/languages/types'; +import ONYXKEYS from '@src/ONYXKEYS'; import type * as OnyxCommon from '@src/types/onyx/OnyxCommon'; import type {ConnectionName, PolicyFeatureName} from '@src/types/onyx/Policy'; import type {ReceiptErrors} from '@src/types/onyx/Transaction'; @@ -138,7 +139,7 @@ function SelectionScreen({ const {translate} = useLocalize(); const styles = useThemeStyles(); - const policy = PolicyUtils.getPolicy(policyID); + const [policy] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY}${policyID}`); const isConnectionEmpty = isEmpty(policy?.connections?.[connectionName]); return ( From 683602937c107871224d13656cc20daee306e958 Mon Sep 17 00:00:00 2001 From: VH Date: Thu, 30 Jan 2025 16:50:07 +0700 Subject: [PATCH 03/13] Fix Eslint --- .../NetSuiteApprovalAccountSelectPage.tsx | 14 +++++++------- .../NetSuiteCollectionAccountSelectPage.tsx | 14 +++++++------- ...iteExpenseReportApprovalLevelSelectPage.tsx | 14 +++++++------- ...uiteJournalEntryApprovalLevelSelectPage.tsx | 14 +++++++------- .../NetSuiteReimbursementAccountSelectPage.tsx | 14 +++++++------- ...tSuiteVendorBillApprovalLevelSelectPage.tsx | 18 +++++++----------- .../netsuite/export/NetSuiteDateSelectPage.tsx | 14 +++++++------- ...uiteExportExpensesDestinationSelectPage.tsx | 16 ++++++++-------- ...ensesJournalPostingPreferenceSelectPage.tsx | 14 +++++++------- ...eExportExpensesPayableAccountSelectPage.tsx | 16 ++++++++-------- .../NetSuiteExportExpensesVendorSelectPage.tsx | 14 +++++++------- ...NetSuiteInvoiceItemPreferenceSelectPage.tsx | 14 +++++++------- .../export/NetSuiteInvoiceItemSelectPage.tsx | 14 +++++++------- .../NetSuitePreferredExporterSelectPage.tsx | 14 +++++++------- ...teProvincialTaxPostingAccountSelectPage.tsx | 14 +++++++------- .../NetSuiteReceivableAccountSelectPage.tsx | 14 +++++++------- .../NetSuiteTaxPostingAccountSelectPage.tsx | 14 +++++++------- 17 files changed, 121 insertions(+), 125 deletions(-) diff --git a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteApprovalAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteApprovalAccountSelectPage.tsx index 802516e7c7138..81b385792a497 100644 --- a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteApprovalAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteApprovalAccountSelectPage.tsx @@ -8,14 +8,14 @@ import SelectionScreen from '@components/SelectionScreen'; import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import * as Connections from '@libs/actions/connections/NetSuiteCommands'; -import * as ErrorUtils from '@libs/ErrorUtils'; +import {updateNetSuiteApprovalAccount} from '@libs/actions/connections/NetSuiteCommands'; +import {getLatestErrorField} from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; import {getNetSuiteApprovalAccountOptions, settingsPendingAction} from '@libs/PolicyUtils'; import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections'; import withPolicyConnections from '@pages/workspace/withPolicyConnections'; import variables from '@styles/variables'; -import * as Policy from '@userActions/Policy/Policy'; +import {clearNetSuiteErrorField} from '@userActions/Policy/Policy'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -23,7 +23,7 @@ function NetSuiteApprovalAccountSelectPage({policy}: WithPolicyConnectionsProps) const styles = useThemeStyles(); const {translate} = useLocalize(); - const policyID = policy?.id ?? '-1'; + const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; const config = policy?.connections?.netsuite?.options.config; const netsuiteApprovalAccountOptions = useMemo( @@ -38,7 +38,7 @@ function NetSuiteApprovalAccountSelectPage({policy}: WithPolicyConnectionsProps) const updateCollectionAccount = useCallback( ({value}: SelectorType) => { if (config?.approvalAccount !== value) { - Connections.updateNetSuiteApprovalAccount(policyID, value, config?.approvalAccount ?? CONST.NETSUITE_APPROVAL_ACCOUNT_DEFAULT); + updateNetSuiteApprovalAccount(policyID, value, config?.approvalAccount ?? CONST.NETSUITE_APPROVAL_ACCOUNT_DEFAULT); } Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); }, @@ -84,9 +84,9 @@ function NetSuiteApprovalAccountSelectPage({policy}: WithPolicyConnectionsProps) listEmptyContent={listEmptyContent} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} pendingAction={settingsPendingAction([CONST.NETSUITE_CONFIG.APPROVAL_ACCOUNT], config?.pendingFields)} - errors={ErrorUtils.getLatestErrorField(config, CONST.NETSUITE_CONFIG.APPROVAL_ACCOUNT)} + errors={getLatestErrorField(config, CONST.NETSUITE_CONFIG.APPROVAL_ACCOUNT)} errorRowStyles={[styles.ph5, styles.pv3]} - onClose={() => Policy.clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.APPROVAL_ACCOUNT)} + onClose={() => clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.APPROVAL_ACCOUNT)} /> ); } diff --git a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteCollectionAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteCollectionAccountSelectPage.tsx index ad4ce7cc7bcf9..13117542afb69 100644 --- a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteCollectionAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteCollectionAccountSelectPage.tsx @@ -8,14 +8,14 @@ import SelectionScreen from '@components/SelectionScreen'; import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import * as Connections from '@libs/actions/connections/NetSuiteCommands'; -import * as ErrorUtils from '@libs/ErrorUtils'; +import {updateNetSuiteCollectionAccount} from '@libs/actions/connections/NetSuiteCommands'; +import {getLatestErrorField} from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; import {getNetSuiteCollectionAccountOptions, settingsPendingAction} from '@libs/PolicyUtils'; import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections'; import withPolicyConnections from '@pages/workspace/withPolicyConnections'; import variables from '@styles/variables'; -import * as Policy from '@userActions/Policy/Policy'; +import {clearNetSuiteErrorField} from '@userActions/Policy/Policy'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -23,7 +23,7 @@ function NetSuiteCollectionAccountSelectPage({policy}: WithPolicyConnectionsProp const styles = useThemeStyles(); const {translate} = useLocalize(); - const policyID = policy?.id ?? '-1'; + const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; const config = policy?.connections?.netsuite?.options.config; const netsuiteCollectionAccountOptions = useMemo( @@ -36,7 +36,7 @@ function NetSuiteCollectionAccountSelectPage({policy}: WithPolicyConnectionsProp const updateCollectionAccount = useCallback( ({value}: SelectorType) => { if (config?.collectionAccount !== value) { - Connections.updateNetSuiteCollectionAccount(policyID, value, config?.collectionAccount); + updateNetSuiteCollectionAccount(policyID, value, config?.collectionAccount); } Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); }, @@ -83,9 +83,9 @@ function NetSuiteCollectionAccountSelectPage({policy}: WithPolicyConnectionsProp connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} shouldBeBlocked={config?.reimbursableExpensesExportDestination === CONST.NETSUITE_EXPORT_DESTINATION.JOURNAL_ENTRY} pendingAction={settingsPendingAction([CONST.NETSUITE_CONFIG.COLLECTION_ACCOUNT], config?.pendingFields)} - errors={ErrorUtils.getLatestErrorField(config, CONST.NETSUITE_CONFIG.COLLECTION_ACCOUNT)} + errors={getLatestErrorField(config, CONST.NETSUITE_CONFIG.COLLECTION_ACCOUNT)} errorRowStyles={[styles.ph5, styles.pv3]} - onClose={() => Policy.clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.COLLECTION_ACCOUNT)} + onClose={() => clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.COLLECTION_ACCOUNT)} /> ); } diff --git a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteExpenseReportApprovalLevelSelectPage.tsx b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteExpenseReportApprovalLevelSelectPage.tsx index 7c76fe007b1d7..2afdc41bf84e3 100644 --- a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteExpenseReportApprovalLevelSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteExpenseReportApprovalLevelSelectPage.tsx @@ -8,13 +8,13 @@ import type {SelectorType} from '@components/SelectionScreen'; import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import * as Connections from '@libs/actions/connections/NetSuiteCommands'; -import * as ErrorUtils from '@libs/ErrorUtils'; +import {updateNetSuiteExportReportsTo} from '@libs/actions/connections/NetSuiteCommands'; +import {getLatestErrorField} from '@libs/ErrorUtils'; import {settingsPendingAction} from '@libs/PolicyUtils'; import Navigation from '@navigation/Navigation'; import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections'; import withPolicyConnections from '@pages/workspace/withPolicyConnections'; -import * as Policy from '@userActions/Policy/Policy'; +import {clearNetSuiteErrorField} from '@userActions/Policy/Policy'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -24,7 +24,7 @@ type MenuListItem = ListItem & { function NetSuiteExpenseReportApprovalLevelSelectPage({policy}: WithPolicyConnectionsProps) { const {translate} = useLocalize(); - const policyID = policy?.id ?? '-1'; + const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; const styles = useThemeStyles(); const config = policy?.connections?.netsuite?.options.config; const data: MenuListItem[] = Object.values(CONST.NETSUITE_REPORTS_APPROVAL_LEVEL).map((approvalType) => ({ @@ -46,7 +46,7 @@ function NetSuiteExpenseReportApprovalLevelSelectPage({policy}: WithPolicyConnec const selectExpenseReportApprovalLevel = useCallback( (row: MenuListItem) => { if (row.value !== config?.syncOptions.exportReportsTo) { - Connections.updateNetSuiteExportReportsTo(policyID, row.value, config?.syncOptions.exportReportsTo ?? CONST.NETSUITE_REPORTS_APPROVAL_LEVEL.REPORTS_APPROVED_NONE); + updateNetSuiteExportReportsTo(policyID, row.value, config?.syncOptions.exportReportsTo ?? CONST.NETSUITE_REPORTS_APPROVAL_LEVEL.REPORTS_APPROVED_NONE); } Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); }, @@ -69,9 +69,9 @@ function NetSuiteExpenseReportApprovalLevelSelectPage({policy}: WithPolicyConnec connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} shouldBeBlocked={config?.reimbursableExpensesExportDestination !== CONST.NETSUITE_EXPORT_DESTINATION.EXPENSE_REPORT} pendingAction={settingsPendingAction([CONST.NETSUITE_CONFIG.SYNC_OPTIONS.EXPORT_REPORTS_TO], config?.pendingFields)} - errors={ErrorUtils.getLatestErrorField(config, CONST.NETSUITE_CONFIG.SYNC_OPTIONS.EXPORT_REPORTS_TO)} + errors={getLatestErrorField(config, CONST.NETSUITE_CONFIG.SYNC_OPTIONS.EXPORT_REPORTS_TO)} errorRowStyles={[styles.ph5, styles.pv3]} - onClose={() => Policy.clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.SYNC_OPTIONS.EXPORT_REPORTS_TO)} + onClose={() => clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.SYNC_OPTIONS.EXPORT_REPORTS_TO)} /> ); } diff --git a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteJournalEntryApprovalLevelSelectPage.tsx b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteJournalEntryApprovalLevelSelectPage.tsx index 4cbbf66a1b2d2..d9ac3c91f6fc5 100644 --- a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteJournalEntryApprovalLevelSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteJournalEntryApprovalLevelSelectPage.tsx @@ -8,13 +8,13 @@ import type {SelectorType} from '@components/SelectionScreen'; import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import * as Connections from '@libs/actions/connections/NetSuiteCommands'; -import * as ErrorUtils from '@libs/ErrorUtils'; +import {updateNetSuiteExportJournalsTo} from '@libs/actions/connections/NetSuiteCommands'; +import {getLatestErrorField} from '@libs/ErrorUtils'; import {settingsPendingAction} from '@libs/PolicyUtils'; import Navigation from '@navigation/Navigation'; import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections'; import withPolicyConnections from '@pages/workspace/withPolicyConnections'; -import * as Policy from '@userActions/Policy/Policy'; +import {clearNetSuiteErrorField} from '@userActions/Policy/Policy'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -24,7 +24,7 @@ type MenuListItem = ListItem & { function NetSuiteJournalEntryApprovalLevelSelectPage({policy}: WithPolicyConnectionsProps) { const {translate} = useLocalize(); - const policyID = policy?.id ?? '-1'; + const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; const styles = useThemeStyles(); const config = policy?.connections?.netsuite?.options.config; const data: MenuListItem[] = Object.values(CONST.NETSUITE_JOURNALS_APPROVAL_LEVEL).map((approvalType) => ({ @@ -46,7 +46,7 @@ function NetSuiteJournalEntryApprovalLevelSelectPage({policy}: WithPolicyConnect const selectJournalApprovalLevel = useCallback( (row: MenuListItem) => { if (row.value !== config?.syncOptions.exportJournalsTo) { - Connections.updateNetSuiteExportJournalsTo(policyID, row.value, config?.syncOptions.exportJournalsTo ?? CONST.NETSUITE_JOURNALS_APPROVAL_LEVEL.JOURNALS_APPROVED_NONE); + updateNetSuiteExportJournalsTo(policyID, row.value, config?.syncOptions.exportJournalsTo ?? CONST.NETSUITE_JOURNALS_APPROVAL_LEVEL.JOURNALS_APPROVED_NONE); } Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); }, @@ -72,9 +72,9 @@ function NetSuiteJournalEntryApprovalLevelSelectPage({policy}: WithPolicyConnect config?.nonreimbursableExpensesExportDestination !== CONST.NETSUITE_EXPORT_DESTINATION.JOURNAL_ENTRY } pendingAction={settingsPendingAction([CONST.NETSUITE_CONFIG.SYNC_OPTIONS.EXPORT_JOURNALS_TO], config?.pendingFields)} - errors={ErrorUtils.getLatestErrorField(config, CONST.NETSUITE_CONFIG.SYNC_OPTIONS.EXPORT_JOURNALS_TO)} + errors={getLatestErrorField(config, CONST.NETSUITE_CONFIG.SYNC_OPTIONS.EXPORT_JOURNALS_TO)} errorRowStyles={[styles.ph5, styles.pv3]} - onClose={() => Policy.clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.SYNC_OPTIONS.EXPORT_JOURNALS_TO)} + onClose={() => clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.SYNC_OPTIONS.EXPORT_JOURNALS_TO)} /> ); } diff --git a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteReimbursementAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteReimbursementAccountSelectPage.tsx index 8c917d285685f..f05f1d716f258 100644 --- a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteReimbursementAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteReimbursementAccountSelectPage.tsx @@ -8,14 +8,14 @@ import SelectionScreen from '@components/SelectionScreen'; import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import * as Connections from '@libs/actions/connections/NetSuiteCommands'; -import * as ErrorUtils from '@libs/ErrorUtils'; +import {updateNetSuiteReimbursementAccountID} from '@libs/actions/connections/NetSuiteCommands'; +import {getLatestErrorField} from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; import {getNetSuiteReimbursableAccountOptions, settingsPendingAction} from '@libs/PolicyUtils'; import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections'; import withPolicyConnections from '@pages/workspace/withPolicyConnections'; import variables from '@styles/variables'; -import * as Policy from '@userActions/Policy/Policy'; +import {clearNetSuiteErrorField} from '@userActions/Policy/Policy'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -23,7 +23,7 @@ function NetSuiteReimbursementAccountSelectPage({policy}: WithPolicyConnectionsP const styles = useThemeStyles(); const {translate} = useLocalize(); - const policyID = policy?.id ?? '-1'; + const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; const config = policy?.connections?.netsuite?.options.config; const netsuiteReimbursableAccountOptions = useMemo( @@ -36,7 +36,7 @@ function NetSuiteReimbursementAccountSelectPage({policy}: WithPolicyConnectionsP const updateReimbursementAccount = useCallback( ({value}: SelectorType) => { if (config?.reimbursementAccountID !== value) { - Connections.updateNetSuiteReimbursementAccountID(policyID, value, config?.reimbursementAccountID); + updateNetSuiteReimbursementAccountID(policyID, value, config?.reimbursementAccountID); } Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); }, @@ -83,9 +83,9 @@ function NetSuiteReimbursementAccountSelectPage({policy}: WithPolicyConnectionsP connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} shouldBeBlocked={config?.reimbursableExpensesExportDestination === CONST.NETSUITE_EXPORT_DESTINATION.JOURNAL_ENTRY} pendingAction={settingsPendingAction([CONST.NETSUITE_CONFIG.REIMBURSEMENT_ACCOUNT_ID], config?.pendingFields)} - errors={ErrorUtils.getLatestErrorField(config, CONST.NETSUITE_CONFIG.REIMBURSEMENT_ACCOUNT_ID)} + errors={getLatestErrorField(config, CONST.NETSUITE_CONFIG.REIMBURSEMENT_ACCOUNT_ID)} errorRowStyles={[styles.ph5, styles.pv3]} - onClose={() => Policy.clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.REIMBURSEMENT_ACCOUNT_ID)} + onClose={() => clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.REIMBURSEMENT_ACCOUNT_ID)} /> ); } diff --git a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteVendorBillApprovalLevelSelectPage.tsx b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteVendorBillApprovalLevelSelectPage.tsx index 87669bcf8dcf7..2c748e4d15dbc 100644 --- a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteVendorBillApprovalLevelSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteVendorBillApprovalLevelSelectPage.tsx @@ -8,13 +8,13 @@ import type {SelectorType} from '@components/SelectionScreen'; import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import * as Connections from '@libs/actions/connections/NetSuiteCommands'; -import * as ErrorUtils from '@libs/ErrorUtils'; +import {updateNetSuiteExportVendorBillsTo} from '@libs/actions/connections/NetSuiteCommands'; +import {getLatestErrorField} from '@libs/ErrorUtils'; import {settingsPendingAction} from '@libs/PolicyUtils'; import Navigation from '@navigation/Navigation'; import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections'; import withPolicyConnections from '@pages/workspace/withPolicyConnections'; -import * as Policy from '@userActions/Policy/Policy'; +import {clearNetSuiteErrorField} from '@userActions/Policy/Policy'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -24,7 +24,7 @@ type MenuListItem = ListItem & { function NetSuiteVendorBillApprovalLevelSelectPage({policy}: WithPolicyConnectionsProps) { const {translate} = useLocalize(); - const policyID = policy?.id ?? '-1'; + const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; const styles = useThemeStyles(); const config = policy?.connections?.netsuite?.options.config; const data: MenuListItem[] = Object.values(CONST.NETSUITE_VENDOR_BILLS_APPROVAL_LEVEL).map((approvalType) => ({ @@ -46,11 +46,7 @@ function NetSuiteVendorBillApprovalLevelSelectPage({policy}: WithPolicyConnectio const selectVendorBillApprovalLevel = useCallback( (row: MenuListItem) => { if (row.value !== config?.syncOptions.exportVendorBillsTo) { - Connections.updateNetSuiteExportVendorBillsTo( - policyID, - row.value, - config?.syncOptions.exportVendorBillsTo ?? CONST.NETSUITE_VENDOR_BILLS_APPROVAL_LEVEL.VENDOR_BILLS_APPROVED_NONE, - ); + updateNetSuiteExportVendorBillsTo(policyID, row.value, config?.syncOptions.exportVendorBillsTo ?? CONST.NETSUITE_VENDOR_BILLS_APPROVAL_LEVEL.VENDOR_BILLS_APPROVED_NONE); } Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); }, @@ -76,9 +72,9 @@ function NetSuiteVendorBillApprovalLevelSelectPage({policy}: WithPolicyConnectio config?.nonreimbursableExpensesExportDestination !== CONST.NETSUITE_EXPORT_DESTINATION.VENDOR_BILL } pendingAction={settingsPendingAction([CONST.NETSUITE_CONFIG.SYNC_OPTIONS.EXPORT_VENDOR_BILLS_TO], config?.pendingFields)} - errors={ErrorUtils.getLatestErrorField(config, CONST.NETSUITE_CONFIG.SYNC_OPTIONS.EXPORT_VENDOR_BILLS_TO)} + errors={getLatestErrorField(config, CONST.NETSUITE_CONFIG.SYNC_OPTIONS.EXPORT_VENDOR_BILLS_TO)} errorRowStyles={[styles.ph5, styles.pv3]} - onClose={() => Policy.clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.SYNC_OPTIONS.EXPORT_VENDOR_BILLS_TO)} + onClose={() => clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.SYNC_OPTIONS.EXPORT_VENDOR_BILLS_TO)} /> ); } diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteDateSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteDateSelectPage.tsx index 08bfe352b025c..da1371a17ed34 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteDateSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteDateSelectPage.tsx @@ -8,13 +8,13 @@ import type {SelectorType} from '@components/SelectionScreen'; import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import * as Connections from '@libs/actions/connections/NetSuiteCommands'; -import * as ErrorUtils from '@libs/ErrorUtils'; +import {updateNetSuiteExportDate} from '@libs/actions/connections/NetSuiteCommands'; +import {getLatestErrorField} from '@libs/ErrorUtils'; import {settingsPendingAction} from '@libs/PolicyUtils'; import Navigation from '@navigation/Navigation'; import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections'; import withPolicyConnections from '@pages/workspace/withPolicyConnections'; -import * as Policy from '@userActions/Policy/Policy'; +import {clearNetSuiteErrorField} from '@userActions/Policy/Policy'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -24,7 +24,7 @@ type MenuListItem = ListItem & { function NetSuiteDateSelectPage({policy}: WithPolicyConnectionsProps) { const {translate} = useLocalize(); - const policyID = policy?.id ?? '-1'; + const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; const styles = useThemeStyles(); const config = policy?.connections?.netsuite?.options.config; const selectedValue = Object.values(CONST.NETSUITE_EXPORT_DATE).find((value) => value === config?.exportDate) ?? CONST.NETSUITE_EXPORT_DATE.LAST_EXPENSE; @@ -48,7 +48,7 @@ function NetSuiteDateSelectPage({policy}: WithPolicyConnectionsProps) { const selectExportDate = useCallback( (row: MenuListItem) => { if (row.value !== config?.exportDate) { - Connections.updateNetSuiteExportDate(policyID, row.value, config?.exportDate); + updateNetSuiteExportDate(policyID, row.value, config?.exportDate); } Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); }, @@ -70,9 +70,9 @@ function NetSuiteDateSelectPage({policy}: WithPolicyConnectionsProps) { onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} pendingAction={settingsPendingAction([CONST.NETSUITE_CONFIG.EXPORT_DATE], config?.pendingFields)} - errors={ErrorUtils.getLatestErrorField(config, CONST.NETSUITE_CONFIG.EXPORT_DATE)} + errors={getLatestErrorField(config, CONST.NETSUITE_CONFIG.EXPORT_DATE)} errorRowStyles={[styles.ph5, styles.pv3]} - onClose={() => Policy.clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.EXPORT_DATE)} + onClose={() => clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.EXPORT_DATE)} /> ); } diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesDestinationSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesDestinationSelectPage.tsx index 3d24d351dd64f..92da7407a2a1f 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesDestinationSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesDestinationSelectPage.tsx @@ -7,15 +7,15 @@ import SelectionScreen from '@components/SelectionScreen'; import type {SelectorType} from '@components/SelectionScreen'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import * as Connections from '@libs/actions/connections/NetSuiteCommands'; -import * as ErrorUtils from '@libs/ErrorUtils'; +import {updateNetSuiteNonReimbursableExpensesExportDestination, updateNetSuiteReimbursableExpensesExportDestination} from '@libs/actions/connections/NetSuiteCommands'; +import {getLatestErrorField} from '@libs/ErrorUtils'; import {settingsPendingAction} from '@libs/PolicyUtils'; import Navigation from '@navigation/Navigation'; import type {ExpenseRouteParams} from '@pages/workspace/accounting/netsuite/types'; import {exportExpensesDestinationSettingName} from '@pages/workspace/accounting/netsuite/utils'; import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections'; import withPolicyConnections from '@pages/workspace/withPolicyConnections'; -import * as Policy from '@userActions/Policy/Policy'; +import {clearNetSuiteErrorField} from '@userActions/Policy/Policy'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -26,7 +26,7 @@ type MenuListItem = ListItem & { function NetSuiteExportExpensesDestinationSelectPage({policy}: WithPolicyConnectionsProps) { const {translate} = useLocalize(); const styles = useThemeStyles(); - const policyID = policy?.id ?? '-1'; + const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; const config = policy?.connections?.netsuite?.options.config; const route = useRoute(); @@ -47,9 +47,9 @@ function NetSuiteExportExpensesDestinationSelectPage({policy}: WithPolicyConnect (row: MenuListItem) => { if (row.value !== currentDestination) { if (isReimbursable) { - Connections.updateNetSuiteReimbursableExpensesExportDestination(policyID, row.value, currentDestination ?? CONST.NETSUITE_EXPORT_DESTINATION.EXPENSE_REPORT); + updateNetSuiteReimbursableExpensesExportDestination(policyID, row.value, currentDestination ?? CONST.NETSUITE_EXPORT_DESTINATION.EXPENSE_REPORT); } else { - Connections.updateNetSuiteNonReimbursableExpensesExportDestination(policyID, row.value, currentDestination ?? CONST.NETSUITE_EXPORT_DESTINATION.VENDOR_BILL); + updateNetSuiteNonReimbursableExpensesExportDestination(policyID, row.value, currentDestination ?? CONST.NETSUITE_EXPORT_DESTINATION.VENDOR_BILL); } } Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType)); @@ -71,9 +71,9 @@ function NetSuiteExportExpensesDestinationSelectPage({policy}: WithPolicyConnect onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType))} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} pendingAction={settingsPendingAction([currentSettingName], config?.pendingFields)} - errors={ErrorUtils.getLatestErrorField(config, currentSettingName)} + errors={getLatestErrorField(config, currentSettingName)} errorRowStyles={[styles.ph5, styles.pv3]} - onClose={() => Policy.clearNetSuiteErrorField(policyID, currentSettingName)} + onClose={() => clearNetSuiteErrorField(policyID, currentSettingName)} /> ); } diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesJournalPostingPreferenceSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesJournalPostingPreferenceSelectPage.tsx index 7e5884449c397..397469996d71f 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesJournalPostingPreferenceSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesJournalPostingPreferenceSelectPage.tsx @@ -7,14 +7,14 @@ import SelectionScreen from '@components/SelectionScreen'; import type {SelectorType} from '@components/SelectionScreen'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import * as Connections from '@libs/actions/connections/NetSuiteCommands'; -import * as ErrorUtils from '@libs/ErrorUtils'; +import {updateNetSuiteJournalPostingPreference} from '@libs/actions/connections/NetSuiteCommands'; +import {getLatestErrorField} from '@libs/ErrorUtils'; import {settingsPendingAction} from '@libs/PolicyUtils'; import Navigation from '@navigation/Navigation'; import type {ExpenseRouteParams} from '@pages/workspace/accounting/netsuite/types'; import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections'; import withPolicyConnections from '@pages/workspace/withPolicyConnections'; -import * as Policy from '@userActions/Policy/Policy'; +import {clearNetSuiteErrorField} from '@userActions/Policy/Policy'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -25,7 +25,7 @@ type MenuListItem = ListItem & { function NetSuiteExportExpensesJournalPostingPreferenceSelectPage({policy}: WithPolicyConnectionsProps) { const {translate} = useLocalize(); const styles = useThemeStyles(); - const policyID = policy?.id ?? '-1'; + const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; const config = policy?.connections?.netsuite?.options.config; const route = useRoute(); @@ -46,7 +46,7 @@ function NetSuiteExportExpensesJournalPostingPreferenceSelectPage({policy}: With const selectPostingPreference = useCallback( (row: MenuListItem) => { if (row.value !== config?.journalPostingPreference) { - Connections.updateNetSuiteJournalPostingPreference(policyID, row.value, config?.journalPostingPreference); + updateNetSuiteJournalPostingPreference(policyID, row.value, config?.journalPostingPreference); } Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType)); }, @@ -72,9 +72,9 @@ function NetSuiteExportExpensesJournalPostingPreferenceSelectPage({policy}: With : config?.nonreimbursableExpensesExportDestination !== CONST.NETSUITE_EXPORT_DESTINATION.JOURNAL_ENTRY } pendingAction={settingsPendingAction([CONST.NETSUITE_CONFIG.JOURNAL_POSTING_PREFERENCE], config?.pendingFields)} - errors={ErrorUtils.getLatestErrorField(config, CONST.NETSUITE_CONFIG.JOURNAL_POSTING_PREFERENCE)} + errors={getLatestErrorField(config, CONST.NETSUITE_CONFIG.JOURNAL_POSTING_PREFERENCE)} errorRowStyles={[styles.ph5, styles.pv3]} - onClose={() => Policy.clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.JOURNAL_POSTING_PREFERENCE)} + onClose={() => clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.JOURNAL_POSTING_PREFERENCE)} /> ); } diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx index b613fc2ddf994..6ca7a394079b0 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx @@ -7,15 +7,15 @@ import type {SelectorType} from '@components/SelectionScreen'; import SelectionScreen from '@components/SelectionScreen'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import * as Connections from '@libs/actions/connections/NetSuiteCommands'; -import * as ErrorUtils from '@libs/ErrorUtils'; +import {updateNetSuitePayableAcct, updateNetSuiteReimbursablePayableAccount} from '@libs/actions/connections/NetSuiteCommands'; +import {getLatestErrorField} from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; import {getNetSuitePayableAccountOptions, settingsPendingAction} from '@libs/PolicyUtils'; import type {ExpenseRouteParams} from '@pages/workspace/accounting/netsuite/types'; import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections'; import withPolicyConnections from '@pages/workspace/withPolicyConnections'; import variables from '@styles/variables'; -import * as Policy from '@userActions/Policy/Policy'; +import {clearNetSuiteErrorField} from '@userActions/Policy/Policy'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -23,7 +23,7 @@ function NetSuiteExportExpensesPayableAccountSelectPage({policy}: WithPolicyConn const styles = useThemeStyles(); const {translate} = useLocalize(); - const policyID = policy?.id ?? '-1'; + const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; const route = useRoute(); const params = route.params as ExpenseRouteParams; @@ -40,9 +40,9 @@ function NetSuiteExportExpensesPayableAccountSelectPage({policy}: WithPolicyConn ({value}: SelectorType) => { if (currentPayableAccountID !== value) { if (isReimbursable) { - Connections.updateNetSuiteReimbursablePayableAccount(policyID, value, currentPayableAccountID ?? ''); + updateNetSuiteReimbursablePayableAccount(policyID, value, currentPayableAccountID ?? ''); } else { - Connections.updateNetSuitePayableAcct(policyID, value, currentPayableAccountID ?? ''); + updateNetSuitePayableAcct(policyID, value, currentPayableAccountID ?? ''); } } Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType)); @@ -84,9 +84,9 @@ function NetSuiteExportExpensesPayableAccountSelectPage({policy}: WithPolicyConn : config?.nonreimbursableExpensesExportDestination !== CONST.NETSUITE_EXPORT_DESTINATION.JOURNAL_ENTRY } pendingAction={settingsPendingAction([currentSettingName], config?.pendingFields)} - errors={ErrorUtils.getLatestErrorField(config, currentSettingName)} + errors={getLatestErrorField(config, currentSettingName)} errorRowStyles={[styles.ph5, styles.pv3]} - onClose={() => Policy.clearNetSuiteErrorField(policyID, currentSettingName)} + onClose={() => clearNetSuiteErrorField(policyID, currentSettingName)} /> ); } diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesVendorSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesVendorSelectPage.tsx index 33a27fecb9610..62e6038dfbf54 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesVendorSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesVendorSelectPage.tsx @@ -7,15 +7,15 @@ import type {SelectorType} from '@components/SelectionScreen'; import SelectionScreen from '@components/SelectionScreen'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import * as Connections from '@libs/actions/connections/NetSuiteCommands'; -import * as ErrorUtils from '@libs/ErrorUtils'; +import {updateNetSuiteDefaultVendor} from '@libs/actions/connections/NetSuiteCommands'; +import {getLatestErrorField} from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; import {getNetSuiteVendorOptions, settingsPendingAction} from '@libs/PolicyUtils'; import type {ExpenseRouteParams} from '@pages/workspace/accounting/netsuite/types'; import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections'; import withPolicyConnections from '@pages/workspace/withPolicyConnections'; import variables from '@styles/variables'; -import * as Policy from '@userActions/Policy/Policy'; +import {clearNetSuiteErrorField} from '@userActions/Policy/Policy'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -23,7 +23,7 @@ function NetSuiteExportExpensesVendorSelectPage({policy}: WithPolicyConnectionsP const styles = useThemeStyles(); const {translate} = useLocalize(); - const policyID = policy?.id ?? '-1'; + const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; const route = useRoute(); const params = route.params as ExpenseRouteParams; @@ -37,7 +37,7 @@ function NetSuiteExportExpensesVendorSelectPage({policy}: WithPolicyConnectionsP const updateDefaultVendor = useCallback( ({value}: SelectorType) => { if (config?.defaultVendor !== value) { - Connections.updateNetSuiteDefaultVendor(policyID, value, config?.defaultVendor); + updateNetSuiteDefaultVendor(policyID, value, config?.defaultVendor); } Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType)); }, @@ -74,9 +74,9 @@ function NetSuiteExportExpensesVendorSelectPage({policy}: WithPolicyConnectionsP connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} shouldBeBlocked={isReimbursable || config?.nonreimbursableExpensesExportDestination !== CONST.NETSUITE_EXPORT_DESTINATION.VENDOR_BILL} pendingAction={settingsPendingAction([CONST.NETSUITE_CONFIG.DEFAULT_VENDOR], config?.pendingFields)} - errors={ErrorUtils.getLatestErrorField(config, CONST.NETSUITE_CONFIG.DEFAULT_VENDOR)} + errors={getLatestErrorField(config, CONST.NETSUITE_CONFIG.DEFAULT_VENDOR)} errorRowStyles={[styles.ph5, styles.pv3]} - onClose={() => Policy.clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.DEFAULT_VENDOR)} + onClose={() => clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.DEFAULT_VENDOR)} /> ); } diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemPreferenceSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemPreferenceSelectPage.tsx index a942baf0b209a..63f210f13f5fd 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemPreferenceSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemPreferenceSelectPage.tsx @@ -10,13 +10,13 @@ import type {ListItem} from '@components/SelectionList/types'; import type {SelectorType} from '@components/SelectionScreen'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import * as Connections from '@libs/actions/connections/NetSuiteCommands'; -import * as ErrorUtils from '@libs/ErrorUtils'; +import {updateNetSuiteInvoiceItemPreference} from '@libs/actions/connections/NetSuiteCommands'; +import {getLatestErrorField} from '@libs/ErrorUtils'; import {areSettingsInErrorFields, findSelectedInvoiceItemWithDefaultSelect, settingsPendingAction} from '@libs/PolicyUtils'; import Navigation from '@navigation/Navigation'; import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections'; import withPolicyConnections from '@pages/workspace/withPolicyConnections'; -import * as Policy from '@userActions/Policy/Policy'; +import {clearNetSuiteErrorField} from '@userActions/Policy/Policy'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -27,7 +27,7 @@ type MenuListItem = ListItem & { function NetSuiteInvoiceItemPreferenceSelectPage({policy}: WithPolicyConnectionsProps) { const {translate} = useLocalize(); const styles = useThemeStyles(); - const policyID = policy?.id ?? '-1'; + const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; const config = policy?.connections?.netsuite?.options.config; const {items} = policy?.connections?.netsuite?.options.data ?? {}; @@ -45,7 +45,7 @@ function NetSuiteInvoiceItemPreferenceSelectPage({policy}: WithPolicyConnections const selectInvoicePreference = useCallback( (row: MenuListItem) => { if (row.value !== config?.invoiceItemPreference) { - Connections.updateNetSuiteInvoiceItemPreference(policyID, row.value, config?.invoiceItemPreference); + updateNetSuiteInvoiceItemPreference(policyID, row.value, config?.invoiceItemPreference); } if (row.value === CONST.NETSUITE_INVOICE_ITEM_PREFERENCE.CREATE) { Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); @@ -70,9 +70,9 @@ function NetSuiteInvoiceItemPreferenceSelectPage({policy}: WithPolicyConnections > Policy.clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.INVOICE_ITEM_PREFERENCE)} + onClose={() => clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.INVOICE_ITEM_PREFERENCE)} style={[styles.flexGrow1, styles.flexShrink1]} contentContainerStyle={[styles.flexGrow1, styles.flexShrink1]} > diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemSelectPage.tsx index df9439257c7d4..11eb984576390 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemSelectPage.tsx @@ -6,14 +6,14 @@ import type {SelectorType} from '@components/SelectionScreen'; import SelectionScreen from '@components/SelectionScreen'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import * as Connections from '@libs/actions/connections/NetSuiteCommands'; -import * as ErrorUtils from '@libs/ErrorUtils'; +import {updateNetSuiteInvoiceItem} from '@libs/actions/connections/NetSuiteCommands'; +import {getLatestErrorField} from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; import {getNetSuiteInvoiceItemOptions, settingsPendingAction} from '@libs/PolicyUtils'; import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections'; import withPolicyConnections from '@pages/workspace/withPolicyConnections'; import variables from '@styles/variables'; -import * as Policy from '@userActions/Policy/Policy'; +import {clearNetSuiteErrorField} from '@userActions/Policy/Policy'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -21,7 +21,7 @@ function NetSuiteInvoiceItemSelectPage({policy}: WithPolicyConnectionsProps) { const styles = useThemeStyles(); const {translate} = useLocalize(); - const policyID = policy?.id ?? '-1'; + const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; const config = policy?.connections?.netsuite?.options.config; const netsuiteInvoiceItemOptions = useMemo(() => getNetSuiteInvoiceItemOptions(policy ?? undefined, config?.invoiceItem), [config?.invoiceItem, policy]); @@ -31,7 +31,7 @@ function NetSuiteInvoiceItemSelectPage({policy}: WithPolicyConnectionsProps) { const updateInvoiceItem = useCallback( ({value}: SelectorType) => { if (config?.invoiceItem !== value) { - Connections.updateNetSuiteInvoiceItem(policyID, value, config?.invoiceItem); + updateNetSuiteInvoiceItem(policyID, value, config?.invoiceItem); } Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_INVOICE_ITEM_PREFERENCE_SELECT.getRoute(policyID)); }, @@ -68,9 +68,9 @@ function NetSuiteInvoiceItemSelectPage({policy}: WithPolicyConnectionsProps) { connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} shouldBeBlocked={config?.invoiceItemPreference !== CONST.NETSUITE_INVOICE_ITEM_PREFERENCE.SELECT} pendingAction={settingsPendingAction([CONST.NETSUITE_CONFIG.INVOICE_ITEM], config?.pendingFields)} - errors={ErrorUtils.getLatestErrorField(config, CONST.NETSUITE_CONFIG.INVOICE_ITEM)} + errors={getLatestErrorField(config, CONST.NETSUITE_CONFIG.INVOICE_ITEM)} errorRowStyles={[styles.ph5, styles.pv3]} - onClose={() => Policy.clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.INVOICE_ITEM)} + onClose={() => clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.INVOICE_ITEM)} /> ); } diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuitePreferredExporterSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuitePreferredExporterSelectPage.tsx index 4e8fd1a287620..fbd7c59ae87da 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuitePreferredExporterSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuitePreferredExporterSelectPage.tsx @@ -8,13 +8,13 @@ import Text from '@components/Text'; import useCurrentUserPersonalDetails from '@hooks/useCurrentUserPersonalDetails'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import * as Connections from '@libs/actions/connections/NetSuiteCommands'; -import * as ErrorUtils from '@libs/ErrorUtils'; +import {updateNetSuiteExporter} from '@libs/actions/connections/NetSuiteCommands'; +import {getLatestErrorField} from '@libs/ErrorUtils'; import {getAdminEmployees, isExpensifyTeam, settingsPendingAction} from '@libs/PolicyUtils'; import Navigation from '@navigation/Navigation'; import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections'; import withPolicyConnections from '@pages/workspace/withPolicyConnections'; -import * as Policy from '@userActions/Policy/Policy'; +import {clearNetSuiteErrorField} from '@userActions/Policy/Policy'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -30,7 +30,7 @@ function NetSuitePreferredExporterSelectPage({policy}: WithPolicyConnectionsProp const exporters = getAdminEmployees(policy); const {login: currentUserLogin} = useCurrentUserPersonalDetails(); - const policyID = policy?.id ?? '-1'; + const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; const data: CardListItem[] = useMemo(() => { if (!isEmpty(policyOwner) && isEmpty(exporters)) { return [ @@ -66,7 +66,7 @@ function NetSuitePreferredExporterSelectPage({policy}: WithPolicyConnectionsProp const selectExporter = useCallback( (row: CardListItem) => { if (row.value !== config?.exporter) { - Connections.updateNetSuiteExporter(policyID, row.value, config?.exporter ?? ''); + updateNetSuiteExporter(policyID, row.value, config?.exporter ?? ''); } Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); }, @@ -98,9 +98,9 @@ function NetSuitePreferredExporterSelectPage({policy}: WithPolicyConnectionsProp title="workspace.accounting.preferredExporter" connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} pendingAction={settingsPendingAction([CONST.NETSUITE_CONFIG.EXPORTER], config?.pendingFields)} - errors={ErrorUtils.getLatestErrorField(config, CONST.NETSUITE_CONFIG.EXPORTER)} + errors={getLatestErrorField(config, CONST.NETSUITE_CONFIG.EXPORTER)} errorRowStyles={[styles.ph5, styles.pv3]} - onClose={() => Policy.clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.EXPORTER)} + onClose={() => clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.EXPORTER)} /> ); } diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteProvincialTaxPostingAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteProvincialTaxPostingAccountSelectPage.tsx index 3f56fca651909..471535b1acf29 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteProvincialTaxPostingAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteProvincialTaxPostingAccountSelectPage.tsx @@ -6,14 +6,14 @@ import type {SelectorType} from '@components/SelectionScreen'; import SelectionScreen from '@components/SelectionScreen'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import * as Connections from '@libs/actions/connections/NetSuiteCommands'; -import * as ErrorUtils from '@libs/ErrorUtils'; +import {updateNetSuiteProvincialTaxPostingAccount} from '@libs/actions/connections/NetSuiteCommands'; +import {getLatestErrorField} from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; import {canUseProvincialTaxNetSuite, getNetSuiteTaxAccountOptions, settingsPendingAction} from '@libs/PolicyUtils'; import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections'; import withPolicyConnections from '@pages/workspace/withPolicyConnections'; import variables from '@styles/variables'; -import * as Policy from '@userActions/Policy/Policy'; +import {clearNetSuiteErrorField} from '@userActions/Policy/Policy'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -21,7 +21,7 @@ function NetSuiteProvincialTaxPostingAccountSelectPage({policy}: WithPolicyConne const styles = useThemeStyles(); const {translate} = useLocalize(); - const policyID = policy?.id ?? '-1'; + const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; const config = policy?.connections?.netsuite?.options.config; const {subsidiaryList} = policy?.connections?.netsuite?.options?.data ?? {}; @@ -37,7 +37,7 @@ function NetSuiteProvincialTaxPostingAccountSelectPage({policy}: WithPolicyConne const updateTaxAccount = useCallback( ({value}: SelectorType) => { if (config?.provincialTaxPostingAccount !== value) { - Connections.updateNetSuiteProvincialTaxPostingAccount(policyID, value, config?.provincialTaxPostingAccount); + updateNetSuiteProvincialTaxPostingAccount(policyID, value, config?.provincialTaxPostingAccount); } Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); }, @@ -74,9 +74,9 @@ function NetSuiteProvincialTaxPostingAccountSelectPage({policy}: WithPolicyConne connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} shouldBeBlocked={!!config?.suiteTaxEnabled || !config?.syncOptions.syncTax || !canUseProvincialTaxNetSuite(selectedSubsidiary?.country)} pendingAction={settingsPendingAction([CONST.NETSUITE_CONFIG.PROVINCIAL_TAX_POSTING_ACCOUNT], config?.pendingFields)} - errors={ErrorUtils.getLatestErrorField(config, CONST.NETSUITE_CONFIG.PROVINCIAL_TAX_POSTING_ACCOUNT)} + errors={getLatestErrorField(config, CONST.NETSUITE_CONFIG.PROVINCIAL_TAX_POSTING_ACCOUNT)} errorRowStyles={[styles.ph5, styles.pv3]} - onClose={() => Policy.clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.PROVINCIAL_TAX_POSTING_ACCOUNT)} + onClose={() => clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.PROVINCIAL_TAX_POSTING_ACCOUNT)} /> ); } diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteReceivableAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteReceivableAccountSelectPage.tsx index eae22b3873748..43314d47eb481 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteReceivableAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteReceivableAccountSelectPage.tsx @@ -6,14 +6,14 @@ import type {SelectorType} from '@components/SelectionScreen'; import SelectionScreen from '@components/SelectionScreen'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import * as Connections from '@libs/actions/connections/NetSuiteCommands'; -import * as ErrorUtils from '@libs/ErrorUtils'; +import {updateNetSuiteReceivableAccount} from '@libs/actions/connections/NetSuiteCommands'; +import {getLatestErrorField} from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; import {getNetSuiteReceivableAccountOptions, settingsPendingAction} from '@libs/PolicyUtils'; import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections'; import withPolicyConnections from '@pages/workspace/withPolicyConnections'; import variables from '@styles/variables'; -import * as Policy from '@userActions/Policy/Policy'; +import {clearNetSuiteErrorField} from '@userActions/Policy/Policy'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -21,7 +21,7 @@ function NetSuiteReceivableAccountSelectPage({policy}: WithPolicyConnectionsProp const styles = useThemeStyles(); const {translate} = useLocalize(); - const policyID = policy?.id ?? '-1'; + const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; const config = policy?.connections?.netsuite?.options.config; const netsuiteReceivableAccountOptions = useMemo( @@ -34,7 +34,7 @@ function NetSuiteReceivableAccountSelectPage({policy}: WithPolicyConnectionsProp const updateReceivableAccount = useCallback( ({value}: SelectorType) => { if (config?.receivableAccount !== value) { - Connections.updateNetSuiteReceivableAccount(policyID, value, config?.receivableAccount); + updateNetSuiteReceivableAccount(policyID, value, config?.receivableAccount); } Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); }, @@ -70,9 +70,9 @@ function NetSuiteReceivableAccountSelectPage({policy}: WithPolicyConnectionsProp listEmptyContent={listEmptyContent} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} pendingAction={settingsPendingAction([CONST.NETSUITE_CONFIG.RECEIVABLE_ACCOUNT], config?.pendingFields)} - errors={ErrorUtils.getLatestErrorField(config, CONST.NETSUITE_CONFIG.RECEIVABLE_ACCOUNT)} + errors={getLatestErrorField(config, CONST.NETSUITE_CONFIG.RECEIVABLE_ACCOUNT)} errorRowStyles={[styles.ph5, styles.pv3]} - onClose={() => Policy.clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.RECEIVABLE_ACCOUNT)} + onClose={() => clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.RECEIVABLE_ACCOUNT)} /> ); } diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteTaxPostingAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteTaxPostingAccountSelectPage.tsx index 73fb7b6db16ff..943b376c8f42c 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteTaxPostingAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteTaxPostingAccountSelectPage.tsx @@ -7,14 +7,14 @@ import SelectionScreen from '@components/SelectionScreen'; import useLocalize from '@hooks/useLocalize'; import usePermissions from '@hooks/usePermissions'; import useThemeStyles from '@hooks/useThemeStyles'; -import * as Connections from '@libs/actions/connections/NetSuiteCommands'; -import * as ErrorUtils from '@libs/ErrorUtils'; +import {updateNetSuiteTaxPostingAccount} from '@libs/actions/connections/NetSuiteCommands'; +import {getLatestErrorField} from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; import {canUseTaxNetSuite, getNetSuiteTaxAccountOptions, settingsPendingAction} from '@libs/PolicyUtils'; import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections'; import withPolicyConnections from '@pages/workspace/withPolicyConnections'; import variables from '@styles/variables'; -import * as Policy from '@userActions/Policy/Policy'; +import {clearNetSuiteErrorField} from '@userActions/Policy/Policy'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -23,7 +23,7 @@ function NetSuiteTaxPostingAccountSelectPage({policy}: WithPolicyConnectionsProp const {translate} = useLocalize(); const {canUseNetSuiteUSATax} = usePermissions(); - const policyID = policy?.id ?? '-1'; + const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; const config = policy?.connections?.netsuite?.options.config; const {subsidiaryList} = policy?.connections?.netsuite?.options?.data ?? {}; @@ -39,7 +39,7 @@ function NetSuiteTaxPostingAccountSelectPage({policy}: WithPolicyConnectionsProp const updateTaxAccount = useCallback( ({value}: SelectorType) => { if (config?.taxPostingAccount !== value) { - Connections.updateNetSuiteTaxPostingAccount(policyID, value, config?.taxPostingAccount); + updateNetSuiteTaxPostingAccount(policyID, value, config?.taxPostingAccount); } Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); }, @@ -76,9 +76,9 @@ function NetSuiteTaxPostingAccountSelectPage({policy}: WithPolicyConnectionsProp connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} shouldBeBlocked={!!config?.suiteTaxEnabled || !config?.syncOptions.syncTax || !canUseTaxNetSuite(canUseNetSuiteUSATax, selectedSubsidiary?.country)} pendingAction={settingsPendingAction([CONST.NETSUITE_CONFIG.TAX_POSTING_ACCOUNT], config?.pendingFields)} - errors={ErrorUtils.getLatestErrorField(config, CONST.NETSUITE_CONFIG.TAX_POSTING_ACCOUNT)} + errors={getLatestErrorField(config, CONST.NETSUITE_CONFIG.TAX_POSTING_ACCOUNT)} errorRowStyles={[styles.ph5, styles.pv3]} - onClose={() => Policy.clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.TAX_POSTING_ACCOUNT)} + onClose={() => clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.TAX_POSTING_ACCOUNT)} /> ); } From fb872cd3947377890f0391607651585e6a505f0c Mon Sep 17 00:00:00 2001 From: VH Date: Thu, 30 Jan 2025 17:04:17 +0700 Subject: [PATCH 04/13] Fix eslint --- .../export/NetSuiteExportExpensesPayableAccountSelectPage.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx index 6ca7a394079b0..e0280c9e6784e 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx @@ -40,9 +40,9 @@ function NetSuiteExportExpensesPayableAccountSelectPage({policy}: WithPolicyConn ({value}: SelectorType) => { if (currentPayableAccountID !== value) { if (isReimbursable) { - updateNetSuiteReimbursablePayableAccount(policyID, value, currentPayableAccountID ?? ''); + updateNetSuiteReimbursablePayableAccount(policyID, value, currentPayableAccountID ?? `${CONST.DEFAULT_NUMBER_ID}`); } else { - updateNetSuitePayableAcct(policyID, value, currentPayableAccountID ?? ''); + updateNetSuitePayableAcct(policyID, value, currentPayableAccountID ?? `${CONST.DEFAULT_NUMBER_ID}`); } } Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType)); From fe7d499b7dd08cc2ce45d9502cc8b75bedd149bb Mon Sep 17 00:00:00 2001 From: VH Date: Sun, 2 Feb 2025 22:22:05 +0700 Subject: [PATCH 05/13] Use optional chaining for netsuite?.options to handle nullable of netsuite --- src/libs/PolicyUtils.ts | 16 ++++++++-------- src/pages/workspace/companyCards/utils.tsx | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/libs/PolicyUtils.ts b/src/libs/PolicyUtils.ts index a642440c15002..c057555891317 100644 --- a/src/libs/PolicyUtils.ts +++ b/src/libs/PolicyUtils.ts @@ -779,7 +779,7 @@ function findSelectedTaxAccountWithDefaultSelect(taxAccounts: NetSuiteTaxAccount } function getNetSuiteVendorOptions(policy: Policy | undefined, selectedVendorId: string | undefined): SelectorType[] { - const vendors = policy?.connections?.netsuite.options.data.vendors; + const vendors = policy?.connections?.netsuite?.options.data.vendors; const selectedVendor = findSelectedVendorWithDefaultSelect(vendors, selectedVendorId); @@ -792,7 +792,7 @@ function getNetSuiteVendorOptions(policy: Policy | undefined, selectedVendorId: } function getNetSuitePayableAccountOptions(policy: Policy | undefined, selectedBankAccountId: string | undefined): SelectorType[] { - const payableAccounts = policy?.connections?.netsuite.options.data.payableList; + const payableAccounts = policy?.connections?.netsuite?.options.data.payableList; const selectedPayableAccount = findSelectedBankAccountWithDefaultSelect(payableAccounts, selectedBankAccountId); @@ -805,7 +805,7 @@ function getNetSuitePayableAccountOptions(policy: Policy | undefined, selectedBa } function getNetSuiteReceivableAccountOptions(policy: Policy | undefined, selectedBankAccountId: string | undefined): SelectorType[] { - const receivableAccounts = policy?.connections?.netsuite.options.data.receivableList; + const receivableAccounts = policy?.connections?.netsuite?.options.data.receivableList; const selectedReceivableAccount = findSelectedBankAccountWithDefaultSelect(receivableAccounts, selectedBankAccountId); @@ -818,7 +818,7 @@ function getNetSuiteReceivableAccountOptions(policy: Policy | undefined, selecte } function getNetSuiteInvoiceItemOptions(policy: Policy | undefined, selectedItemId: string | undefined): SelectorType[] { - const invoiceItems = policy?.connections?.netsuite.options.data.items; + const invoiceItems = policy?.connections?.netsuite?.options.data.items; const selectedInvoiceItem = findSelectedInvoiceItemWithDefaultSelect(invoiceItems, selectedItemId); @@ -831,7 +831,7 @@ function getNetSuiteInvoiceItemOptions(policy: Policy | undefined, selectedItemI } function getNetSuiteTaxAccountOptions(policy: Policy | undefined, subsidiaryCountry?: string, selectedAccountId?: string): SelectorType[] { - const taxAccounts = policy?.connections?.netsuite.options.data.taxAccountsList; + const taxAccounts = policy?.connections?.netsuite?.options.data.taxAccountsList; const accountOptions = (taxAccounts ?? []).filter(({country}) => country === subsidiaryCountry); const selectedTaxAccount = findSelectedTaxAccountWithDefaultSelect(accountOptions, selectedAccountId); @@ -857,7 +857,7 @@ function getFilteredReimbursableAccountOptions(payableAccounts: NetSuiteAccount[ } function getNetSuiteReimbursableAccountOptions(policy: Policy | undefined, selectedBankAccountId: string | undefined): SelectorType[] { - const payableAccounts = policy?.connections?.netsuite.options.data.payableList; + const payableAccounts = policy?.connections?.netsuite?.options.data.payableList; const accountOptions = getFilteredReimbursableAccountOptions(payableAccounts); const selectedPayableAccount = findSelectedBankAccountWithDefaultSelect(accountOptions, selectedBankAccountId); @@ -875,7 +875,7 @@ function getFilteredCollectionAccountOptions(payableAccounts: NetSuiteAccount[] } function getNetSuiteCollectionAccountOptions(policy: Policy | undefined, selectedBankAccountId: string | undefined): SelectorType[] { - const payableAccounts = policy?.connections?.netsuite.options.data.payableList; + const payableAccounts = policy?.connections?.netsuite?.options.data.payableList; const accountOptions = getFilteredCollectionAccountOptions(payableAccounts); const selectedPayableAccount = findSelectedBankAccountWithDefaultSelect(accountOptions, selectedBankAccountId); @@ -893,7 +893,7 @@ function getFilteredApprovalAccountOptions(payableAccounts: NetSuiteAccount[] | } function getNetSuiteApprovalAccountOptions(policy: Policy | undefined, selectedBankAccountId: string | undefined): SelectorType[] { - const payableAccounts = policy?.connections?.netsuite.options.data.payableList; + const payableAccounts = policy?.connections?.netsuite?.options.data.payableList; const defaultApprovalAccount: NetSuiteAccount = { id: CONST.NETSUITE_APPROVAL_ACCOUNT_DEFAULT, name: translateLocal('workspace.netsuite.advancedConfig.defaultApprovalAccount'), diff --git a/src/pages/workspace/companyCards/utils.tsx b/src/pages/workspace/companyCards/utils.tsx index 1dd8943c4e10e..eb3b7fb1887b7 100644 --- a/src/pages/workspace/companyCards/utils.tsx +++ b/src/pages/workspace/companyCards/utils.tsx @@ -155,7 +155,7 @@ function getExportMenuItem( switch (netSuiteConfig) { case CONST.NETSUITE_EXPORT_DESTINATION.VENDOR_BILL: { - const vendors = policy?.connections?.netsuite.options.data.vendors; + const vendors = policy?.connections?.netsuite?.options.data.vendors; // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing defaultAccount = config?.defaultVendor || vendors?.[0]?.id; isDefaultTitle = !!( @@ -177,7 +177,7 @@ function getExportMenuItem( break; } case CONST.NETSUITE_EXPORT_DESTINATION.JOURNAL_ENTRY: { - const payableAccounts = policy?.connections?.netsuite.options.data.payableList; + const payableAccounts = policy?.connections?.netsuite?.options.data.payableList; // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing defaultAccount = config?.payableAcct || payableAccounts?.[0]?.id; isDefaultTitle = !!( From 17046f88373debc63449e320296caeec30244c45 Mon Sep 17 00:00:00 2001 From: VH Date: Mon, 3 Feb 2025 14:39:32 +0700 Subject: [PATCH 06/13] Fix eslint --- src/pages/workspace/companyCards/utils.tsx | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/pages/workspace/companyCards/utils.tsx b/src/pages/workspace/companyCards/utils.tsx index eb3b7fb1887b7..16dce1ccd3a9e 100644 --- a/src/pages/workspace/companyCards/utils.tsx +++ b/src/pages/workspace/companyCards/utils.tsx @@ -1,7 +1,7 @@ import type {ValueOf} from 'type-fest'; import type {LocaleContextProps} from '@components/LocaleContextProvider'; import type {SelectorType} from '@components/SelectionScreen'; -import * as PolicyUtils from '@libs/PolicyUtils'; +import {findSelectedBankAccountWithDefaultSelect, findSelectedVendorWithDefaultSelect, getCurrentConnectionName, getSageIntacctNonReimbursableActiveDefaultVendor} from '@libs/PolicyUtils'; import Navigation from '@navigation/Navigation'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -25,7 +25,7 @@ function getExportMenuItem( companyCard?: Card, backTo?: string | undefined, ): ExportIntegration | undefined { - const currentConnectionName = PolicyUtils.getCurrentConnectionName(policy); + const currentConnectionName = getCurrentConnectionName(policy); const defaultCard = translate('workspace.moreFeatures.companyCards.defaultCard'); const defaultMenuItem: Account & {value?: string} = { @@ -162,7 +162,7 @@ function getExportMenuItem( defaultAccount && (!companyCard?.nameValuePairs?.netsuite_export_vendor || companyCard?.nameValuePairs?.netsuite_export_vendor === CONST.COMPANY_CARDS.DEFAULT_EXPORT_TYPE) ); - const selectedVendor = PolicyUtils.findSelectedVendorWithDefaultSelect(vendors, companyCard?.nameValuePairs?.netsuite_export_vendor ?? defaultAccount); + const selectedVendor = findSelectedVendorWithDefaultSelect(vendors, companyCard?.nameValuePairs?.netsuite_export_vendor ?? defaultAccount); title = isDefaultTitle ? defaultCard : selectedVendor?.name; const resultData = (vendors ?? []).length > 0 ? [defaultMenuItem, ...(vendors ?? [])] : vendors; data = (resultData ?? []).map(({id, name}) => { @@ -185,10 +185,7 @@ function getExportMenuItem( (!companyCard?.nameValuePairs?.netsuite_export_payable_account || companyCard?.nameValuePairs?.netsuite_export_payable_account === CONST.COMPANY_CARDS.DEFAULT_EXPORT_TYPE) ); - const selectedPayableAccount = PolicyUtils.findSelectedBankAccountWithDefaultSelect( - payableAccounts, - companyCard?.nameValuePairs?.netsuite_export_payable_account ?? defaultAccount, - ); + const selectedPayableAccount = findSelectedBankAccountWithDefaultSelect(payableAccounts, companyCard?.nameValuePairs?.netsuite_export_payable_account ?? defaultAccount); title = isDefaultTitle ? defaultCard : selectedPayableAccount?.name; const resultData = (payableAccounts ?? []).length > 0 ? [defaultMenuItem, ...(payableAccounts ?? [])] : payableAccounts; data = (resultData ?? []).map(({id, name}) => { @@ -235,7 +232,7 @@ function getExportMenuItem( switch (sageConfig) { case CONST.SAGE_INTACCT_NON_REIMBURSABLE_EXPENSE_TYPE.VENDOR_BILL: case CONST.SAGE_INTACCT_REIMBURSABLE_EXPENSE_TYPE.VENDOR_BILL: { - const defaultAccount = isNonReimbursable ? PolicyUtils.getSageIntacctNonReimbursableActiveDefaultVendor(policy) : exportConfig?.reimbursableExpenseReportDefaultVendor; + const defaultAccount = isNonReimbursable ? getSageIntacctNonReimbursableActiveDefaultVendor(policy) : exportConfig?.reimbursableExpenseReportDefaultVendor; isDefaultTitle = !!( companyCard?.nameValuePairs?.intacct_export_vendor === CONST.COMPANY_CARDS.DEFAULT_EXPORT_TYPE || (defaultAccount && !companyCard?.nameValuePairs?.intacct_export_vendor) @@ -258,7 +255,7 @@ function getExportMenuItem( } case CONST.SAGE_INTACCT_NON_REIMBURSABLE_EXPENSE_TYPE.CREDIT_CARD_CHARGE: { const intacctCreditCards = policy?.connections?.intacct?.data?.creditCards ?? []; - const activeDefaultVendor = PolicyUtils.getSageIntacctNonReimbursableActiveDefaultVendor(policy); + const activeDefaultVendor = getSageIntacctNonReimbursableActiveDefaultVendor(policy); const defaultVendorAccount = (policy?.connections?.intacct?.data?.vendors ?? []).find((vendor) => vendor.id === activeDefaultVendor); // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing From 34a4a3c3c259ad31ab3b760e4c8d35577a5eb304 Mon Sep 17 00:00:00 2001 From: VH Date: Mon, 3 Feb 2025 14:59:36 +0700 Subject: [PATCH 07/13] Trigger Build From 4a479d63b4340e853abd1ec529d6e3246ce6e025 Mon Sep 17 00:00:00 2001 From: VH Date: Thu, 6 Feb 2025 17:08:49 +0700 Subject: [PATCH 08/13] Fix typecheck of Default value for inexistent IDs --- src/libs/actions/Policy/Policy.ts | 5 +- .../advanced/NetSuiteAdvancedPage.tsx | 324 +++++++++--------- .../NetSuiteApprovalAccountSelectPage.tsx | 8 +- .../NetSuiteCollectionAccountSelectPage.tsx | 8 +- ...teExpenseReportApprovalLevelSelectPage.tsx | 8 +- ...iteJournalEntryApprovalLevelSelectPage.tsx | 8 +- ...NetSuiteReimbursementAccountSelectPage.tsx | 8 +- ...SuiteVendorBillApprovalLevelSelectPage.tsx | 8 +- .../export/NetSuiteDateSelectPage.tsx | 8 +- ...iteExportExpensesDestinationSelectPage.tsx | 8 +- ...nsesJournalPostingPreferenceSelectPage.tsx | 8 +- ...ExportExpensesPayableAccountSelectPage.tsx | 8 +- ...NetSuiteExportExpensesVendorSelectPage.tsx | 8 +- ...etSuiteInvoiceItemPreferenceSelectPage.tsx | 10 +- .../export/NetSuiteInvoiceItemSelectPage.tsx | 8 +- .../NetSuitePreferredExporterSelectPage.tsx | 8 +- ...eProvincialTaxPostingAccountSelectPage.tsx | 8 +- .../NetSuiteReceivableAccountSelectPage.tsx | 8 +- .../NetSuiteTaxPostingAccountSelectPage.tsx | 8 +- 19 files changed, 237 insertions(+), 230 deletions(-) diff --git a/src/libs/actions/Policy/Policy.ts b/src/libs/actions/Policy/Policy.ts index 9d3536e57d65e..d0eef15b9391e 100644 --- a/src/libs/actions/Policy/Policy.ts +++ b/src/libs/actions/Policy/Policy.ts @@ -655,7 +655,10 @@ function clearXeroErrorField(policyID: string, fieldName: string) { Onyx.merge(`${ONYXKEYS.COLLECTION.POLICY}${policyID}`, {connections: {xero: {config: {errorFields: {[fieldName]: null}}}}}); } -function clearNetSuiteErrorField(policyID: string, fieldName: string) { +function clearNetSuiteErrorField(policyID: string | undefined, fieldName: string) { + if (!policyID) { + return; + } Onyx.merge(`${ONYXKEYS.COLLECTION.POLICY}${policyID}`, {connections: {netsuite: {options: {config: {errorFields: {[fieldName]: null}}}}}}); } diff --git a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteAdvancedPage.tsx b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteAdvancedPage.tsx index d6a56ae823aa3..988f4b9fffed4 100644 --- a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteAdvancedPage.tsx +++ b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteAdvancedPage.tsx @@ -44,7 +44,7 @@ type MenuItemWithSubscribedSettings = Pick = [ - { - type: 'menuitem', - title: autoSyncConfig?.autoSync?.enabled ? translate('common.enabled') : translate('common.disabled'), - description: translate('workspace.accounting.autoSync'), - onPress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NETSUITE_AUTO_SYNC.getRoute(policyID)), - hintText: (() => { - if (!autoSyncConfig?.autoSync?.enabled) { - return undefined; - } - return translate( - `workspace.netsuite.advancedConfig.accountingMethods.alternateText.${accountingMethod ?? COMMON_CONST.INTEGRATIONS.ACCOUNTING_METHOD.CASH}` as TranslationPaths, - ); - })(), - subscribedSettings: [CONST.NETSUITE_CONFIG.AUTO_SYNC, CONST.NETSUITE_CONFIG.ACCOUNTING_METHOD], - }, - { - type: 'divider', - key: 'divider1', - }, - { - type: 'toggle', - title: translate('workspace.accounting.reimbursedReports'), - subtitle: translate('workspace.netsuite.advancedConfig.reimbursedReportsDescription'), - isActive: !!config?.syncOptions.syncReimbursedReports, - switchAccessibilityLabel: translate('workspace.netsuite.advancedConfig.reimbursedReportsDescription'), - shouldPlaceSubtitleBelowSwitch: true, - onCloseError: () => clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.SYNC_OPTIONS.SYNC_REIMBURSED_REPORTS), - onToggle: (isEnabled) => updateNetSuiteSyncReimbursedReports(policyID, isEnabled), - pendingAction: settingsPendingAction([CONST.NETSUITE_CONFIG.SYNC_OPTIONS.SYNC_REIMBURSED_REPORTS], config?.pendingFields), - errors: getLatestErrorField(config, CONST.NETSUITE_CONFIG.SYNC_OPTIONS.SYNC_REIMBURSED_REPORTS), - shouldHide: shouldHideReimbursedReportsSection(config), - }, - { - type: 'menuitem', - description: translate('workspace.netsuite.advancedConfig.reimbursementsAccount'), - onPress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NETSUITE_REIMBURSEMENT_ACCOUNT_SELECT.getRoute(policyID)), - title: selectedReimbursementAccount ? selectedReimbursementAccount.name : undefined, - subscribedSettings: [CONST.NETSUITE_CONFIG.REIMBURSEMENT_ACCOUNT_ID], - shouldHide: shouldHideReimbursedReportsSection(config), - }, - { - type: 'menuitem', - description: translate('workspace.netsuite.advancedConfig.collectionsAccount'), - onPress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NETSUITE_COLLECTION_ACCOUNT_SELECT.getRoute(policyID)), - title: selectedCollectionAccount ? selectedCollectionAccount.name : undefined, - subscribedSettings: [CONST.NETSUITE_CONFIG.COLLECTION_ACCOUNT], - shouldHide: shouldHideReimbursedReportsSection(config), - }, - { - type: 'divider', - key: 'divider2', - shouldHide: shouldHideReimbursedReportsSection(config), - }, - { - type: 'toggle', - title: translate('workspace.netsuite.advancedConfig.inviteEmployees'), - subtitle: translate('workspace.netsuite.advancedConfig.inviteEmployeesDescription'), - isActive: !!config?.syncOptions.syncPeople, - switchAccessibilityLabel: translate('workspace.netsuite.advancedConfig.inviteEmployeesDescription'), - shouldPlaceSubtitleBelowSwitch: true, - shouldParseSubtitle: true, - onCloseError: () => clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.SYNC_OPTIONS.SYNC_PEOPLE), - onToggle: (isEnabled) => updateNetSuiteSyncPeople(policyID, isEnabled), - pendingAction: settingsPendingAction([CONST.NETSUITE_CONFIG.SYNC_OPTIONS.SYNC_PEOPLE], config?.pendingFields), - errors: getLatestErrorField(config, CONST.NETSUITE_CONFIG.SYNC_OPTIONS.SYNC_PEOPLE), - }, - { - type: 'toggle', - title: translate('workspace.netsuite.advancedConfig.autoCreateEntities'), - isActive: !!config?.autoCreateEntities, - switchAccessibilityLabel: translate('workspace.netsuite.advancedConfig.autoCreateEntities'), - onCloseError: () => clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.AUTO_CREATE_ENTITIES), - onToggle: (isEnabled) => updateNetSuiteAutoCreateEntities(policyID, isEnabled), - pendingAction: settingsPendingAction([CONST.NETSUITE_CONFIG.AUTO_CREATE_ENTITIES], config?.pendingFields), - errors: getLatestErrorField(config, CONST.NETSUITE_CONFIG.AUTO_CREATE_ENTITIES), - }, - { - type: 'divider', - key: 'divider3', - }, - { - type: 'toggle', - title: translate('workspace.netsuite.advancedConfig.enableCategories'), - isActive: !!config?.syncOptions.enableNewCategories, - switchAccessibilityLabel: translate('workspace.netsuite.advancedConfig.enableCategories'), - onCloseError: () => clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.SYNC_OPTIONS.ENABLE_NEW_CATEGORIES), - onToggle: (isEnabled) => updateNetSuiteEnableNewCategories(policyID, isEnabled), - pendingAction: settingsPendingAction([CONST.NETSUITE_CONFIG.SYNC_OPTIONS.ENABLE_NEW_CATEGORIES], config?.pendingFields), - errors: getLatestErrorField(config, CONST.NETSUITE_CONFIG.SYNC_OPTIONS.ENABLE_NEW_CATEGORIES), - }, - { - type: 'divider', - key: 'divider4', - }, - { - type: 'menuitem', - description: translate('workspace.netsuite.advancedConfig.exportReportsTo.label'), - onPress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPENSE_REPORT_APPROVAL_LEVEL_SELECT.getRoute(policyID)), - title: config?.syncOptions.exportReportsTo ? translate(`workspace.netsuite.advancedConfig.exportReportsTo.values.${config.syncOptions.exportReportsTo}`) : undefined, - subscribedSettings: [CONST.NETSUITE_CONFIG.SYNC_OPTIONS.EXPORT_REPORTS_TO], - shouldHide: shouldHideReportsExportTo(config), - }, - { - type: 'menuitem', - description: translate('workspace.netsuite.advancedConfig.exportVendorBillsTo.label'), - onPress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NETSUITE_VENDOR_BILL_APPROVAL_LEVEL_SELECT.getRoute(policyID)), - title: config?.syncOptions.exportVendorBillsTo ? translate(`workspace.netsuite.advancedConfig.exportVendorBillsTo.values.${config.syncOptions.exportVendorBillsTo}`) : undefined, - subscribedSettings: [CONST.NETSUITE_CONFIG.SYNC_OPTIONS.EXPORT_VENDOR_BILLS_TO], - shouldHide: shouldHideExportVendorBillsTo(config), - }, - { - type: 'menuitem', - description: translate('workspace.netsuite.advancedConfig.exportJournalsTo.label'), - onPress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NETSUITE_JOURNAL_ENTRY_APPROVAL_LEVEL_SELECT.getRoute(policyID)), - title: config?.syncOptions.exportJournalsTo ? translate(`workspace.netsuite.advancedConfig.exportJournalsTo.values.${config.syncOptions.exportJournalsTo}`) : undefined, - subscribedSettings: [CONST.NETSUITE_CONFIG.SYNC_OPTIONS.EXPORT_JOURNALS_TO], - shouldHide: shouldHideExportJournalsTo(config), - }, - { - type: 'menuitem', - description: translate('workspace.netsuite.advancedConfig.approvalAccount'), - onPress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NETSUITE_APPROVAL_ACCOUNT_SELECT.getRoute(policyID)), - title: selectedApprovalAccount ? selectedApprovalAccount.name : undefined, - subscribedSettings: [CONST.NETSUITE_CONFIG.APPROVAL_ACCOUNT], - }, - { - type: 'divider', - key: 'divider5', - }, - { - type: 'toggle', - title: translate('workspace.netsuite.advancedConfig.customFormID'), - subtitle: translate('workspace.netsuite.advancedConfig.customFormIDDescription'), - isActive: !!config?.customFormIDOptions?.enabled, - switchAccessibilityLabel: translate('workspace.netsuite.advancedConfig.customFormIDDescription'), - shouldPlaceSubtitleBelowSwitch: true, - onCloseError: () => clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.CUSTOM_FORM_ID_ENABLED), - onToggle: (isEnabled) => updateNetSuiteCustomFormIDOptionsEnabled(policyID, isEnabled), - pendingAction: settingsPendingAction([CONST.NETSUITE_CONFIG.CUSTOM_FORM_ID_ENABLED], config?.pendingFields), - errors: getLatestErrorField(config, CONST.NETSUITE_CONFIG.CUSTOM_FORM_ID_ENABLED), - }, - { - type: 'menuitem', - description: translate('workspace.netsuite.advancedConfig.customFormIDReimbursable'), - onPress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NETSUITE_CUSTOM_FORM_ID.getRoute(policyID, CONST.NETSUITE_EXPENSE_TYPE.REIMBURSABLE)), - title: config?.customFormIDOptions?.reimbursable?.[CONST.NETSUITE_MAP_EXPORT_DESTINATION[config.reimbursableExpensesExportDestination]], - subscribedSettings: [CONST.NETSUITE_CONFIG.CUSTOM_FORM_ID_TYPE.REIMBURSABLE], - shouldHide: shouldHideCustomFormIDOptions(config), - }, - { - type: 'menuitem', - description: translate('workspace.netsuite.advancedConfig.customFormIDNonReimbursable'), - onPress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NETSUITE_CUSTOM_FORM_ID.getRoute(policyID, CONST.NETSUITE_EXPENSE_TYPE.NON_REIMBURSABLE)), - title: config?.customFormIDOptions?.nonReimbursable?.[CONST.NETSUITE_MAP_EXPORT_DESTINATION[config.nonreimbursableExpensesExportDestination]], - subscribedSettings: [CONST.NETSUITE_CONFIG.CUSTOM_FORM_ID_TYPE.NON_REIMBURSABLE], - shouldHide: shouldHideCustomFormIDOptions(config), - }, - ]; + const menuItems: Array = policyID + ? [ + { + type: 'menuitem', + title: autoSyncConfig?.autoSync?.enabled ? translate('common.enabled') : translate('common.disabled'), + description: translate('workspace.accounting.autoSync'), + onPress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NETSUITE_AUTO_SYNC.getRoute(policyID)), + hintText: (() => { + if (!autoSyncConfig?.autoSync?.enabled) { + return undefined; + } + return translate( + `workspace.netsuite.advancedConfig.accountingMethods.alternateText.${accountingMethod ?? COMMON_CONST.INTEGRATIONS.ACCOUNTING_METHOD.CASH}` as TranslationPaths, + ); + })(), + subscribedSettings: [CONST.NETSUITE_CONFIG.AUTO_SYNC, CONST.NETSUITE_CONFIG.ACCOUNTING_METHOD], + }, + { + type: 'divider', + key: 'divider1', + }, + { + type: 'toggle', + title: translate('workspace.accounting.reimbursedReports'), + subtitle: translate('workspace.netsuite.advancedConfig.reimbursedReportsDescription'), + isActive: !!config?.syncOptions.syncReimbursedReports, + switchAccessibilityLabel: translate('workspace.netsuite.advancedConfig.reimbursedReportsDescription'), + shouldPlaceSubtitleBelowSwitch: true, + onCloseError: () => clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.SYNC_OPTIONS.SYNC_REIMBURSED_REPORTS), + onToggle: (isEnabled) => updateNetSuiteSyncReimbursedReports(policyID, isEnabled), + pendingAction: settingsPendingAction([CONST.NETSUITE_CONFIG.SYNC_OPTIONS.SYNC_REIMBURSED_REPORTS], config?.pendingFields), + errors: getLatestErrorField(config, CONST.NETSUITE_CONFIG.SYNC_OPTIONS.SYNC_REIMBURSED_REPORTS), + shouldHide: shouldHideReimbursedReportsSection(config), + }, + { + type: 'menuitem', + description: translate('workspace.netsuite.advancedConfig.reimbursementsAccount'), + onPress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NETSUITE_REIMBURSEMENT_ACCOUNT_SELECT.getRoute(policyID)), + title: selectedReimbursementAccount ? selectedReimbursementAccount.name : undefined, + subscribedSettings: [CONST.NETSUITE_CONFIG.REIMBURSEMENT_ACCOUNT_ID], + shouldHide: shouldHideReimbursedReportsSection(config), + }, + { + type: 'menuitem', + description: translate('workspace.netsuite.advancedConfig.collectionsAccount'), + onPress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NETSUITE_COLLECTION_ACCOUNT_SELECT.getRoute(policyID)), + title: selectedCollectionAccount ? selectedCollectionAccount.name : undefined, + subscribedSettings: [CONST.NETSUITE_CONFIG.COLLECTION_ACCOUNT], + shouldHide: shouldHideReimbursedReportsSection(config), + }, + { + type: 'divider', + key: 'divider2', + shouldHide: shouldHideReimbursedReportsSection(config), + }, + { + type: 'toggle', + title: translate('workspace.netsuite.advancedConfig.inviteEmployees'), + subtitle: translate('workspace.netsuite.advancedConfig.inviteEmployeesDescription'), + isActive: !!config?.syncOptions.syncPeople, + switchAccessibilityLabel: translate('workspace.netsuite.advancedConfig.inviteEmployeesDescription'), + shouldPlaceSubtitleBelowSwitch: true, + shouldParseSubtitle: true, + onCloseError: () => clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.SYNC_OPTIONS.SYNC_PEOPLE), + onToggle: (isEnabled) => updateNetSuiteSyncPeople(policyID, isEnabled), + pendingAction: settingsPendingAction([CONST.NETSUITE_CONFIG.SYNC_OPTIONS.SYNC_PEOPLE], config?.pendingFields), + errors: getLatestErrorField(config, CONST.NETSUITE_CONFIG.SYNC_OPTIONS.SYNC_PEOPLE), + }, + { + type: 'toggle', + title: translate('workspace.netsuite.advancedConfig.autoCreateEntities'), + isActive: !!config?.autoCreateEntities, + switchAccessibilityLabel: translate('workspace.netsuite.advancedConfig.autoCreateEntities'), + onCloseError: () => clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.AUTO_CREATE_ENTITIES), + onToggle: (isEnabled) => updateNetSuiteAutoCreateEntities(policyID, isEnabled), + pendingAction: settingsPendingAction([CONST.NETSUITE_CONFIG.AUTO_CREATE_ENTITIES], config?.pendingFields), + errors: getLatestErrorField(config, CONST.NETSUITE_CONFIG.AUTO_CREATE_ENTITIES), + }, + { + type: 'divider', + key: 'divider3', + }, + { + type: 'toggle', + title: translate('workspace.netsuite.advancedConfig.enableCategories'), + isActive: !!config?.syncOptions.enableNewCategories, + switchAccessibilityLabel: translate('workspace.netsuite.advancedConfig.enableCategories'), + onCloseError: () => clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.SYNC_OPTIONS.ENABLE_NEW_CATEGORIES), + onToggle: (isEnabled) => updateNetSuiteEnableNewCategories(policyID, isEnabled), + pendingAction: settingsPendingAction([CONST.NETSUITE_CONFIG.SYNC_OPTIONS.ENABLE_NEW_CATEGORIES], config?.pendingFields), + errors: getLatestErrorField(config, CONST.NETSUITE_CONFIG.SYNC_OPTIONS.ENABLE_NEW_CATEGORIES), + }, + { + type: 'divider', + key: 'divider4', + }, + { + type: 'menuitem', + description: translate('workspace.netsuite.advancedConfig.exportReportsTo.label'), + onPress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPENSE_REPORT_APPROVAL_LEVEL_SELECT.getRoute(policyID)), + title: config?.syncOptions.exportReportsTo ? translate(`workspace.netsuite.advancedConfig.exportReportsTo.values.${config.syncOptions.exportReportsTo}`) : undefined, + subscribedSettings: [CONST.NETSUITE_CONFIG.SYNC_OPTIONS.EXPORT_REPORTS_TO], + shouldHide: shouldHideReportsExportTo(config), + }, + { + type: 'menuitem', + description: translate('workspace.netsuite.advancedConfig.exportVendorBillsTo.label'), + onPress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NETSUITE_VENDOR_BILL_APPROVAL_LEVEL_SELECT.getRoute(policyID)), + title: config?.syncOptions.exportVendorBillsTo + ? translate(`workspace.netsuite.advancedConfig.exportVendorBillsTo.values.${config.syncOptions.exportVendorBillsTo}`) + : undefined, + subscribedSettings: [CONST.NETSUITE_CONFIG.SYNC_OPTIONS.EXPORT_VENDOR_BILLS_TO], + shouldHide: shouldHideExportVendorBillsTo(config), + }, + { + type: 'menuitem', + description: translate('workspace.netsuite.advancedConfig.exportJournalsTo.label'), + onPress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NETSUITE_JOURNAL_ENTRY_APPROVAL_LEVEL_SELECT.getRoute(policyID)), + title: config?.syncOptions.exportJournalsTo ? translate(`workspace.netsuite.advancedConfig.exportJournalsTo.values.${config.syncOptions.exportJournalsTo}`) : undefined, + subscribedSettings: [CONST.NETSUITE_CONFIG.SYNC_OPTIONS.EXPORT_JOURNALS_TO], + shouldHide: shouldHideExportJournalsTo(config), + }, + { + type: 'menuitem', + description: translate('workspace.netsuite.advancedConfig.approvalAccount'), + onPress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NETSUITE_APPROVAL_ACCOUNT_SELECT.getRoute(policyID)), + title: selectedApprovalAccount ? selectedApprovalAccount.name : undefined, + subscribedSettings: [CONST.NETSUITE_CONFIG.APPROVAL_ACCOUNT], + }, + { + type: 'divider', + key: 'divider5', + }, + { + type: 'toggle', + title: translate('workspace.netsuite.advancedConfig.customFormID'), + subtitle: translate('workspace.netsuite.advancedConfig.customFormIDDescription'), + isActive: !!config?.customFormIDOptions?.enabled, + switchAccessibilityLabel: translate('workspace.netsuite.advancedConfig.customFormIDDescription'), + shouldPlaceSubtitleBelowSwitch: true, + onCloseError: () => clearNetSuiteErrorField(policyID, CONST.NETSUITE_CONFIG.CUSTOM_FORM_ID_ENABLED), + onToggle: (isEnabled) => updateNetSuiteCustomFormIDOptionsEnabled(policyID, isEnabled), + pendingAction: settingsPendingAction([CONST.NETSUITE_CONFIG.CUSTOM_FORM_ID_ENABLED], config?.pendingFields), + errors: getLatestErrorField(config, CONST.NETSUITE_CONFIG.CUSTOM_FORM_ID_ENABLED), + }, + { + type: 'menuitem', + description: translate('workspace.netsuite.advancedConfig.customFormIDReimbursable'), + onPress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NETSUITE_CUSTOM_FORM_ID.getRoute(policyID, CONST.NETSUITE_EXPENSE_TYPE.REIMBURSABLE)), + title: config?.customFormIDOptions?.reimbursable?.[CONST.NETSUITE_MAP_EXPORT_DESTINATION[config.reimbursableExpensesExportDestination]], + subscribedSettings: [CONST.NETSUITE_CONFIG.CUSTOM_FORM_ID_TYPE.REIMBURSABLE], + shouldHide: shouldHideCustomFormIDOptions(config), + }, + { + type: 'menuitem', + description: translate('workspace.netsuite.advancedConfig.customFormIDNonReimbursable'), + onPress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NETSUITE_CUSTOM_FORM_ID.getRoute(policyID, CONST.NETSUITE_EXPENSE_TYPE.NON_REIMBURSABLE)), + title: config?.customFormIDOptions?.nonReimbursable?.[CONST.NETSUITE_MAP_EXPORT_DESTINATION[config.nonreimbursableExpensesExportDestination]], + subscribedSettings: [CONST.NETSUITE_CONFIG.CUSTOM_FORM_ID_TYPE.NON_REIMBURSABLE], + shouldHide: shouldHideCustomFormIDOptions(config), + }, + ] + : []; return ( ( @@ -37,10 +37,10 @@ function NetSuiteApprovalAccountSelectPage({policy}: WithPolicyConnectionsProps) const updateCollectionAccount = useCallback( ({value}: SelectorType) => { - if (config?.approvalAccount !== value) { + if (config?.approvalAccount !== value && policyID) { updateNetSuiteApprovalAccount(policyID, value, config?.approvalAccount ?? CONST.NETSUITE_APPROVAL_ACCOUNT_DEFAULT); } - Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); + Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); }, [policyID, config?.approvalAccount], ); @@ -79,7 +79,7 @@ function NetSuiteApprovalAccountSelectPage({policy}: WithPolicyConnectionsProps) listItem={RadioListItem} onSelectRow={updateCollectionAccount} initiallyFocusedOptionKey={initiallyFocusedOptionKey} - onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID))} + onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID))} title="workspace.netsuite.advancedConfig.approvalAccount" listEmptyContent={listEmptyContent} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} diff --git a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteCollectionAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteCollectionAccountSelectPage.tsx index 13117542afb69..776eecfbb0a1c 100644 --- a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteCollectionAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteCollectionAccountSelectPage.tsx @@ -23,7 +23,7 @@ function NetSuiteCollectionAccountSelectPage({policy}: WithPolicyConnectionsProp const styles = useThemeStyles(); const {translate} = useLocalize(); - const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; + const policyID = policy?.id; const config = policy?.connections?.netsuite?.options.config; const netsuiteCollectionAccountOptions = useMemo( @@ -35,10 +35,10 @@ function NetSuiteCollectionAccountSelectPage({policy}: WithPolicyConnectionsProp const updateCollectionAccount = useCallback( ({value}: SelectorType) => { - if (config?.collectionAccount !== value) { + if (config?.collectionAccount !== value && policyID) { updateNetSuiteCollectionAccount(policyID, value, config?.collectionAccount); } - Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); + Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); }, [policyID, config?.collectionAccount], ); @@ -77,7 +77,7 @@ function NetSuiteCollectionAccountSelectPage({policy}: WithPolicyConnectionsProp listItem={RadioListItem} onSelectRow={updateCollectionAccount} initiallyFocusedOptionKey={initiallyFocusedOptionKey} - onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID))} + onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID))} title="workspace.netsuite.advancedConfig.collectionsAccount" listEmptyContent={listEmptyContent} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} diff --git a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteExpenseReportApprovalLevelSelectPage.tsx b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteExpenseReportApprovalLevelSelectPage.tsx index 2afdc41bf84e3..b32f8cf124a34 100644 --- a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteExpenseReportApprovalLevelSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteExpenseReportApprovalLevelSelectPage.tsx @@ -24,7 +24,7 @@ type MenuListItem = ListItem & { function NetSuiteExpenseReportApprovalLevelSelectPage({policy}: WithPolicyConnectionsProps) { const {translate} = useLocalize(); - const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; + const policyID = policy?.id; const styles = useThemeStyles(); const config = policy?.connections?.netsuite?.options.config; const data: MenuListItem[] = Object.values(CONST.NETSUITE_REPORTS_APPROVAL_LEVEL).map((approvalType) => ({ @@ -45,10 +45,10 @@ function NetSuiteExpenseReportApprovalLevelSelectPage({policy}: WithPolicyConnec const selectExpenseReportApprovalLevel = useCallback( (row: MenuListItem) => { - if (row.value !== config?.syncOptions.exportReportsTo) { + if (row.value !== config?.syncOptions.exportReportsTo && policyID) { updateNetSuiteExportReportsTo(policyID, row.value, config?.syncOptions.exportReportsTo ?? CONST.NETSUITE_REPORTS_APPROVAL_LEVEL.REPORTS_APPROVED_NONE); } - Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); + Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); }, [config?.syncOptions.exportReportsTo, policyID], ); @@ -65,7 +65,7 @@ function NetSuiteExpenseReportApprovalLevelSelectPage({policy}: WithPolicyConnec policyID={policyID} accessVariants={[CONST.POLICY.ACCESS_VARIANTS.ADMIN]} featureName={CONST.POLICY.MORE_FEATURES.ARE_CONNECTIONS_ENABLED} - onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID))} + onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID))} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} shouldBeBlocked={config?.reimbursableExpensesExportDestination !== CONST.NETSUITE_EXPORT_DESTINATION.EXPENSE_REPORT} pendingAction={settingsPendingAction([CONST.NETSUITE_CONFIG.SYNC_OPTIONS.EXPORT_REPORTS_TO], config?.pendingFields)} diff --git a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteJournalEntryApprovalLevelSelectPage.tsx b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteJournalEntryApprovalLevelSelectPage.tsx index d9ac3c91f6fc5..d2619aa5aa6b0 100644 --- a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteJournalEntryApprovalLevelSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteJournalEntryApprovalLevelSelectPage.tsx @@ -24,7 +24,7 @@ type MenuListItem = ListItem & { function NetSuiteJournalEntryApprovalLevelSelectPage({policy}: WithPolicyConnectionsProps) { const {translate} = useLocalize(); - const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; + const policyID = policy?.id; const styles = useThemeStyles(); const config = policy?.connections?.netsuite?.options.config; const data: MenuListItem[] = Object.values(CONST.NETSUITE_JOURNALS_APPROVAL_LEVEL).map((approvalType) => ({ @@ -45,10 +45,10 @@ function NetSuiteJournalEntryApprovalLevelSelectPage({policy}: WithPolicyConnect const selectJournalApprovalLevel = useCallback( (row: MenuListItem) => { - if (row.value !== config?.syncOptions.exportJournalsTo) { + if (row.value !== config?.syncOptions.exportJournalsTo && policyID) { updateNetSuiteExportJournalsTo(policyID, row.value, config?.syncOptions.exportJournalsTo ?? CONST.NETSUITE_JOURNALS_APPROVAL_LEVEL.JOURNALS_APPROVED_NONE); } - Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); + Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); }, [config?.syncOptions.exportJournalsTo, policyID], ); @@ -65,7 +65,7 @@ function NetSuiteJournalEntryApprovalLevelSelectPage({policy}: WithPolicyConnect policyID={policyID} accessVariants={[CONST.POLICY.ACCESS_VARIANTS.ADMIN]} featureName={CONST.POLICY.MORE_FEATURES.ARE_CONNECTIONS_ENABLED} - onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID))} + onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID))} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} shouldBeBlocked={ config?.reimbursableExpensesExportDestination !== CONST.NETSUITE_EXPORT_DESTINATION.JOURNAL_ENTRY && diff --git a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteReimbursementAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteReimbursementAccountSelectPage.tsx index f05f1d716f258..fcd8a57ec1f8a 100644 --- a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteReimbursementAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteReimbursementAccountSelectPage.tsx @@ -23,7 +23,7 @@ function NetSuiteReimbursementAccountSelectPage({policy}: WithPolicyConnectionsP const styles = useThemeStyles(); const {translate} = useLocalize(); - const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; + const policyID = policy?.id; const config = policy?.connections?.netsuite?.options.config; const netsuiteReimbursableAccountOptions = useMemo( @@ -35,10 +35,10 @@ function NetSuiteReimbursementAccountSelectPage({policy}: WithPolicyConnectionsP const updateReimbursementAccount = useCallback( ({value}: SelectorType) => { - if (config?.reimbursementAccountID !== value) { + if (config?.reimbursementAccountID !== value && policyID) { updateNetSuiteReimbursementAccountID(policyID, value, config?.reimbursementAccountID); } - Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); + Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); }, [policyID, config?.reimbursementAccountID], ); @@ -77,7 +77,7 @@ function NetSuiteReimbursementAccountSelectPage({policy}: WithPolicyConnectionsP listItem={RadioListItem} onSelectRow={updateReimbursementAccount} initiallyFocusedOptionKey={initiallyFocusedOptionKey} - onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID))} + onBackButtonPress={() => policyID && Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID))} title="workspace.netsuite.advancedConfig.reimbursementsAccount" listEmptyContent={listEmptyContent} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} diff --git a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteVendorBillApprovalLevelSelectPage.tsx b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteVendorBillApprovalLevelSelectPage.tsx index 2c748e4d15dbc..522b3ce24554b 100644 --- a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteVendorBillApprovalLevelSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteVendorBillApprovalLevelSelectPage.tsx @@ -24,7 +24,7 @@ type MenuListItem = ListItem & { function NetSuiteVendorBillApprovalLevelSelectPage({policy}: WithPolicyConnectionsProps) { const {translate} = useLocalize(); - const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; + const policyID = policy?.id; const styles = useThemeStyles(); const config = policy?.connections?.netsuite?.options.config; const data: MenuListItem[] = Object.values(CONST.NETSUITE_VENDOR_BILLS_APPROVAL_LEVEL).map((approvalType) => ({ @@ -45,10 +45,10 @@ function NetSuiteVendorBillApprovalLevelSelectPage({policy}: WithPolicyConnectio const selectVendorBillApprovalLevel = useCallback( (row: MenuListItem) => { - if (row.value !== config?.syncOptions.exportVendorBillsTo) { + if (row.value !== config?.syncOptions.exportVendorBillsTo && policyID) { updateNetSuiteExportVendorBillsTo(policyID, row.value, config?.syncOptions.exportVendorBillsTo ?? CONST.NETSUITE_VENDOR_BILLS_APPROVAL_LEVEL.VENDOR_BILLS_APPROVED_NONE); } - Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); + Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); }, [config?.syncOptions.exportVendorBillsTo, policyID], ); @@ -65,7 +65,7 @@ function NetSuiteVendorBillApprovalLevelSelectPage({policy}: WithPolicyConnectio policyID={policyID} accessVariants={[CONST.POLICY.ACCESS_VARIANTS.ADMIN]} featureName={CONST.POLICY.MORE_FEATURES.ARE_CONNECTIONS_ENABLED} - onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID))} + onBackButtonPress={() => policyID && Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID))} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} shouldBeBlocked={ config?.reimbursableExpensesExportDestination !== CONST.NETSUITE_EXPORT_DESTINATION.VENDOR_BILL && diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteDateSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteDateSelectPage.tsx index da1371a17ed34..66a209256751f 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteDateSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteDateSelectPage.tsx @@ -24,7 +24,7 @@ type MenuListItem = ListItem & { function NetSuiteDateSelectPage({policy}: WithPolicyConnectionsProps) { const {translate} = useLocalize(); - const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; + const policyID = policy?.id; const styles = useThemeStyles(); const config = policy?.connections?.netsuite?.options.config; const selectedValue = Object.values(CONST.NETSUITE_EXPORT_DATE).find((value) => value === config?.exportDate) ?? CONST.NETSUITE_EXPORT_DATE.LAST_EXPENSE; @@ -47,10 +47,10 @@ function NetSuiteDateSelectPage({policy}: WithPolicyConnectionsProps) { const selectExportDate = useCallback( (row: MenuListItem) => { - if (row.value !== config?.exportDate) { + if (row.value !== config?.exportDate && policyID) { updateNetSuiteExportDate(policyID, row.value, config?.exportDate); } - Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); + Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); }, [config?.exportDate, policyID], ); @@ -67,7 +67,7 @@ function NetSuiteDateSelectPage({policy}: WithPolicyConnectionsProps) { policyID={policyID} accessVariants={[CONST.POLICY.ACCESS_VARIANTS.ADMIN]} featureName={CONST.POLICY.MORE_FEATURES.ARE_CONNECTIONS_ENABLED} - onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))} + onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} pendingAction={settingsPendingAction([CONST.NETSUITE_CONFIG.EXPORT_DATE], config?.pendingFields)} errors={getLatestErrorField(config, CONST.NETSUITE_CONFIG.EXPORT_DATE)} diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesDestinationSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesDestinationSelectPage.tsx index 92da7407a2a1f..e3c9f869e9ae9 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesDestinationSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesDestinationSelectPage.tsx @@ -26,7 +26,7 @@ type MenuListItem = ListItem & { function NetSuiteExportExpensesDestinationSelectPage({policy}: WithPolicyConnectionsProps) { const {translate} = useLocalize(); const styles = useThemeStyles(); - const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; + const policyID = policy?.id; const config = policy?.connections?.netsuite?.options.config; const route = useRoute(); @@ -45,14 +45,14 @@ function NetSuiteExportExpensesDestinationSelectPage({policy}: WithPolicyConnect const selectDestination = useCallback( (row: MenuListItem) => { - if (row.value !== currentDestination) { + if (row.value !== currentDestination && policyID) { if (isReimbursable) { updateNetSuiteReimbursableExpensesExportDestination(policyID, row.value, currentDestination ?? CONST.NETSUITE_EXPORT_DESTINATION.EXPENSE_REPORT); } else { updateNetSuiteNonReimbursableExpensesExportDestination(policyID, row.value, currentDestination ?? CONST.NETSUITE_EXPORT_DESTINATION.VENDOR_BILL); } } - Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType)); + Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType)); }, [currentDestination, isReimbursable, params.expenseType, policyID], ); @@ -68,7 +68,7 @@ function NetSuiteExportExpensesDestinationSelectPage({policy}: WithPolicyConnect policyID={policyID} accessVariants={[CONST.POLICY.ACCESS_VARIANTS.ADMIN]} featureName={CONST.POLICY.MORE_FEATURES.ARE_CONNECTIONS_ENABLED} - onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType))} + onBackButtonPress={() => policyID && Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType))} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} pendingAction={settingsPendingAction([currentSettingName], config?.pendingFields)} errors={getLatestErrorField(config, currentSettingName)} diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesJournalPostingPreferenceSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesJournalPostingPreferenceSelectPage.tsx index 397469996d71f..2f12f4a2bc682 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesJournalPostingPreferenceSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesJournalPostingPreferenceSelectPage.tsx @@ -25,7 +25,7 @@ type MenuListItem = ListItem & { function NetSuiteExportExpensesJournalPostingPreferenceSelectPage({policy}: WithPolicyConnectionsProps) { const {translate} = useLocalize(); const styles = useThemeStyles(); - const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; + const policyID = policy?.id; const config = policy?.connections?.netsuite?.options.config; const route = useRoute(); @@ -45,10 +45,10 @@ function NetSuiteExportExpensesJournalPostingPreferenceSelectPage({policy}: With const selectPostingPreference = useCallback( (row: MenuListItem) => { - if (row.value !== config?.journalPostingPreference) { + if (row.value !== config?.journalPostingPreference && policyID) { updateNetSuiteJournalPostingPreference(policyID, row.value, config?.journalPostingPreference); } - Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType)); + Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType)); }, [config?.journalPostingPreference, params.expenseType, policyID], ); @@ -64,7 +64,7 @@ function NetSuiteExportExpensesJournalPostingPreferenceSelectPage({policy}: With policyID={policyID} accessVariants={[CONST.POLICY.ACCESS_VARIANTS.ADMIN]} featureName={CONST.POLICY.MORE_FEATURES.ARE_CONNECTIONS_ENABLED} - onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType))} + onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType))} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} shouldBeBlocked={ isReimbursable diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx index e0280c9e6784e..d6c9494dbe62c 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx @@ -23,7 +23,7 @@ function NetSuiteExportExpensesPayableAccountSelectPage({policy}: WithPolicyConn const styles = useThemeStyles(); const {translate} = useLocalize(); - const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; + const policyID = policy?.id; const route = useRoute(); const params = route.params as ExpenseRouteParams; @@ -38,14 +38,14 @@ function NetSuiteExportExpensesPayableAccountSelectPage({policy}: WithPolicyConn const updatePayableAccount = useCallback( ({value}: SelectorType) => { - if (currentPayableAccountID !== value) { + if (currentPayableAccountID !== value && policyID) { if (isReimbursable) { updateNetSuiteReimbursablePayableAccount(policyID, value, currentPayableAccountID ?? `${CONST.DEFAULT_NUMBER_ID}`); } else { updateNetSuitePayableAcct(policyID, value, currentPayableAccountID ?? `${CONST.DEFAULT_NUMBER_ID}`); } } - Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType)); + Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType)); }, [currentPayableAccountID, policyID, params.expenseType, isReimbursable], ); @@ -74,7 +74,7 @@ function NetSuiteExportExpensesPayableAccountSelectPage({policy}: WithPolicyConn listItem={RadioListItem} onSelectRow={updatePayableAccount} initiallyFocusedOptionKey={initiallyFocusedOptionKey} - onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType))} + onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType))} title={isReimbursable ? 'workspace.netsuite.reimbursableJournalPostingAccount' : 'workspace.netsuite.nonReimbursableJournalPostingAccount'} listEmptyContent={listEmptyContent} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesVendorSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesVendorSelectPage.tsx index 62e6038dfbf54..c7a09a2e5adef 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesVendorSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesVendorSelectPage.tsx @@ -23,7 +23,7 @@ function NetSuiteExportExpensesVendorSelectPage({policy}: WithPolicyConnectionsP const styles = useThemeStyles(); const {translate} = useLocalize(); - const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; + const policyID = policy?.id; const route = useRoute(); const params = route.params as ExpenseRouteParams; @@ -36,10 +36,10 @@ function NetSuiteExportExpensesVendorSelectPage({policy}: WithPolicyConnectionsP const updateDefaultVendor = useCallback( ({value}: SelectorType) => { - if (config?.defaultVendor !== value) { + if (config?.defaultVendor !== value && policyID) { updateNetSuiteDefaultVendor(policyID, value, config?.defaultVendor); } - Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType)); + Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType)); }, [config?.defaultVendor, policyID, params.expenseType], ); @@ -68,7 +68,7 @@ function NetSuiteExportExpensesVendorSelectPage({policy}: WithPolicyConnectionsP listItem={RadioListItem} onSelectRow={updateDefaultVendor} initiallyFocusedOptionKey={initiallyFocusedOptionKey} - onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType))} + onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType))} title="workspace.accounting.defaultVendor" listEmptyContent={listEmptyContent} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemPreferenceSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemPreferenceSelectPage.tsx index 63f210f13f5fd..56f7f1f35d129 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemPreferenceSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemPreferenceSelectPage.tsx @@ -27,7 +27,7 @@ type MenuListItem = ListItem & { function NetSuiteInvoiceItemPreferenceSelectPage({policy}: WithPolicyConnectionsProps) { const {translate} = useLocalize(); const styles = useThemeStyles(); - const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; + const policyID = policy?.id; const config = policy?.connections?.netsuite?.options.config; const {items} = policy?.connections?.netsuite?.options.data ?? {}; @@ -44,11 +44,11 @@ function NetSuiteInvoiceItemPreferenceSelectPage({policy}: WithPolicyConnections const selectInvoicePreference = useCallback( (row: MenuListItem) => { - if (row.value !== config?.invoiceItemPreference) { + if (row.value !== config?.invoiceItemPreference && policyID) { updateNetSuiteInvoiceItemPreference(policyID, row.value, config?.invoiceItemPreference); } if (row.value === CONST.NETSUITE_INVOICE_ITEM_PREFERENCE.CREATE) { - Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); + Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); } }, [config?.invoiceItemPreference, policyID], @@ -59,7 +59,7 @@ function NetSuiteInvoiceItemPreferenceSelectPage({policy}: WithPolicyConnections headerTitle="workspace.netsuite.invoiceItem.label" title={`workspace.netsuite.invoiceItem.values.${config?.invoiceItemPreference ?? CONST.NETSUITE_INVOICE_ITEM_PREFERENCE.CREATE}.description`} titleStyle={[styles.ph5, styles.pb5]} - onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))} + onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))} accessVariants={[CONST.POLICY.ACCESS_VARIANTS.ADMIN]} featureName={CONST.POLICY.MORE_FEATURES.ARE_CONNECTIONS_ENABLED} displayName={NetSuiteInvoiceItemPreferenceSelectPage.displayName} @@ -97,7 +97,7 @@ function NetSuiteInvoiceItemPreferenceSelectPage({policy}: WithPolicyConnections title={selectedItem ? selectedItem.name : undefined} interactive shouldShowRightIcon - onPress={() => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NETSUITE_INVOICE_ITEM_SELECT.getRoute(policyID))} + onPress={() => Navigation.navigate(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_INVOICE_ITEM_SELECT.getRoute(policyID))} brickRoadIndicator={areSettingsInErrorFields([CONST.NETSUITE_CONFIG.INVOICE_ITEM], config?.errorFields) ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined} /> diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemSelectPage.tsx index 11eb984576390..667690f9e9b50 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemSelectPage.tsx @@ -21,7 +21,7 @@ function NetSuiteInvoiceItemSelectPage({policy}: WithPolicyConnectionsProps) { const styles = useThemeStyles(); const {translate} = useLocalize(); - const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; + const policyID = policy?.id; const config = policy?.connections?.netsuite?.options.config; const netsuiteInvoiceItemOptions = useMemo(() => getNetSuiteInvoiceItemOptions(policy ?? undefined, config?.invoiceItem), [config?.invoiceItem, policy]); @@ -30,10 +30,10 @@ function NetSuiteInvoiceItemSelectPage({policy}: WithPolicyConnectionsProps) { const updateInvoiceItem = useCallback( ({value}: SelectorType) => { - if (config?.invoiceItem !== value) { + if (config?.invoiceItem !== value && policyID) { updateNetSuiteInvoiceItem(policyID, value, config?.invoiceItem); } - Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_INVOICE_ITEM_PREFERENCE_SELECT.getRoute(policyID)); + Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_INVOICE_ITEM_PREFERENCE_SELECT.getRoute(policyID)); }, [policyID, config?.invoiceItem], ); @@ -62,7 +62,7 @@ function NetSuiteInvoiceItemSelectPage({policy}: WithPolicyConnectionsProps) { listItem={RadioListItem} onSelectRow={updateInvoiceItem} initiallyFocusedOptionKey={initiallyFocusedOptionKey} - onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_INVOICE_ITEM_PREFERENCE_SELECT.getRoute(policyID))} + onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_INVOICE_ITEM_PREFERENCE_SELECT.getRoute(policyID))} title="workspace.netsuite.invoiceItem.label" listEmptyContent={listEmptyContent} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuitePreferredExporterSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuitePreferredExporterSelectPage.tsx index fbd7c59ae87da..9e20687aae042 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuitePreferredExporterSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuitePreferredExporterSelectPage.tsx @@ -30,7 +30,7 @@ function NetSuitePreferredExporterSelectPage({policy}: WithPolicyConnectionsProp const exporters = getAdminEmployees(policy); const {login: currentUserLogin} = useCurrentUserPersonalDetails(); - const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; + const policyID = policy?.id; const data: CardListItem[] = useMemo(() => { if (!isEmpty(policyOwner) && isEmpty(exporters)) { return [ @@ -65,10 +65,10 @@ function NetSuitePreferredExporterSelectPage({policy}: WithPolicyConnectionsProp const selectExporter = useCallback( (row: CardListItem) => { - if (row.value !== config?.exporter) { + if (row.value !== config?.exporter && policyID) { updateNetSuiteExporter(policyID, row.value, config?.exporter ?? ''); } - Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); + Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); }, [config?.exporter, policyID], ); @@ -94,7 +94,7 @@ function NetSuitePreferredExporterSelectPage({policy}: WithPolicyConnectionsProp headerContent={headerContent} onSelectRow={selectExporter} initiallyFocusedOptionKey={data.find((mode) => mode.isSelected)?.keyForList} - onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))} + onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))} title="workspace.accounting.preferredExporter" connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} pendingAction={settingsPendingAction([CONST.NETSUITE_CONFIG.EXPORTER], config?.pendingFields)} diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteProvincialTaxPostingAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteProvincialTaxPostingAccountSelectPage.tsx index 471535b1acf29..3319119dad8f7 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteProvincialTaxPostingAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteProvincialTaxPostingAccountSelectPage.tsx @@ -21,7 +21,7 @@ function NetSuiteProvincialTaxPostingAccountSelectPage({policy}: WithPolicyConne const styles = useThemeStyles(); const {translate} = useLocalize(); - const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; + const policyID = policy?.id; const config = policy?.connections?.netsuite?.options.config; const {subsidiaryList} = policy?.connections?.netsuite?.options?.data ?? {}; @@ -36,10 +36,10 @@ function NetSuiteProvincialTaxPostingAccountSelectPage({policy}: WithPolicyConne const updateTaxAccount = useCallback( ({value}: SelectorType) => { - if (config?.provincialTaxPostingAccount !== value) { + if (config?.provincialTaxPostingAccount !== value && policyID) { updateNetSuiteProvincialTaxPostingAccount(policyID, value, config?.provincialTaxPostingAccount); } - Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); + Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); }, [policyID, config?.provincialTaxPostingAccount], ); @@ -68,7 +68,7 @@ function NetSuiteProvincialTaxPostingAccountSelectPage({policy}: WithPolicyConne listItem={RadioListItem} onSelectRow={updateTaxAccount} initiallyFocusedOptionKey={initiallyFocusedOptionKey} - onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))} + onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))} title="workspace.netsuite.journalEntriesProvTaxPostingAccount" listEmptyContent={listEmptyContent} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteReceivableAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteReceivableAccountSelectPage.tsx index 43314d47eb481..d45ef49a6d9fa 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteReceivableAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteReceivableAccountSelectPage.tsx @@ -21,7 +21,7 @@ function NetSuiteReceivableAccountSelectPage({policy}: WithPolicyConnectionsProp const styles = useThemeStyles(); const {translate} = useLocalize(); - const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; + const policyID = policy?.id; const config = policy?.connections?.netsuite?.options.config; const netsuiteReceivableAccountOptions = useMemo( @@ -33,10 +33,10 @@ function NetSuiteReceivableAccountSelectPage({policy}: WithPolicyConnectionsProp const updateReceivableAccount = useCallback( ({value}: SelectorType) => { - if (config?.receivableAccount !== value) { + if (config?.receivableAccount !== value && policyID) { updateNetSuiteReceivableAccount(policyID, value, config?.receivableAccount); } - Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); + Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); }, [policyID, config?.receivableAccount], ); @@ -65,7 +65,7 @@ function NetSuiteReceivableAccountSelectPage({policy}: WithPolicyConnectionsProp listItem={RadioListItem} onSelectRow={updateReceivableAccount} initiallyFocusedOptionKey={initiallyFocusedOptionKey} - onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))} + onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))} title="workspace.netsuite.exportInvoices" listEmptyContent={listEmptyContent} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteTaxPostingAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteTaxPostingAccountSelectPage.tsx index 943b376c8f42c..1434fbda0c942 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteTaxPostingAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteTaxPostingAccountSelectPage.tsx @@ -23,7 +23,7 @@ function NetSuiteTaxPostingAccountSelectPage({policy}: WithPolicyConnectionsProp const {translate} = useLocalize(); const {canUseNetSuiteUSATax} = usePermissions(); - const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; + const policyID = policy?.id; const config = policy?.connections?.netsuite?.options.config; const {subsidiaryList} = policy?.connections?.netsuite?.options?.data ?? {}; @@ -38,10 +38,10 @@ function NetSuiteTaxPostingAccountSelectPage({policy}: WithPolicyConnectionsProp const updateTaxAccount = useCallback( ({value}: SelectorType) => { - if (config?.taxPostingAccount !== value) { + if (config?.taxPostingAccount !== value && policyID) { updateNetSuiteTaxPostingAccount(policyID, value, config?.taxPostingAccount); } - Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); + Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); }, [policyID, config?.taxPostingAccount], ); @@ -70,7 +70,7 @@ function NetSuiteTaxPostingAccountSelectPage({policy}: WithPolicyConnectionsProp listItem={RadioListItem} onSelectRow={updateTaxAccount} initiallyFocusedOptionKey={initiallyFocusedOptionKey} - onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))} + onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))} title="workspace.netsuite.journalEntriesTaxPostingAccount" listEmptyContent={listEmptyContent} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} From 0d485c0f6c4347235fca4f2f0ab7d88cbf7a7d16 Mon Sep 17 00:00:00 2001 From: VH Date: Fri, 7 Feb 2025 15:12:46 +0700 Subject: [PATCH 09/13] Fix typecheck of Default value of netsuite payable account value --- src/CONST.ts | 2 ++ .../NetSuiteExportExpensesPayableAccountSelectPage.tsx | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/CONST.ts b/src/CONST.ts index 6cbd983b92253..20308e1119245 100755 --- a/src/CONST.ts +++ b/src/CONST.ts @@ -2092,6 +2092,8 @@ const CONST = { NETSUITE_APPROVAL_ACCOUNT_DEFAULT: 'APPROVAL_ACCOUNT_DEFAULT', + NETSUITE_PAYABLE_ACCOUNT_DEFAULT_VALUE: '', + /** * Countries where tax setting is permitted (Strings are in the format of Netsuite's Country type/enum) * diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx index d6c9494dbe62c..51d11c020a11a 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx @@ -31,7 +31,7 @@ function NetSuiteExportExpensesPayableAccountSelectPage({policy}: WithPolicyConn const config = policy?.connections?.netsuite?.options.config; const currentSettingName = isReimbursable ? CONST.NETSUITE_CONFIG.REIMBURSABLE_PAYABLE_ACCOUNT : CONST.NETSUITE_CONFIG.PAYABLE_ACCT; - const currentPayableAccountID = config?.[currentSettingName]; + const currentPayableAccountID = config?.[currentSettingName] ?? CONST.NETSUITE_PAYABLE_ACCOUNT_DEFAULT_VALUE; const netsuitePayableAccountOptions = useMemo(() => getNetSuitePayableAccountOptions(policy ?? undefined, currentPayableAccountID), [currentPayableAccountID, policy]); const initiallyFocusedOptionKey = useMemo(() => netsuitePayableAccountOptions?.find((mode) => mode.isSelected)?.keyForList, [netsuitePayableAccountOptions]); @@ -40,9 +40,9 @@ function NetSuiteExportExpensesPayableAccountSelectPage({policy}: WithPolicyConn ({value}: SelectorType) => { if (currentPayableAccountID !== value && policyID) { if (isReimbursable) { - updateNetSuiteReimbursablePayableAccount(policyID, value, currentPayableAccountID ?? `${CONST.DEFAULT_NUMBER_ID}`); + Connections.updateNetSuiteReimbursablePayableAccount(policyID, value, currentPayableAccountID); } else { - updateNetSuitePayableAcct(policyID, value, currentPayableAccountID ?? `${CONST.DEFAULT_NUMBER_ID}`); + Connections.updateNetSuitePayableAcct(policyID, value, currentPayableAccountID); } } Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType)); From 6668710c575b0342a389fa770dbf8ace3d61b271 Mon Sep 17 00:00:00 2001 From: VH Date: Fri, 7 Feb 2025 15:20:45 +0700 Subject: [PATCH 10/13] Fix wrong method call --- .../export/NetSuiteExportExpensesPayableAccountSelectPage.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx index 51d11c020a11a..5fae92bf8a4ae 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx @@ -40,9 +40,9 @@ function NetSuiteExportExpensesPayableAccountSelectPage({policy}: WithPolicyConn ({value}: SelectorType) => { if (currentPayableAccountID !== value && policyID) { if (isReimbursable) { - Connections.updateNetSuiteReimbursablePayableAccount(policyID, value, currentPayableAccountID); + updateNetSuiteReimbursablePayableAccount(policyID, value, currentPayableAccountID); } else { - Connections.updateNetSuitePayableAcct(policyID, value, currentPayableAccountID); + updateNetSuitePayableAcct(policyID, value, currentPayableAccountID); } } Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType)); From cb0f24fa05e4f24c02a37d94c8614da41613db57 Mon Sep 17 00:00:00 2001 From: VH Date: Tue, 25 Feb 2025 19:57:10 +0700 Subject: [PATCH 11/13] Revert change --- .../accounting/netsuite/advanced/NetSuiteAdvancedPage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteAdvancedPage.tsx b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteAdvancedPage.tsx index 2d171808029de..5d7df8b7a876f 100644 --- a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteAdvancedPage.tsx +++ b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteAdvancedPage.tsx @@ -44,7 +44,7 @@ import ROUTES from '@src/ROUTES'; function NetSuiteAdvancedPage({policy}: WithPolicyConnectionsProps) { const {translate} = useLocalize(); const styles = useThemeStyles(); - const policyID = policy?.id; + const policyID = policy?.id ?? `${CONST.DEFAULT_NUMBER_ID}`; const config = policy?.connections?.netsuite?.options?.config; const autoSyncConfig = policy?.connections?.netsuite?.config; From 4220c2c66b92e68a266b16d1e8af24f342b76787 Mon Sep 17 00:00:00 2001 From: VH Date: Tue, 25 Feb 2025 20:21:53 +0700 Subject: [PATCH 12/13] Handle undefined value in getRoute functions --- src/ROUTES.ts | 36 +++++++++++++++---- .../NetSuiteApprovalAccountSelectPage.tsx | 4 +-- .../NetSuiteCollectionAccountSelectPage.tsx | 4 +-- ...teExpenseReportApprovalLevelSelectPage.tsx | 4 +-- ...iteJournalEntryApprovalLevelSelectPage.tsx | 4 +-- ...NetSuiteReimbursementAccountSelectPage.tsx | 4 +-- ...SuiteVendorBillApprovalLevelSelectPage.tsx | 4 +-- .../export/NetSuiteDateSelectPage.tsx | 4 +-- ...iteExportExpensesDestinationSelectPage.tsx | 4 +-- ...nsesJournalPostingPreferenceSelectPage.tsx | 4 +-- ...ExportExpensesPayableAccountSelectPage.tsx | 4 +-- ...NetSuiteExportExpensesVendorSelectPage.tsx | 4 +-- ...etSuiteInvoiceItemPreferenceSelectPage.tsx | 4 +-- .../export/NetSuiteInvoiceItemSelectPage.tsx | 4 +-- .../NetSuitePreferredExporterSelectPage.tsx | 4 +-- ...eProvincialTaxPostingAccountSelectPage.tsx | 4 +-- .../NetSuiteReceivableAccountSelectPage.tsx | 4 +-- .../NetSuiteTaxPostingAccountSelectPage.tsx | 4 +-- 18 files changed, 64 insertions(+), 40 deletions(-) diff --git a/src/ROUTES.ts b/src/ROUTES.ts index e7d6990db8d5c..8d0366d04eba3 100644 --- a/src/ROUTES.ts +++ b/src/ROUTES.ts @@ -1881,7 +1881,12 @@ const ROUTES = { }, POLICY_ACCOUNTING_NETSUITE_EXPORT: { route: 'settings/workspaces/:policyID/connections/netsuite/export/', - getRoute: (policyID: string, backTo?: string) => getUrlWithBackToParam(`settings/workspaces/${policyID}/connections/netsuite/export/` as const, backTo, false), + getRoute: (policyID: string | undefined, backTo?: string) => { + if (!policyID) { + Log.warn('Invalid policyID is used to build the POLICY_ACCOUNTING_NETSUITE_EXPORT route'); + } + return getUrlWithBackToParam(`settings/workspaces/${policyID}/connections/netsuite/export/` as const, backTo, false); + }, }, POLICY_ACCOUNTING_NETSUITE_PREFERRED_EXPORTER_SELECT: { route: 'settings/workspaces/:policyID/connections/netsuite/export/preferred-exporter/select', @@ -1893,8 +1898,12 @@ const ROUTES = { }, POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES: { route: 'settings/workspaces/:policyID/connections/netsuite/export/expenses/:expenseType', - getRoute: (policyID: string, expenseType: ValueOf) => - `settings/workspaces/${policyID}/connections/netsuite/export/expenses/${expenseType as string}` as const, + getRoute: (policyID: string | undefined, expenseType: ValueOf) => { + if (!policyID) { + Log.warn('Invalid policyID is used to build the POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES route'); + } + return `settings/workspaces/${policyID}/connections/netsuite/export/expenses/${expenseType as string}` as const; + }, }, POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES_DESTINATION_SELECT: { route: 'settings/workspaces/:policyID/connections/netsuite/export/expenses/:expenseType/destination/select', @@ -1922,11 +1931,21 @@ const ROUTES = { }, POLICY_ACCOUNTING_NETSUITE_INVOICE_ITEM_PREFERENCE_SELECT: { route: 'settings/workspaces/:policyID/connections/netsuite/export/invoice-item-preference/select', - getRoute: (policyID: string) => `settings/workspaces/${policyID}/connections/netsuite/export/invoice-item-preference/select` as const, + getRoute: (policyID: string | undefined) => { + if (!policyID) { + Log.warn('Invalid policyID is used to build the POLICY_ACCOUNTING_NETSUITE_INVOICE_ITEM_PREFERENCE_SELECT route'); + } + return `settings/workspaces/${policyID}/connections/netsuite/export/invoice-item-preference/select` as const; + }, }, POLICY_ACCOUNTING_NETSUITE_INVOICE_ITEM_SELECT: { route: 'settings/workspaces/:policyID/connections/netsuite/export/invoice-item-preference/invoice-item/select', - getRoute: (policyID: string) => `settings/workspaces/${policyID}/connections/netsuite/export/invoice-item-preference/invoice-item/select` as const, + getRoute: (policyID: string | undefined) => { + if (!policyID) { + Log.warn('Invalid policyID is used to build the POLICY_ACCOUNTING_NETSUITE_INVOICE_ITEM_SELECT route'); + } + return `settings/workspaces/${policyID}/connections/netsuite/export/invoice-item-preference/invoice-item/select` as const; + }, }, POLICY_ACCOUNTING_NETSUITE_TAX_POSTING_ACCOUNT_SELECT: { route: 'settings/workspaces/:policyID/connections/netsuite/export/tax-posting-account/select', @@ -1938,7 +1957,12 @@ const ROUTES = { }, POLICY_ACCOUNTING_NETSUITE_ADVANCED: { route: 'settings/workspaces/:policyID/connections/netsuite/advanced/', - getRoute: (policyID: string) => `settings/workspaces/${policyID}/connections/netsuite/advanced/` as const, + getRoute: (policyID: string | undefined) => { + if (!policyID) { + Log.warn('Invalid policyID is used to build the POLICY_ACCOUNTING_NETSUITE_ADVANCED route'); + } + return `settings/workspaces/${policyID}/connections/netsuite/advanced/` as const; + }, }, POLICY_ACCOUNTING_NETSUITE_REIMBURSEMENT_ACCOUNT_SELECT: { route: 'settings/workspaces/:policyID/connections/netsuite/advanced/reimbursement-account/select', diff --git a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteApprovalAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteApprovalAccountSelectPage.tsx index ffefd0af8044f..6b5c4fa4b0cf5 100644 --- a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteApprovalAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteApprovalAccountSelectPage.tsx @@ -40,7 +40,7 @@ function NetSuiteApprovalAccountSelectPage({policy}: WithPolicyConnectionsProps) if (config?.approvalAccount !== value && policyID) { updateNetSuiteApprovalAccount(policyID, value, config?.approvalAccount ?? CONST.NETSUITE_APPROVAL_ACCOUNT_DEFAULT); } - Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); + Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); }, [policyID, config?.approvalAccount], ); @@ -79,7 +79,7 @@ function NetSuiteApprovalAccountSelectPage({policy}: WithPolicyConnectionsProps) listItem={RadioListItem} onSelectRow={updateCollectionAccount} initiallyFocusedOptionKey={initiallyFocusedOptionKey} - onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID))} + onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID))} title="workspace.netsuite.advancedConfig.approvalAccount" listEmptyContent={listEmptyContent} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} diff --git a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteCollectionAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteCollectionAccountSelectPage.tsx index 776eecfbb0a1c..c30cc207d6a8b 100644 --- a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteCollectionAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteCollectionAccountSelectPage.tsx @@ -38,7 +38,7 @@ function NetSuiteCollectionAccountSelectPage({policy}: WithPolicyConnectionsProp if (config?.collectionAccount !== value && policyID) { updateNetSuiteCollectionAccount(policyID, value, config?.collectionAccount); } - Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); + Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); }, [policyID, config?.collectionAccount], ); @@ -77,7 +77,7 @@ function NetSuiteCollectionAccountSelectPage({policy}: WithPolicyConnectionsProp listItem={RadioListItem} onSelectRow={updateCollectionAccount} initiallyFocusedOptionKey={initiallyFocusedOptionKey} - onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID))} + onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID))} title="workspace.netsuite.advancedConfig.collectionsAccount" listEmptyContent={listEmptyContent} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} diff --git a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteExpenseReportApprovalLevelSelectPage.tsx b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteExpenseReportApprovalLevelSelectPage.tsx index b32f8cf124a34..89657df8fb81e 100644 --- a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteExpenseReportApprovalLevelSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteExpenseReportApprovalLevelSelectPage.tsx @@ -48,7 +48,7 @@ function NetSuiteExpenseReportApprovalLevelSelectPage({policy}: WithPolicyConnec if (row.value !== config?.syncOptions.exportReportsTo && policyID) { updateNetSuiteExportReportsTo(policyID, row.value, config?.syncOptions.exportReportsTo ?? CONST.NETSUITE_REPORTS_APPROVAL_LEVEL.REPORTS_APPROVED_NONE); } - Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); + Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); }, [config?.syncOptions.exportReportsTo, policyID], ); @@ -65,7 +65,7 @@ function NetSuiteExpenseReportApprovalLevelSelectPage({policy}: WithPolicyConnec policyID={policyID} accessVariants={[CONST.POLICY.ACCESS_VARIANTS.ADMIN]} featureName={CONST.POLICY.MORE_FEATURES.ARE_CONNECTIONS_ENABLED} - onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID))} + onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID))} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} shouldBeBlocked={config?.reimbursableExpensesExportDestination !== CONST.NETSUITE_EXPORT_DESTINATION.EXPENSE_REPORT} pendingAction={settingsPendingAction([CONST.NETSUITE_CONFIG.SYNC_OPTIONS.EXPORT_REPORTS_TO], config?.pendingFields)} diff --git a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteJournalEntryApprovalLevelSelectPage.tsx b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteJournalEntryApprovalLevelSelectPage.tsx index d2619aa5aa6b0..deed3a4a86844 100644 --- a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteJournalEntryApprovalLevelSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteJournalEntryApprovalLevelSelectPage.tsx @@ -48,7 +48,7 @@ function NetSuiteJournalEntryApprovalLevelSelectPage({policy}: WithPolicyConnect if (row.value !== config?.syncOptions.exportJournalsTo && policyID) { updateNetSuiteExportJournalsTo(policyID, row.value, config?.syncOptions.exportJournalsTo ?? CONST.NETSUITE_JOURNALS_APPROVAL_LEVEL.JOURNALS_APPROVED_NONE); } - Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); + Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); }, [config?.syncOptions.exportJournalsTo, policyID], ); @@ -65,7 +65,7 @@ function NetSuiteJournalEntryApprovalLevelSelectPage({policy}: WithPolicyConnect policyID={policyID} accessVariants={[CONST.POLICY.ACCESS_VARIANTS.ADMIN]} featureName={CONST.POLICY.MORE_FEATURES.ARE_CONNECTIONS_ENABLED} - onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID))} + onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID))} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} shouldBeBlocked={ config?.reimbursableExpensesExportDestination !== CONST.NETSUITE_EXPORT_DESTINATION.JOURNAL_ENTRY && diff --git a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteReimbursementAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteReimbursementAccountSelectPage.tsx index fcd8a57ec1f8a..f3bd0bb568b59 100644 --- a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteReimbursementAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteReimbursementAccountSelectPage.tsx @@ -38,7 +38,7 @@ function NetSuiteReimbursementAccountSelectPage({policy}: WithPolicyConnectionsP if (config?.reimbursementAccountID !== value && policyID) { updateNetSuiteReimbursementAccountID(policyID, value, config?.reimbursementAccountID); } - Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); + Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); }, [policyID, config?.reimbursementAccountID], ); @@ -77,7 +77,7 @@ function NetSuiteReimbursementAccountSelectPage({policy}: WithPolicyConnectionsP listItem={RadioListItem} onSelectRow={updateReimbursementAccount} initiallyFocusedOptionKey={initiallyFocusedOptionKey} - onBackButtonPress={() => policyID && Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID))} + onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID))} title="workspace.netsuite.advancedConfig.reimbursementsAccount" listEmptyContent={listEmptyContent} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} diff --git a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteVendorBillApprovalLevelSelectPage.tsx b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteVendorBillApprovalLevelSelectPage.tsx index 522b3ce24554b..7eec35af5c3bb 100644 --- a/src/pages/workspace/accounting/netsuite/advanced/NetSuiteVendorBillApprovalLevelSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/advanced/NetSuiteVendorBillApprovalLevelSelectPage.tsx @@ -48,7 +48,7 @@ function NetSuiteVendorBillApprovalLevelSelectPage({policy}: WithPolicyConnectio if (row.value !== config?.syncOptions.exportVendorBillsTo && policyID) { updateNetSuiteExportVendorBillsTo(policyID, row.value, config?.syncOptions.exportVendorBillsTo ?? CONST.NETSUITE_VENDOR_BILLS_APPROVAL_LEVEL.VENDOR_BILLS_APPROVED_NONE); } - Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); + Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID)); }, [config?.syncOptions.exportVendorBillsTo, policyID], ); @@ -65,7 +65,7 @@ function NetSuiteVendorBillApprovalLevelSelectPage({policy}: WithPolicyConnectio policyID={policyID} accessVariants={[CONST.POLICY.ACCESS_VARIANTS.ADMIN]} featureName={CONST.POLICY.MORE_FEATURES.ARE_CONNECTIONS_ENABLED} - onBackButtonPress={() => policyID && Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID))} + onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_ADVANCED.getRoute(policyID))} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} shouldBeBlocked={ config?.reimbursableExpensesExportDestination !== CONST.NETSUITE_EXPORT_DESTINATION.VENDOR_BILL && diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteDateSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteDateSelectPage.tsx index 66a209256751f..94f01ac5086fd 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteDateSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteDateSelectPage.tsx @@ -50,7 +50,7 @@ function NetSuiteDateSelectPage({policy}: WithPolicyConnectionsProps) { if (row.value !== config?.exportDate && policyID) { updateNetSuiteExportDate(policyID, row.value, config?.exportDate); } - Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); + Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); }, [config?.exportDate, policyID], ); @@ -67,7 +67,7 @@ function NetSuiteDateSelectPage({policy}: WithPolicyConnectionsProps) { policyID={policyID} accessVariants={[CONST.POLICY.ACCESS_VARIANTS.ADMIN]} featureName={CONST.POLICY.MORE_FEATURES.ARE_CONNECTIONS_ENABLED} - onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))} + onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} pendingAction={settingsPendingAction([CONST.NETSUITE_CONFIG.EXPORT_DATE], config?.pendingFields)} errors={getLatestErrorField(config, CONST.NETSUITE_CONFIG.EXPORT_DATE)} diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesDestinationSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesDestinationSelectPage.tsx index e3c9f869e9ae9..e8ee20d81e24c 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesDestinationSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesDestinationSelectPage.tsx @@ -52,7 +52,7 @@ function NetSuiteExportExpensesDestinationSelectPage({policy}: WithPolicyConnect updateNetSuiteNonReimbursableExpensesExportDestination(policyID, row.value, currentDestination ?? CONST.NETSUITE_EXPORT_DESTINATION.VENDOR_BILL); } } - Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType)); + Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType)); }, [currentDestination, isReimbursable, params.expenseType, policyID], ); @@ -68,7 +68,7 @@ function NetSuiteExportExpensesDestinationSelectPage({policy}: WithPolicyConnect policyID={policyID} accessVariants={[CONST.POLICY.ACCESS_VARIANTS.ADMIN]} featureName={CONST.POLICY.MORE_FEATURES.ARE_CONNECTIONS_ENABLED} - onBackButtonPress={() => policyID && Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType))} + onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType))} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} pendingAction={settingsPendingAction([currentSettingName], config?.pendingFields)} errors={getLatestErrorField(config, currentSettingName)} diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesJournalPostingPreferenceSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesJournalPostingPreferenceSelectPage.tsx index 2f12f4a2bc682..b356de783d720 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesJournalPostingPreferenceSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesJournalPostingPreferenceSelectPage.tsx @@ -48,7 +48,7 @@ function NetSuiteExportExpensesJournalPostingPreferenceSelectPage({policy}: With if (row.value !== config?.journalPostingPreference && policyID) { updateNetSuiteJournalPostingPreference(policyID, row.value, config?.journalPostingPreference); } - Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType)); + Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType)); }, [config?.journalPostingPreference, params.expenseType, policyID], ); @@ -64,7 +64,7 @@ function NetSuiteExportExpensesJournalPostingPreferenceSelectPage({policy}: With policyID={policyID} accessVariants={[CONST.POLICY.ACCESS_VARIANTS.ADMIN]} featureName={CONST.POLICY.MORE_FEATURES.ARE_CONNECTIONS_ENABLED} - onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType))} + onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType))} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} shouldBeBlocked={ isReimbursable diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx index 5fae92bf8a4ae..7b4ab2a9f6911 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx @@ -45,7 +45,7 @@ function NetSuiteExportExpensesPayableAccountSelectPage({policy}: WithPolicyConn updateNetSuitePayableAcct(policyID, value, currentPayableAccountID); } } - Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType)); + Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType)); }, [currentPayableAccountID, policyID, params.expenseType, isReimbursable], ); @@ -74,7 +74,7 @@ function NetSuiteExportExpensesPayableAccountSelectPage({policy}: WithPolicyConn listItem={RadioListItem} onSelectRow={updatePayableAccount} initiallyFocusedOptionKey={initiallyFocusedOptionKey} - onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType))} + onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType))} title={isReimbursable ? 'workspace.netsuite.reimbursableJournalPostingAccount' : 'workspace.netsuite.nonReimbursableJournalPostingAccount'} listEmptyContent={listEmptyContent} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesVendorSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesVendorSelectPage.tsx index c7a09a2e5adef..8fea67a080ce8 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesVendorSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesVendorSelectPage.tsx @@ -39,7 +39,7 @@ function NetSuiteExportExpensesVendorSelectPage({policy}: WithPolicyConnectionsP if (config?.defaultVendor !== value && policyID) { updateNetSuiteDefaultVendor(policyID, value, config?.defaultVendor); } - Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType)); + Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType)); }, [config?.defaultVendor, policyID, params.expenseType], ); @@ -68,7 +68,7 @@ function NetSuiteExportExpensesVendorSelectPage({policy}: WithPolicyConnectionsP listItem={RadioListItem} onSelectRow={updateDefaultVendor} initiallyFocusedOptionKey={initiallyFocusedOptionKey} - onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType))} + onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType))} title="workspace.accounting.defaultVendor" listEmptyContent={listEmptyContent} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemPreferenceSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemPreferenceSelectPage.tsx index 56f7f1f35d129..83ddca9ef0f1b 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemPreferenceSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemPreferenceSelectPage.tsx @@ -48,7 +48,7 @@ function NetSuiteInvoiceItemPreferenceSelectPage({policy}: WithPolicyConnections updateNetSuiteInvoiceItemPreference(policyID, row.value, config?.invoiceItemPreference); } if (row.value === CONST.NETSUITE_INVOICE_ITEM_PREFERENCE.CREATE) { - Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); + Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); } }, [config?.invoiceItemPreference, policyID], @@ -97,7 +97,7 @@ function NetSuiteInvoiceItemPreferenceSelectPage({policy}: WithPolicyConnections title={selectedItem ? selectedItem.name : undefined} interactive shouldShowRightIcon - onPress={() => Navigation.navigate(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_INVOICE_ITEM_SELECT.getRoute(policyID))} + onPress={() => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_NETSUITE_INVOICE_ITEM_SELECT.getRoute(policyID))} brickRoadIndicator={areSettingsInErrorFields([CONST.NETSUITE_CONFIG.INVOICE_ITEM], config?.errorFields) ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined} /> diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemSelectPage.tsx index 667690f9e9b50..cfa04f5ad81e2 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemSelectPage.tsx @@ -33,7 +33,7 @@ function NetSuiteInvoiceItemSelectPage({policy}: WithPolicyConnectionsProps) { if (config?.invoiceItem !== value && policyID) { updateNetSuiteInvoiceItem(policyID, value, config?.invoiceItem); } - Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_INVOICE_ITEM_PREFERENCE_SELECT.getRoute(policyID)); + Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_INVOICE_ITEM_PREFERENCE_SELECT.getRoute(policyID)); }, [policyID, config?.invoiceItem], ); @@ -62,7 +62,7 @@ function NetSuiteInvoiceItemSelectPage({policy}: WithPolicyConnectionsProps) { listItem={RadioListItem} onSelectRow={updateInvoiceItem} initiallyFocusedOptionKey={initiallyFocusedOptionKey} - onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_INVOICE_ITEM_PREFERENCE_SELECT.getRoute(policyID))} + onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_INVOICE_ITEM_PREFERENCE_SELECT.getRoute(policyID))} title="workspace.netsuite.invoiceItem.label" listEmptyContent={listEmptyContent} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuitePreferredExporterSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuitePreferredExporterSelectPage.tsx index 9e20687aae042..6900bf9104dee 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuitePreferredExporterSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuitePreferredExporterSelectPage.tsx @@ -68,7 +68,7 @@ function NetSuitePreferredExporterSelectPage({policy}: WithPolicyConnectionsProp if (row.value !== config?.exporter && policyID) { updateNetSuiteExporter(policyID, row.value, config?.exporter ?? ''); } - Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); + Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); }, [config?.exporter, policyID], ); @@ -94,7 +94,7 @@ function NetSuitePreferredExporterSelectPage({policy}: WithPolicyConnectionsProp headerContent={headerContent} onSelectRow={selectExporter} initiallyFocusedOptionKey={data.find((mode) => mode.isSelected)?.keyForList} - onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))} + onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))} title="workspace.accounting.preferredExporter" connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} pendingAction={settingsPendingAction([CONST.NETSUITE_CONFIG.EXPORTER], config?.pendingFields)} diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteProvincialTaxPostingAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteProvincialTaxPostingAccountSelectPage.tsx index 3319119dad8f7..3712f56ea63e3 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteProvincialTaxPostingAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteProvincialTaxPostingAccountSelectPage.tsx @@ -39,7 +39,7 @@ function NetSuiteProvincialTaxPostingAccountSelectPage({policy}: WithPolicyConne if (config?.provincialTaxPostingAccount !== value && policyID) { updateNetSuiteProvincialTaxPostingAccount(policyID, value, config?.provincialTaxPostingAccount); } - Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); + Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); }, [policyID, config?.provincialTaxPostingAccount], ); @@ -68,7 +68,7 @@ function NetSuiteProvincialTaxPostingAccountSelectPage({policy}: WithPolicyConne listItem={RadioListItem} onSelectRow={updateTaxAccount} initiallyFocusedOptionKey={initiallyFocusedOptionKey} - onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))} + onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))} title="workspace.netsuite.journalEntriesProvTaxPostingAccount" listEmptyContent={listEmptyContent} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteReceivableAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteReceivableAccountSelectPage.tsx index d45ef49a6d9fa..3766c326fabb5 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteReceivableAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteReceivableAccountSelectPage.tsx @@ -36,7 +36,7 @@ function NetSuiteReceivableAccountSelectPage({policy}: WithPolicyConnectionsProp if (config?.receivableAccount !== value && policyID) { updateNetSuiteReceivableAccount(policyID, value, config?.receivableAccount); } - Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); + Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); }, [policyID, config?.receivableAccount], ); @@ -65,7 +65,7 @@ function NetSuiteReceivableAccountSelectPage({policy}: WithPolicyConnectionsProp listItem={RadioListItem} onSelectRow={updateReceivableAccount} initiallyFocusedOptionKey={initiallyFocusedOptionKey} - onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))} + onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))} title="workspace.netsuite.exportInvoices" listEmptyContent={listEmptyContent} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteTaxPostingAccountSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteTaxPostingAccountSelectPage.tsx index 1434fbda0c942..a7d4801c1b732 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteTaxPostingAccountSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteTaxPostingAccountSelectPage.tsx @@ -41,7 +41,7 @@ function NetSuiteTaxPostingAccountSelectPage({policy}: WithPolicyConnectionsProp if (config?.taxPostingAccount !== value && policyID) { updateNetSuiteTaxPostingAccount(policyID, value, config?.taxPostingAccount); } - Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); + Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID)); }, [policyID, config?.taxPostingAccount], ); @@ -70,7 +70,7 @@ function NetSuiteTaxPostingAccountSelectPage({policy}: WithPolicyConnectionsProp listItem={RadioListItem} onSelectRow={updateTaxAccount} initiallyFocusedOptionKey={initiallyFocusedOptionKey} - onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))} + onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))} title="workspace.netsuite.journalEntriesTaxPostingAccount" listEmptyContent={listEmptyContent} connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE} From c711462267827ff13d730b0595b4cacdb56c5878 Mon Sep 17 00:00:00 2001 From: VH Date: Tue, 25 Feb 2025 21:24:16 +0700 Subject: [PATCH 13/13] Revert change --- .../netsuite/export/NetSuiteInvoiceItemPreferenceSelectPage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemPreferenceSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemPreferenceSelectPage.tsx index 83ddca9ef0f1b..bf2f1487fcd82 100644 --- a/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemPreferenceSelectPage.tsx +++ b/src/pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemPreferenceSelectPage.tsx @@ -59,7 +59,7 @@ function NetSuiteInvoiceItemPreferenceSelectPage({policy}: WithPolicyConnections headerTitle="workspace.netsuite.invoiceItem.label" title={`workspace.netsuite.invoiceItem.values.${config?.invoiceItemPreference ?? CONST.NETSUITE_INVOICE_ITEM_PREFERENCE.CREATE}.description`} titleStyle={[styles.ph5, styles.pb5]} - onBackButtonPress={() => Navigation.goBack(policyID && ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))} + onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))} accessVariants={[CONST.POLICY.ACCESS_VARIANTS.ADMIN]} featureName={CONST.POLICY.MORE_FEATURES.ARE_CONNECTIONS_ENABLED} displayName={NetSuiteInvoiceItemPreferenceSelectPage.displayName}