diff --git a/src/app/core/models/qbo/qbo-configuration/qbo-import-setting.model.ts b/src/app/core/models/qbo/qbo-configuration/qbo-import-setting.model.ts index a1aff99bf..97b7bf108 100644 --- a/src/app/core/models/qbo/qbo-configuration/qbo-import-setting.model.ts +++ b/src/app/core/models/qbo/qbo-configuration/qbo-import-setting.model.ts @@ -10,7 +10,7 @@ export type QBOImportSettingWorkspaceGeneralSetting = { import_vendors_as_merchants: boolean, charts_of_accounts: string[], import_tax_codes: boolean, - import_code_fields?: string[] + import_code_fields: string[] } export type QBOImportSettingGeneralMapping = { @@ -54,8 +54,7 @@ export class QBOImportSettingModel extends ImportSettingsModel { defaultTaxCode: new FormControl(importSettings?.general_mappings?.default_tax_code?.id ? importSettings.general_mappings.default_tax_code : null), searchOption: new FormControl(''), importCodeFields: new FormControl( importSettings?.workspace_general_settings?.import_code_fields ? importSettings.workspace_general_settings.import_code_fields : null), - // ImportCategoryCode: new FormControl(this.getImportCodeField(importCode, 'ACCOUNT', qboImportCodeFieldCodeConfig)) - importCategoryCode: new FormControl(null) + importCategoryCode: new FormControl(this.getImportCodeField(importCode, 'ACCOUNT', qboImportCodeFieldCodeConfig)) }); } @@ -70,8 +69,8 @@ export class QBOImportSettingModel extends ImportSettingsModel { import_items: importSettingsForm.get('importItems')?.value, charts_of_accounts: importSettingsForm.get('chartOfAccountTypes')?.value, import_tax_codes: importSettingsForm.get('taxCode')?.value, - import_vendors_as_merchants: importSettingsForm.get('importVendorsAsMerchants')?.value - // Import_code_fields: importSettingsForm.get('importCodeFields')?.value + import_vendors_as_merchants: importSettingsForm.get('importVendorsAsMerchants')?.value, + import_code_fields: importSettingsForm.get('importCodeFields')?.value }, mapping_settings: mappingSettings, general_mappings: { diff --git a/src/app/core/services/common/mapping.service.ts b/src/app/core/services/common/mapping.service.ts index 5eb2ddef5..3288a0e40 100644 --- a/src/app/core/services/common/mapping.service.ts +++ b/src/app/core/services/common/mapping.service.ts @@ -180,7 +180,7 @@ export class MappingService { }; if (value) { - if (appName && ([AppName.SAGE300] as string[]).includes(appName)) { + if (appName && ([AppName.SAGE300, AppName.QBO] as string[]).includes(appName)) { params.value = value; } else { params.value__icontains = value; diff --git a/src/app/integrations/qbo/qbo-main/qbo-mapping/qbo-base-mapping/qbo-base-mapping.component.html b/src/app/integrations/qbo/qbo-main/qbo-mapping/qbo-base-mapping/qbo-base-mapping.component.html index 3f96e4bb3..216b0bdb2 100644 --- a/src/app/integrations/qbo/qbo-main/qbo-mapping/qbo-base-mapping/qbo-base-mapping.component.html +++ b/src/app/integrations/qbo/qbo-main/qbo-mapping/qbo-base-mapping/qbo-base-mapping.component.html @@ -8,5 +8,6 @@ [appName]="AppName.QBO" [isCategoryMappingGeneric]="sourceField === FyleField.CATEGORY ? true : false" [displayName]="displayName" + [isMultiLineOption]="sourceField === FyleField.CATEGORY && brandingConfig.brandId !== 'co' ? true : false" (triggerAutoMapEmployee)="triggerAutoMapEmployees()"> diff --git a/src/app/integrations/qbo/qbo-main/qbo-mapping/qbo-base-mapping/qbo-base-mapping.component.ts b/src/app/integrations/qbo/qbo-main/qbo-mapping/qbo-base-mapping/qbo-base-mapping.component.ts index d74f4e698..b9a067332 100644 --- a/src/app/integrations/qbo/qbo-main/qbo-mapping/qbo-base-mapping/qbo-base-mapping.component.ts +++ b/src/app/integrations/qbo/qbo-main/qbo-mapping/qbo-base-mapping/qbo-base-mapping.component.ts @@ -87,7 +87,7 @@ export class QboBaseMappingComponent implements OnInit { this.destinationField = this.getDestinationField(responses[0], responses[1].results); - // This.isMultiLineOption = responses[2].workspace_general_settings.import_code_fields?.includes(this.destinationField); + this.isMultiLineOption = responses[2].workspace_general_settings.import_code_fields?.includes(this.destinationField); if (this.destinationField === AccountingField.ACCOUNT) { this.displayName = responses[0].import_items ? `${AccountingDisplayName.ITEM},${AccountingDisplayName.ACCOUNT}` : AccountingDisplayName.ACCOUNT; diff --git a/src/app/integrations/qbo/qbo-onboarding/qbo-clone-settings/qbo-clone-settings.component.html b/src/app/integrations/qbo/qbo-onboarding/qbo-clone-settings/qbo-clone-settings.component.html index 4ad329515..349c78d3c 100644 --- a/src/app/integrations/qbo/qbo-onboarding/qbo-clone-settings/qbo-clone-settings.component.html +++ b/src/app/integrations/qbo/qbo-onboarding/qbo-clone-settings/qbo-clone-settings.component.html @@ -311,7 +311,7 @@ [tooltipText]="'By default expense will be selected. Open the dropdown to select more as per your requirements'"> - +
diff --git a/src/app/integrations/qbo/qbo-onboarding/qbo-clone-settings/qbo-clone-settings.component.ts b/src/app/integrations/qbo/qbo-onboarding/qbo-clone-settings/qbo-clone-settings.component.ts index 5fb3fc039..c4d04a051 100644 --- a/src/app/integrations/qbo/qbo-onboarding/qbo-clone-settings/qbo-clone-settings.component.ts +++ b/src/app/integrations/qbo/qbo-onboarding/qbo-clone-settings/qbo-clone-settings.component.ts @@ -359,11 +359,10 @@ export class QboCloneSettingsComponent implements OnInit { if (!isImportCategoriesEnabled) { this.importSettingForm.controls.chartOfAccountTypes.setValue(['Expense']); this.importSettingForm.controls.importCategoryCode.clearValidators(); - // This.importSettingForm.controls.importCategoryCode.setValue(ImportSettingsModel.getImportCodeField(this.cloneSetting.import_settings.workspace_general_settings.import_code_fields, DefaultImportFields.ACCOUNT, this.cloneQboImportCodeFieldCodeConfig)); + this.importSettingForm.controls.importCategoryCode.setValue(ImportSettingsModel.getImportCodeField(this.cloneSetting.import_settings.workspace_general_settings.import_code_fields, DefaultImportFields.ACCOUNT, this.cloneQboImportCodeFieldCodeConfig)); + } if (isImportCategoriesEnabled) { + this.helperService.markControllerAsRequired(this.importSettingForm, 'importCategoryCode'); } - // If (isImportCategoriesEnabled) { - // This.helperService.markControllerAsRequired(this.importSettingForm, 'importCategoryCode'); - // } }); } @@ -434,14 +433,14 @@ export class QboCloneSettingsComponent implements OnInit { this.mappingService.getFyleFields('v1'), this.qboConnectorService.getQBOCredentials(), this.configurationService.getAdditionalEmails(), - this.qboImportSettingsService.getQBOFields() - // This.qboImportSettingsService.getImportCodeFieldConfig() - ]).subscribe(([cloneSetting, destinationAttributes, fyleFieldsResponse, qboCredentials, adminEmails, qboFields]) => { + this.qboImportSettingsService.getQBOFields(), + this.qboImportSettingsService.getImportCodeFieldConfig() + ]).subscribe(([cloneSetting, destinationAttributes, fyleFieldsResponse, qboCredentials, adminEmails, qboFields, qboImportCodeFieldCodeConfig]) => { const workspaceId = +this.workspaceService.getWorkspaceId(); this.workspaceService.setWorkspaceId(cloneSetting.workspace_id); - // This.qboImportSettingsService.getImportCodeFieldConfig().subscribe((cloneQboImportCodeFieldCodeConfig) => { + this.qboImportSettingsService.getImportCodeFieldConfig().subscribe((cloneQboImportCodeFieldCodeConfig) => { this.cloneSetting = cloneSetting; this.workspaceService.setWorkspaceId(workspaceId); @@ -488,8 +487,8 @@ export class QboCloneSettingsComponent implements OnInit { if (qboCredentials && qboCredentials.country !== 'US') { this.isTaxGroupSyncAllowed = true; } - // This.qboImportCodeFieldCodeConfig = qboImportCodeFieldCodeConfig; - // This.cloneQboImportCodeFieldCodeConfig = cloneQboImportCodeFieldCodeConfig; + this.qboImportCodeFieldCodeConfig = qboImportCodeFieldCodeConfig; + this.cloneQboImportCodeFieldCodeConfig = cloneQboImportCodeFieldCodeConfig; this.importSettingForm = QBOImportSettingModel.mapAPIResponseToFormGroup(cloneSetting.import_settings, this.qboFields, this.cloneQboImportCodeFieldCodeConfig); this.fyleFields = fyleFieldsResponse; this.fyleFields.push({ attribute_type: 'custom_field', display_name: 'Create a Custom Field', is_dependent: false }); @@ -508,7 +507,7 @@ export class QboCloneSettingsComponent implements OnInit { this.setupAdvancedSettingFormWatcher(); this.isLoading = false; - // }); + }); }); } diff --git a/src/app/integrations/qbo/qbo-shared/qbo-export-settings/qbo-export-settings.component.ts b/src/app/integrations/qbo/qbo-shared/qbo-export-settings/qbo-export-settings.component.ts index afdcc655f..a91eecc1e 100644 --- a/src/app/integrations/qbo/qbo-shared/qbo-export-settings/qbo-export-settings.component.ts +++ b/src/app/integrations/qbo/qbo-shared/qbo-export-settings/qbo-export-settings.component.ts @@ -450,7 +450,7 @@ export class QboExportSettingsComponent implements OnInit { this.helperService.setOrClearValidators(this.exportSettings.workspace_general_settings.corporate_credit_card_expenses_object, exportSettingValidatorRule.creditCardExpense, this.exportSettingForm); } - // This.isMultilineOption = brandingConfig.brandId !== 'co' ? true : false; + this.isMultilineOption = brandingConfig.brandId !== 'co' ? true : false; this.setupCustomWatchers(); diff --git a/src/app/integrations/qbo/qbo-shared/qbo-import-settings/qbo-import-settings.component.html b/src/app/integrations/qbo/qbo-shared/qbo-import-settings/qbo-import-settings.component.html index 254ae176a..da35b4a3d 100644 --- a/src/app/integrations/qbo/qbo-shared/qbo-import-settings/qbo-import-settings.component.html +++ b/src/app/integrations/qbo/qbo-shared/qbo-import-settings/qbo-import-settings.component.html @@ -22,7 +22,7 @@ [iconPath]="'arrow-tail-down'"> -
+
{{brandingContent.chartOfAccountTypes}} @@ -43,7 +43,7 @@
+
-
--> +
diff --git a/src/app/integrations/qbo/qbo-shared/qbo-import-settings/qbo-import-settings.component.ts b/src/app/integrations/qbo/qbo-shared/qbo-import-settings/qbo-import-settings.component.ts index 7411d8aaa..3f3f2c0e8 100644 --- a/src/app/integrations/qbo/qbo-shared/qbo-import-settings/qbo-import-settings.component.ts +++ b/src/app/integrations/qbo/qbo-shared/qbo-import-settings/qbo-import-settings.component.ts @@ -152,7 +152,7 @@ export class QboImportSettingsComponent implements OnInit { this.importSettingService.postImportSettings(importSettingPayload).subscribe(() => { this.isSaveInProgress = false; this.toastService.displayToastMessage(ToastSeverity.SUCCESS, 'Import settings saved successfully'); - // This.updateImportCodeFieldConfig(); + this.updateImportCodeFieldConfig(); if (this.isOnboarding) { this.workspaceService.setOnboardingState(QBOOnboardingState.ADVANCED_CONFIGURATION); this.router.navigate([`/integrations/qbo/onboarding/advanced_settings`]); @@ -220,11 +220,10 @@ export class QboImportSettingsComponent implements OnInit { if (!isImportCategoriesEnabled) { this.importSettingForm.controls.chartOfAccountTypes.setValue(['Expense']); this.importSettingForm.controls.importCategoryCode.clearValidators(); - // This.importSettingForm.controls.importCategoryCode.setValue(ImportSettingsModel.getImportCodeField(this.importSettings.workspace_general_settings.import_code_fields, DefaultImportFields.ACCOUNT, this.qboImportCodeFieldCodeConfig)); + this.importSettingForm.controls.importCategoryCode.setValue(ImportSettingsModel.getImportCodeField(this.importSettings.workspace_general_settings.import_code_fields, DefaultImportFields.ACCOUNT, this.qboImportCodeFieldCodeConfig)); + } if (isImportCategoriesEnabled) { + this.helper.markControllerAsRequired(this.importSettingForm, 'importCategoryCode'); } - // If (isImportCategoriesEnabled) { - // This.helper.markControllerAsRequired(this.importSettingForm, 'importCategoryCode'); - // } }); } @@ -269,9 +268,9 @@ export class QboImportSettingsComponent implements OnInit { this.workspaceService.getWorkspaceGeneralSettings(), this.qboConnectorService.getQBOCredentials(), this.mappingService.getDestinationAttributes(QBOField.TAX_CODE, 'v1', 'qbo'), - this.importSettingService.getQBOFields() - // This.importSettingService.getImportCodeFieldConfig() - ]).subscribe(([importSettingsResponse, fyleFieldsResponse, workspaceGeneralSettings, qboCredentials, taxCodes, qboFields]) => { + this.importSettingService.getQBOFields(), + this.importSettingService.getImportCodeFieldConfig() + ]).subscribe(([importSettingsResponse, fyleFieldsResponse, workspaceGeneralSettings, qboCredentials, taxCodes, qboFields, importCodeFieldConfig]) => { this.qboFields = qboFields; this.importSettings = importSettingsResponse; this.workspaceGeneralSettings = workspaceGeneralSettings; @@ -282,11 +281,11 @@ export class QboImportSettingsComponent implements OnInit { this.isTaxGroupSyncAllowed = true; } - // This.qboImportCodeFieldCodeConfig = importCodeFieldConfig; + this.qboImportCodeFieldCodeConfig = importCodeFieldConfig; this.importSettingForm = QBOImportSettingModel.mapAPIResponseToFormGroup(this.importSettings, this.qboFields, this.qboImportCodeFieldCodeConfig); this.fyleFields = fyleFieldsResponse; this.fyleFields.push({ attribute_type: 'custom_field', display_name: 'Create a Custom Field', is_dependent: false }); - // This.updateImportCodeFieldConfig(); + this.updateImportCodeFieldConfig(); this.setupFormWatchers(); this.initializeCustomFieldForm(false); this.isLoading = false;