@@ -9,13 +9,12 @@ import OfflineWithFeedback from '@components/OfflineWithFeedback';
99import useLocalize from '@hooks/useLocalize' ;
1010import useThemeStyles from '@hooks/useThemeStyles' ;
1111import { updateNetSuiteCustomLists , updateNetSuiteCustomSegments } from '@libs/actions/connections/NetSuiteCommands' ;
12- import * as ErrorUtils from '@libs/ErrorUtils' ;
12+ import { clearNetSuiteErrorField , clearNetSuitePendingField , removeNetSuiteCustomFieldByIndex } from '@libs/actions/Policy/Policy' ;
13+ import { getLatestErrorField } from '@libs/ErrorUtils' ;
1314import Navigation from '@libs/Navigation/Navigation' ;
14- import * as PolicyUtils from '@libs/PolicyUtils' ;
15- import { settingsPendingAction } from '@libs/PolicyUtils' ;
15+ import { getNameFromNetSuiteCustomField , isNetSuiteCustomFieldPropertyEditable , isNetSuiteCustomSegmentRecord , settingsPendingAction } from '@libs/PolicyUtils' ;
1616import withPolicyConnections from '@pages/workspace/withPolicyConnections' ;
1717import type { WithPolicyConnectionsProps } from '@pages/workspace/withPolicyConnections' ;
18- import * as Policy from '@userActions/Policy/Policy' ;
1918import CONST from '@src/CONST' ;
2019import type { TranslationPaths } from '@src/languages/types' ;
2120import ROUTES from '@src/ROUTES' ;
@@ -43,7 +42,7 @@ function NetSuiteImportCustomFieldView({
4342 params : { importCustomField, valueIndex} ,
4443 } ,
4544} : NetSuiteImportCustomFieldViewProps ) {
46- const policyID = policy ?. id ?? '-1' ;
45+ const policyID = policy ?. id ;
4746 const styles = useThemeStyles ( ) ;
4847 const { translate} = useLocalize ( ) ;
4948 const [ isRemoveModalOpen , setIsRemoveModalOpen ] = useState < boolean > ( false ) ;
@@ -53,16 +52,17 @@ function NetSuiteImportCustomFieldView({
5352
5453 const customField : CustomField | undefined = allRecords [ valueIndex ] ;
5554 const fieldList =
56- customField && PolicyUtils . isNetSuiteCustomSegmentRecord ( customField )
57- ? CONST . NETSUITE_CONFIG . CUSTOM_SEGMENT_FIELDS
58- : [ INPUT_IDS . LIST_NAME , INPUT_IDS . TRANSACTION_FIELD_ID , INPUT_IDS . MAPPING ] ;
55+ customField && isNetSuiteCustomSegmentRecord ( customField ) ? CONST . NETSUITE_CONFIG . CUSTOM_SEGMENT_FIELDS : [ INPUT_IDS . LIST_NAME , INPUT_IDS . TRANSACTION_FIELD_ID , INPUT_IDS . MAPPING ] ;
5956
6057 const removeRecord = useCallback ( ( ) => {
58+ if ( ! policyID ) {
59+ return ;
60+ }
6161 if ( customField ) {
6262 // We allow multiple custom list records with the same internalID. Hence it is safe to remove by index.
6363 const filteredRecords = allRecords . filter ( ( _ , index ) => index !== Number ( valueIndex ) ) ;
6464
65- if ( PolicyUtils . isNetSuiteCustomSegmentRecord ( customField ) ) {
65+ if ( isNetSuiteCustomSegmentRecord ( customField ) ) {
6666 updateNetSuiteCustomSegments (
6767 policyID ,
6868 filteredRecords as NetSuiteCustomSegment [ ] ,
@@ -86,7 +86,7 @@ function NetSuiteImportCustomFieldView({
8686 return (
8787 < ConnectionLayout
8888 displayName = { NetSuiteImportCustomFieldView . displayName }
89- headerTitleAlreadyTranslated = { customField ? PolicyUtils . getNameFromNetSuiteCustomField ( customField ) : '' }
89+ headerTitleAlreadyTranslated = { customField ? getNameFromNetSuiteCustomField ( customField ) : '' }
9090 accessVariants = { [ CONST . POLICY . ACCESS_VARIANTS . ADMIN , CONST . POLICY . ACCESS_VARIANTS . CONTROL ] }
9191 policyID = { policyID }
9292 featureName = { CONST . POLICY . MORE_FEATURES . ARE_CONNECTIONS_ENABLED }
@@ -98,21 +98,24 @@ function NetSuiteImportCustomFieldView({
9898 >
9999 { ! ! customField && (
100100 < OfflineWithFeedback
101- errors = { ErrorUtils . getLatestErrorField ( config ?? { } , `${ importCustomField } _${ valueIndex } ` ) }
101+ errors = { getLatestErrorField ( config ?? { } , `${ importCustomField } _${ valueIndex } ` ) }
102102 errorRowStyles = { [ styles . ph5 , styles . pv3 ] }
103103 pendingAction = { settingsPendingAction ( [ `${ importCustomField } _${ valueIndex } ` ] , config ?. pendingFields ) }
104104 onClose = { ( ) => {
105- Policy . clearNetSuiteErrorField ( policyID , `${ importCustomField } _${ valueIndex } ` ) ;
105+ if ( ! policyID ) {
106+ return ;
107+ }
108+ clearNetSuiteErrorField ( policyID , `${ importCustomField } _${ valueIndex } ` ) ;
106109 const pendingAction = settingsPendingAction ( [ `${ importCustomField } _${ valueIndex } ` ] , config ?. pendingFields ) ;
107110 if ( pendingAction === CONST . RED_BRICK_ROAD_PENDING_ACTION . ADD ) {
108- Policy . removeNetSuiteCustomFieldByIndex ( allRecords , policyID , importCustomField , valueIndex ) ;
111+ removeNetSuiteCustomFieldByIndex ( allRecords , policyID , importCustomField , valueIndex ) ;
109112 Navigation . goBack ( ) ;
110113 }
111- Policy . clearNetSuitePendingField ( policyID , `${ importCustomField } _${ valueIndex } ` ) ;
114+ clearNetSuitePendingField ( policyID , `${ importCustomField } _${ valueIndex } ` ) ;
112115 } }
113116 >
114117 { fieldList . map ( ( fieldName ) => {
115- const isEditable = ! config ?. pendingFields ?. [ importCustomField ] && PolicyUtils . isNetSuiteCustomFieldPropertyEditable ( customField , fieldName ) ;
118+ const isEditable = ! config ?. pendingFields ?. [ importCustomField ] && isNetSuiteCustomFieldPropertyEditable ( customField , fieldName ) ;
116119 return (
117120 < MenuItemWithTopDescription
118121 key = { fieldName }
0 commit comments