Merge pull request #2632 from alberto-art3ch/WEB-304/loan-product-edition-breaked

WEB-304: Accounting settings gets lost on Loan product edit screen
This commit is contained in:
Felix van Hove
2025-09-04 08:56:29 +02:00
committed by GitHub
@@ -142,18 +142,18 @@ export class LoanProductAccountingStepComponent implements OnInit, OnChanges {
enableAccrualActivityPosting: this.loanProductsTemplate.enableAccrualActivityPosting enableAccrualActivityPosting: this.loanProductsTemplate.enableAccrualActivityPosting
}); });
if (this.deferredIncomeRecognition) { if (this.deferredIncomeRecognition) {
if (this.deferredIncomeRecognition.capitalizedIncome.enableIncomeCapitalization) { if (this.deferredIncomeRecognition.capitalizedIncome?.enableIncomeCapitalization) {
this.loanProductAccountingForm.patchValue({ this.loanProductAccountingForm.patchValue({
deferredIncomeLiabilityAccountId: accountingMappings.deferredIncomeLiabilityAccount.id, deferredIncomeLiabilityAccountId: accountingMappings.deferredIncomeLiabilityAccount.id,
incomeFromCapitalizationAccountId: accountingMappings.incomeFromCapitalizationAccount.id incomeFromCapitalizationAccountId: accountingMappings.incomeFromCapitalizationAccount.id
}); });
} }
if (this.deferredIncomeRecognition.buyDownFee.enableBuyDownFee) { if (this.deferredIncomeRecognition.buyDownFee?.enableBuyDownFee) {
this.loanProductAccountingForm.patchValue({ this.loanProductAccountingForm.patchValue({
deferredIncomeLiabilityAccountId: accountingMappings.deferredIncomeLiabilityAccount.id, deferredIncomeLiabilityAccountId: accountingMappings.deferredIncomeLiabilityAccount.id,
incomeFromBuyDownAccountId: accountingMappings.incomeFromBuyDownAccount.id incomeFromBuyDownAccountId: accountingMappings.incomeFromBuyDownAccount.id
}); });
if (this.deferredIncomeRecognition.buyDownFee.merchantBuyDownFee) { if (this.deferredIncomeRecognition.buyDownFee?.merchantBuyDownFee) {
this.loanProductAccountingForm.patchValue({ this.loanProductAccountingForm.patchValue({
buyDownExpenseAccountId: accountingMappings.buyDownExpenseAccount?.id buyDownExpenseAccountId: accountingMappings.buyDownExpenseAccount?.id
}); });
@@ -599,8 +599,8 @@ export class LoanProductAccountingStepComponent implements OnInit, OnChanges {
if (this.isAccountingAccrualBased) { if (this.isAccountingAccrualBased) {
if (this.deferredIncomeRecognition) { if (this.deferredIncomeRecognition) {
if ( if (
this.deferredIncomeRecognition.capitalizedIncome.enableIncomeCapitalization || this.deferredIncomeRecognition.capitalizedIncome?.enableIncomeCapitalization ||
this.deferredIncomeRecognition.buyDownFee.enableBuyDownFee this.deferredIncomeRecognition.buyDownFee?.enableBuyDownFee
) { ) {
this.loanProductAccountingForm.addControl( this.loanProductAccountingForm.addControl(
'deferredIncomeLiabilityAccountId', 'deferredIncomeLiabilityAccountId',
@@ -609,7 +609,7 @@ export class LoanProductAccountingStepComponent implements OnInit, OnChanges {
} else { } else {
this.loanProductAccountingForm.removeControl('deferredIncomeLiabilityAccountId'); this.loanProductAccountingForm.removeControl('deferredIncomeLiabilityAccountId');
} }
if (this.deferredIncomeRecognition.capitalizedIncome.enableIncomeCapitalization) { if (this.deferredIncomeRecognition.capitalizedIncome?.enableIncomeCapitalization) {
this.loanProductAccountingForm.addControl( this.loanProductAccountingForm.addControl(
'incomeFromCapitalizationAccountId', 'incomeFromCapitalizationAccountId',
new UntypedFormControl('', Validators.required) new UntypedFormControl('', Validators.required)
@@ -617,8 +617,8 @@ export class LoanProductAccountingStepComponent implements OnInit, OnChanges {
} else { } else {
this.loanProductAccountingForm.removeControl('incomeFromCapitalizationAccountId'); this.loanProductAccountingForm.removeControl('incomeFromCapitalizationAccountId');
} }
if (this.deferredIncomeRecognition.buyDownFee.enableBuyDownFee) { if (this.deferredIncomeRecognition.buyDownFee?.enableBuyDownFee) {
if (this.deferredIncomeRecognition.buyDownFee.merchantBuyDownFee) { if (this.deferredIncomeRecognition.buyDownFee?.merchantBuyDownFee) {
this.loanProductAccountingForm.addControl( this.loanProductAccountingForm.addControl(
'buyDownExpenseAccountId', 'buyDownExpenseAccountId',
new UntypedFormControl('', Validators.required) new UntypedFormControl('', Validators.required)