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 fb074554d..4837998e1 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 @@ -9,7 +9,7 @@ import { ExpenseField, ImportCodeFieldConfigType, ImportSettingsModel } from 'sr import { SelectFormOption } from 'src/app/core/models/common/select-form-option.model'; import { DefaultDestinationAttribute, DestinationAttribute } from 'src/app/core/models/db/destination-attribute.model'; import { FyleField, IntegrationField } from 'src/app/core/models/db/mapping.model'; -import { AppName, AutoMapEmployeeOptions, ConfigurationCta, ConfigurationWarningEvent, DefaultImportFields, EmployeeFieldMapping, ExpenseGroupingFieldOption, InputType, NameInJournalEntry, QBOCorporateCreditCardExpensesObject, QBOField, QBOReimbursableExpensesObject, ToastSeverity } from 'src/app/core/models/enum/enum.model'; +import { AppName, AutoMapEmployeeOptions, ConfigurationCta, ConfigurationWarningEvent, DefaultImportFields, EmployeeFieldMapping, ExpenseGroupingFieldOption, ExportDateType, InputType, NameInJournalEntry, QBOCorporateCreditCardExpensesObject, QBOField, QBOReimbursableExpensesObject, ToastSeverity } from 'src/app/core/models/enum/enum.model'; import { ConfigurationWarningOut } from 'src/app/core/models/misc/configuration-warning.model'; import { OnboardingStepper } from 'src/app/core/models/misc/onboarding-stepper.model'; import { Org } from 'src/app/core/models/org/org.model'; @@ -324,6 +324,12 @@ export class QboCloneSettingsComponent implements OnInit { private updateCCCExpenseGroupingDateOptions(selectedValue: QBOCorporateCreditCardExpensesObject): void { if ([QBOCorporateCreditCardExpensesObject.CREDIT_CARD_PURCHASE, QBOCorporateCreditCardExpensesObject.DEBIT_CARD_EXPENSE].includes(selectedValue)) { this.cccExpenseGroupingDateOptions = QBOExportSettingModel.getAdditionalCreditCardExpenseGroupingDateOptions(); + if (selectedValue === QBOCorporateCreditCardExpensesObject.CREDIT_CARD_PURCHASE) { + this.cccExpenseGroupingDateOptions.push({ + label: brandingContent.common.currentDate, + value: ExportDateType.CURRENT_DATE + }); + } this.exportSettingForm.controls.creditCardExportGroup.setValue(ExpenseGroupingFieldOption.EXPENSE_ID); this.exportSettingForm.controls.creditCardExportGroup.disable(); } else { @@ -331,6 +337,10 @@ export class QboCloneSettingsComponent implements OnInit { this.helperService.clearValidatorAndResetValue(this.exportSettingForm, 'creditCardExportGroup'); this.helperService.enableFormField(this.exportSettingForm, 'creditCardExportGroup'); } + const allowedValues = this.cccExpenseGroupingDateOptions.map(option => option.value); + if (!allowedValues.includes(this.exportSettingForm.get('creditCardExportDate')?.value)) { + this.exportSettingForm.get('creditCardExportDate')?.setValue(null); + } } private initializeCustomFieldForm(shouldShowDialog: boolean) { 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 01635b008..85755e38e 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 @@ -6,7 +6,7 @@ import { brandingConfig, brandingContent, brandingFeatureConfig, brandingKbArtic import { ExportSettingModel, ExportSettingOptionSearch } from 'src/app/core/models/common/export-settings.model'; import { SelectFormOption } from 'src/app/core/models/common/select-form-option.model'; import { DefaultDestinationAttribute, DestinationAttribute, PaginatedDestinationAttribute } from 'src/app/core/models/db/destination-attribute.model'; -import { AppName, ConfigurationCta, ConfigurationWarningEvent, EmployeeFieldMapping, ExpenseGroupingFieldOption, FyleField, QBOCorporateCreditCardExpensesObject, QBOOnboardingState, QBOReimbursableExpensesObject, QboExportSettingDestinationOptionKey, ToastSeverity } from 'src/app/core/models/enum/enum.model'; +import { AppName, ConfigurationCta, ConfigurationWarningEvent, EmployeeFieldMapping, ExpenseGroupingFieldOption, ExportDateType, FyleField, QBOCorporateCreditCardExpensesObject, QBOOnboardingState, QBOReimbursableExpensesObject, QboExportSettingDestinationOptionKey, ToastSeverity } from 'src/app/core/models/enum/enum.model'; import { ConfigurationWarningOut } from 'src/app/core/models/misc/configuration-warning.model'; import { QBOExportSettingGet, QBOExportSettingModel } from 'src/app/core/models/qbo/qbo-configuration/qbo-export-setting.model'; import { HelperService } from 'src/app/core/services/common/helper.service'; @@ -315,12 +315,22 @@ export class QboExportSettingsComponent implements OnInit { private updateCCCExpenseGroupingDateOptions(selectedValue: QBOCorporateCreditCardExpensesObject): void { if ([QBOCorporateCreditCardExpensesObject.CREDIT_CARD_PURCHASE, QBOCorporateCreditCardExpensesObject.DEBIT_CARD_EXPENSE].includes(selectedValue)) { this.cccExpenseGroupingDateOptions = QBOExportSettingModel.getAdditionalCreditCardExpenseGroupingDateOptions(); + if (selectedValue === QBOCorporateCreditCardExpensesObject.CREDIT_CARD_PURCHASE) { + this.cccExpenseGroupingDateOptions.push({ + label: brandingContent.common.currentDate, + value: ExportDateType.CURRENT_DATE + }); + } this.exportSettingForm.controls.creditCardExportGroup.setValue(ExpenseGroupingFieldOption.EXPENSE_ID); this.exportSettingForm.controls.creditCardExportGroup.disable(); } else { this.cccExpenseGroupingDateOptions = this.reimbursableExpenseGroupingDateOptions.concat(); this.helperService.enableFormField(this.exportSettingForm, 'creditCardExportGroup'); } + const allowedValues = this.cccExpenseGroupingDateOptions.map(option => option.value); + if (!allowedValues.includes(this.exportSettingForm.get('creditCardExportDate')?.value)) { + this.exportSettingForm.get('creditCardExportDate')?.setValue(null); + } } private setupCustomWatchers(): void {