WEB-455: add full term tranches configuration

This commit is contained in:
Attila Budai
2025-12-04 15:06:07 +01:00
parent f1b4ec2cf2
commit 1ab397f850
8 changed files with 53 additions and 3 deletions
@@ -157,6 +157,16 @@
<mat-checkbox class="flex-48 margin-v" labelPosition="before" formControlName="disallowExpectedDisbursements">
{{ 'labels.inputs.Disallow Expected Disbursements' | translate }}
</mat-checkbox>
<mat-checkbox
*ngIf="loanProductSettingsForm.value.loanScheduleType === 'PROGRESSIVE'"
class="flex-48 margin-v"
labelPosition="before"
formControlName="allowFullTermForTranche"
matTooltip="{{ 'tooltips.Allow full term length for each tranche disbursement' | translate }}"
>
{{ 'labels.inputs.Allow full term for each tranche' | translate }}
</mat-checkbox>
</div>
<h3 class="mat-h3 flex-96">{{ 'labels.heading.Down Payment' | translate }}</h3>
@@ -146,6 +146,7 @@ export class LoanProductSettingsStepComponent implements OnInit {
multiDisburseLoan: this.loanProductsTemplate.multiDisburseLoan,
maxTrancheCount: this.loanProductsTemplate.maxTrancheCount,
outstandingLoanBalance: this.loanProductsTemplate.outstandingLoanBalance,
allowFullTermForTranche: this.loanProductsTemplate.allowFullTermForTranche,
enableDownPayment: this.loanProductsTemplate.enableDownPayment,
enableInstallmentLevelDelinquency: this.loanProductsTemplate.enableInstallmentLevelDelinquency,
loanScheduleType: this.loanProductsTemplate.loanScheduleType.code,
@@ -314,6 +315,7 @@ export class LoanProductSettingsStepComponent implements OnInit {
isInterestRecalculationEnabled: [false],
holdGuaranteeFunds: [false],
multiDisburseLoan: [false],
allowFullTermForTranche: [false],
allowAttributeConfiguration: [true],
allowPartialPeriodInterestCalculation: [false],
allowAttributeOverrides: this.formBuilder.group({
@@ -553,7 +555,10 @@ export class LoanProductSettingsStepComponent implements OnInit {
} else {
this.loanProductSettingsForm.removeControl('maxTrancheCount');
this.loanProductSettingsForm.removeControl('outstandingLoanBalance');
this.loanProductSettingsForm.patchValue({ disallowExpectedDisbursements: false });
this.loanProductSettingsForm.patchValue({
disallowExpectedDisbursements: false,
allowFullTermForTranche: false
});
}
});
@@ -646,6 +651,7 @@ export class LoanProductSettingsStepComponent implements OnInit {
this.advancedTransactionProcessingStrategyDisabled = false;
this.isAdvancedTransactionProcessingStrategy = false;
this.loanProductSettingsForm.removeControl('chargeOffBehaviour');
this.loanProductSettingsForm.patchValue({ allowFullTermForTranche: false });
} else {
// Only Advanced Payment Allocation Strategy
this.transactionProcessingStrategyDataBase.some((cn: CodeName) => {
@@ -97,6 +97,7 @@ export interface LoanProduct {
creditAllocationAllocationTypes: OptionData[];
multiDisburseLoan: boolean;
maxTrancheCount: number;
allowFullTermForTranche: boolean;
disallowExpectedDisbursements: boolean;
allowApprovedDisbursedAmountsOverApplied: boolean;
overAppliedNumber: number;