Installment level delinquency setting at loan account level
This commit is contained in:
committed by
Jose Alberto Hernandez
parent
8fdf8fb10c
commit
7e607d63c0
+1
-1
@@ -114,7 +114,7 @@ export class FixedDepositAccountViewComponent implements OnInit {
|
||||
case 'Undo Approval':
|
||||
case 'Undo Activation':
|
||||
case 'Add Charge':
|
||||
case 'Withdraw By Client':
|
||||
case 'Withdrawn by Client':
|
||||
case 'Premature Close':
|
||||
this.router.navigate([`actions/${name}`], { relativeTo: this.route });
|
||||
break;
|
||||
|
||||
+1
-1
@@ -101,7 +101,7 @@ export class FixedDepositsButtonsConfiguration {
|
||||
name: 'Reject'
|
||||
},
|
||||
{
|
||||
name: 'Withdraw By Client'
|
||||
name: 'Withdrawn by Client'
|
||||
},
|
||||
{
|
||||
name: 'Add Charge'
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
<mifosx-reject-fixed-deposits-account *ngIf="actions['Reject']"></mifosx-reject-fixed-deposits-account>
|
||||
<mifosx-activate-fixed-deposits-account *ngIf="actions['Activate']"></mifosx-activate-fixed-deposits-account>
|
||||
<mifosx-undo-approval-fixed-deposits-account *ngIf="actions['Undo Approval'] || actions['Undo Activation']"></mifosx-undo-approval-fixed-deposits-account>
|
||||
<mifosx-withdraw-by-client-fixed-deposits-account *ngIf="actions['Withdraw By Client']"></mifosx-withdraw-by-client-fixed-deposits-account>
|
||||
<mifosx-withdraw-by-client-fixed-deposits-account *ngIf="actions['Withdrawn by Client']"></mifosx-withdraw-by-client-fixed-deposits-account>
|
||||
<mifosx-add-charge-fixed-deposits-account *ngIf="actions['Add Charge']"></mifosx-add-charge-fixed-deposits-account>
|
||||
<mifosx-premature-close-fixed-deposits-account *ngIf="actions['Premature Close']"></mifosx-premature-close-fixed-deposits-account>
|
||||
<mifosx-close-fixed-deposits-account *ngIf="actions['Close']"></mifosx-close-fixed-deposits-account>
|
||||
|
||||
+2
-2
@@ -22,7 +22,7 @@ export class FixedDepositsAccountActionsComponent {
|
||||
'Undo Activation': boolean
|
||||
'Add Charge': boolean
|
||||
'Premature Close': boolean
|
||||
'Withdraw By Client': boolean
|
||||
'Withdrawn by Client': boolean
|
||||
} = {
|
||||
'Approve': false,
|
||||
'Reject': false,
|
||||
@@ -32,7 +32,7 @@ export class FixedDepositsAccountActionsComponent {
|
||||
'Undo Activation': false,
|
||||
'Add Charge': false,
|
||||
'Premature Close': false,
|
||||
'Withdraw By Client': false
|
||||
'Withdrawn by Client': false
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ import { FixedDepositsService } from 'app/deposits/fixed-deposits/fixed-deposits
|
||||
import { SettingsService } from 'app/settings/settings.service';
|
||||
|
||||
/**
|
||||
* Withdraw By Client Fixed Deposits Account Component
|
||||
* Withdrawn by Client Fixed Deposits Account Component
|
||||
*/
|
||||
@Component({
|
||||
selector: 'mifosx-withdraw-by-client-fixed-deposits-account',
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
<mifosx-undo-approval-recurring-deposits-account *ngIf="actions['Undo Approval'] || actions['Undo Activation']"></mifosx-undo-approval-recurring-deposits-account>
|
||||
<mifosx-approve-recurring-deposits-account *ngIf="actions['Approve']"></mifosx-approve-recurring-deposits-account>
|
||||
<mifosx-reject-recurring-deposits-account *ngIf="actions['Reject']"></mifosx-reject-recurring-deposits-account>
|
||||
<mifosx-withdraw-by-client-recurring-deposits-account *ngIf="actions['Withdrawn by client']"></mifosx-withdraw-by-client-recurring-deposits-account>
|
||||
<mifosx-withdraw-by-client-recurring-deposits-account *ngIf="actions['Withdrawn by Client']"></mifosx-withdraw-by-client-recurring-deposits-account>
|
||||
<mifosx-add-charge-recurring-deposits-account *ngIf="actions['Add Charge']"></mifosx-add-charge-recurring-deposits-account>
|
||||
<mifosx-premature-close-recurring-deposit-account *ngIf="actions['Premature Close']"></mifosx-premature-close-recurring-deposit-account>
|
||||
<mifosx-close-recurring-deposits-account *ngIf="actions['Close']"></mifosx-close-recurring-deposits-account>
|
||||
|
||||
+2
-2
@@ -16,7 +16,7 @@ export class RecurringDepositsAccountActionsComponent {
|
||||
'Undo Approval': boolean
|
||||
'Approve': boolean
|
||||
'Reject': boolean
|
||||
'Withdrawn by client': boolean
|
||||
'Withdrawn by Client': boolean
|
||||
'Add Charge': boolean
|
||||
'Premature Close': boolean
|
||||
'Close': boolean
|
||||
@@ -28,7 +28,7 @@ export class RecurringDepositsAccountActionsComponent {
|
||||
'Undo Approval': false,
|
||||
'Approve': false,
|
||||
'Reject': false,
|
||||
'Withdrawn by client': false,
|
||||
'Withdrawn by Client': false,
|
||||
'Add Charge': false,
|
||||
'Premature Close': false,
|
||||
'Close': false,
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ import { Dates } from 'app/core/utils/dates';
|
||||
import { RecurringDepositsService } from 'app/deposits/recurring-deposits/recurring-deposits.service';
|
||||
import { SettingsService } from 'app/settings/settings.service';
|
||||
/**
|
||||
* Withdraw By Client Recurring Deposits Account Component
|
||||
* Withdrawn by Client Recurring Deposits Account Component
|
||||
*/
|
||||
@Component({
|
||||
selector: 'mifosx-withdraw-by-client-recurring-deposits-account',
|
||||
|
||||
+1
-1
@@ -164,7 +164,7 @@ export class RecurringDepositsAccountViewComponent implements OnInit {
|
||||
case 'Reject':
|
||||
case 'Undo Approval':
|
||||
case 'Add Charge':
|
||||
case 'Withdrawn by client':
|
||||
case 'Withdrawn by Client':
|
||||
case 'Premature Close':
|
||||
case 'Close':
|
||||
case 'Deposit':
|
||||
|
||||
+1
-1
@@ -128,7 +128,7 @@ export class RecurringDepositsButtonsConfiguration {
|
||||
taskPermissionName: 'REJECT_RECURRINGDEPOSITACCOUNT'
|
||||
},
|
||||
{
|
||||
name: 'Withdrawn by client',
|
||||
name: 'Withdrawn by Client',
|
||||
icon: 'arrow-down',
|
||||
taskPermissionName: 'WITHDRAW_RECURRINGDEPOSITACCOUNT'
|
||||
},
|
||||
|
||||
+6
@@ -247,6 +247,12 @@
|
||||
<input type="number" matInput formControlName="fixedEmiAmount">
|
||||
</mat-form-field>
|
||||
|
||||
<ng-container *ngIf="isDelinquencyEnabled()">
|
||||
<mat-checkbox fxFlex="48%" formControlName="enableInstallmentLevelDelinquency">
|
||||
<p>{{'labels.inputs.Enable installment level Delinquency' | translate}}</p>
|
||||
</mat-checkbox>
|
||||
</ng-container>
|
||||
|
||||
<ng-container *ngIf="loansAccountTermsData?.isTopup">
|
||||
|
||||
<mat-checkbox fxFlex="20%" formControlName="isTopup">
|
||||
|
||||
+16
-1
@@ -5,6 +5,7 @@ import { MatDialog } from '@angular/material/dialog';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { LoansAccountAddCollateralDialogComponent } from 'app/loans/custom-dialog/loans-account-add-collateral-dialog/loans-account-add-collateral-dialog.component';
|
||||
import { LoanProducts } from 'app/products/loan-products/loan-products';
|
||||
import { LoanProduct } from 'app/products/loan-products/models/loan-product.model';
|
||||
import { SettingsService } from 'app/settings/settings.service';
|
||||
import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component';
|
||||
import { FormDialogComponent } from 'app/shared/form-dialog/form-dialog.component';
|
||||
@@ -86,6 +87,7 @@ export class LoansAccountTermsStepComponent implements OnInit, OnChanges {
|
||||
loanId: any = null;
|
||||
|
||||
loanScheduleType: OptionData | null = null;
|
||||
loanProduct: LoanProduct | null = null;
|
||||
|
||||
/**
|
||||
* Create Loans Account Terms Form
|
||||
@@ -110,6 +112,10 @@ export class LoansAccountTermsStepComponent implements OnInit, OnChanges {
|
||||
this.loansAccountTermsData = this.loansAccountTemplate;
|
||||
}
|
||||
|
||||
if (this.loansAccountTermsData.product) {
|
||||
this.loanProduct = this.loansAccountTermsData.product;
|
||||
}
|
||||
|
||||
this.loansAccountTermsForm.patchValue({
|
||||
'principalAmount': this.loansAccountTermsData.principal,
|
||||
'loanTermFrequency': this.loansAccountTermsData.termFrequency,
|
||||
@@ -149,7 +155,9 @@ export class LoansAccountTermsStepComponent implements OnInit, OnChanges {
|
||||
this.totalMultiDisbursed += item.principal;
|
||||
});
|
||||
}
|
||||
|
||||
if (this.isDelinquencyEnabled()) {
|
||||
this.loansAccountTermsForm.addControl('enableInstallmentLevelDelinquency', new UntypedFormControl(this.loanProduct.enableInstallmentLevelDelinquency));
|
||||
}
|
||||
this.collateralDataSource = this.loansAccountTermsData.collateral || [];
|
||||
|
||||
const allowAttributeOverrides = this.loansAccountTermsData.product.allowAttributeOverrides;
|
||||
@@ -502,6 +510,13 @@ export class LoansAccountTermsStepComponent implements OnInit, OnChanges {
|
||||
}
|
||||
}
|
||||
|
||||
isDelinquencyEnabled(): boolean {
|
||||
if (!this.loanProduct || !this.loanProduct.delinquencyBucket) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns loans account terms form value.
|
||||
*/
|
||||
|
||||
@@ -213,7 +213,7 @@ export class LoansAccountButtonConfiguration {
|
||||
case 'Submitted and pending approval':
|
||||
this.optionArray = [
|
||||
{
|
||||
name: 'Withdrawn by client',
|
||||
name: 'Withdrawn by Client',
|
||||
taskPermissionName: 'WITHDRAW_LOAN',
|
||||
},
|
||||
{
|
||||
|
||||
+2
-2
@@ -340,7 +340,7 @@
|
||||
|
||||
<div fxFlexFill>
|
||||
<span fxFlex="47%">{{ 'labels.inputs.Repayment Strategy' | translate}}:</span>
|
||||
<span fxFlex="53%" class="repayment-strategy">{{ loanProduct.transactionProcessingStrategyName }}</span>
|
||||
<span fxFlex="53%" class="repayment-strategy">{{ loanProduct.transactionProcessingStrategyName | translateCatalog }}</span>
|
||||
</div>
|
||||
|
||||
<div fxFlexFill *ngIf="isAdvancedPaymentAllocation">
|
||||
@@ -404,7 +404,7 @@
|
||||
<span fxFlex="53%">{{ 'labels.inputs.Unassigned' | translate }}</span>
|
||||
</div>
|
||||
|
||||
<div fxFlexFill>
|
||||
<div fxFlexFill *ngIf="loanProduct.delinquencyBucket">
|
||||
<span fxFlex="47%">{{ 'labels.inputs.Enable installment level Delinquency' | translate}}:</span>
|
||||
<span fxFlex="53%">{{ loanProduct.enableInstallmentLevelDelinquency | yesNo }}</span>
|
||||
</div>
|
||||
|
||||
+1
-1
@@ -167,7 +167,7 @@
|
||||
</button>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-checkbox fxFlex="48%" labelPosition="before" formControlName="enableInstallmentLevelDelinquency" class="margin-v">
|
||||
<mat-checkbox fxFlex="48%" labelPosition="before" formControlName="enableInstallmentLevelDelinquency" class="margin-v" *ngIf="loanProductSettingsForm.value.delinquencyBucketId">
|
||||
{{'labels.inputs.Enable installment level Delinquency' | translate}}
|
||||
</mat-checkbox>
|
||||
|
||||
|
||||
+1
-1
@@ -52,7 +52,7 @@
|
||||
<mat-label>{{'labels.inputs.Installment day calculation from' | translate}} <i class="fas fa-question" matTooltip="Repayment schedule will start the installment dates from the submitted date or the disbursement date"></i></mat-label>
|
||||
<mat-select formControlName="repaymentStartDateType" required>
|
||||
<mat-option *ngFor="let repaymentStartDateType of repaymentStartDateTypeOptions" [value]="repaymentStartDateType.id">
|
||||
{{ repaymentStartDateType.value | translate}}
|
||||
{{ repaymentStartDateType.value | translateCatalog}}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<mifosx-post-interest-as-on-savings-account *ngIf="actions['Post Interest As On']"></mifosx-post-interest-as-on-savings-account>
|
||||
<mifosx-savings-account-assign-staff *ngIf="actions['Assign Staff']"></mifosx-savings-account-assign-staff>
|
||||
<mifosx-savings-account-unassign-staff *ngIf="actions['Unassign Staff']"></mifosx-savings-account-unassign-staff>
|
||||
<mifosx-withdraw-by-client-savings-account *ngIf="actions['Withdraw By Client']"></mifosx-withdraw-by-client-savings-account>
|
||||
<mifosx-withdraw-by-client-savings-account *ngIf="actions['Withdrawn by Client']"></mifosx-withdraw-by-client-savings-account>
|
||||
<mifosx-add-charge-savings-account *ngIf="actions['Add Charge']"></mifosx-add-charge-savings-account>
|
||||
<mifosx-savings-transactions [currencyCode]="currencyCode" *ngIf="actions['Withdrawal'] || actions['Deposit']"></mifosx-savings-transactions>
|
||||
<mifosx-close-savings-account *ngIf="actions['Close']"></mifosx-close-savings-account>
|
||||
|
||||
@@ -25,7 +25,7 @@ export class SavingAccountActionsComponent {
|
||||
'Assign Staff': boolean
|
||||
'Add Charge': boolean
|
||||
'Unassign Staff': boolean
|
||||
'Withdraw By Client': boolean
|
||||
'Withdrawn by Client': boolean
|
||||
'Apply Annual Fees': boolean
|
||||
'Hold Amount': boolean
|
||||
'Block Account': boolean
|
||||
@@ -46,7 +46,7 @@ export class SavingAccountActionsComponent {
|
||||
'Assign Staff': false,
|
||||
'Add Charge': false,
|
||||
'Unassign Staff': false,
|
||||
'Withdraw By Client': false,
|
||||
'Withdrawn by Client': false,
|
||||
'Apply Annual Fees': false,
|
||||
'Hold Amount': false,
|
||||
'Block Account': false,
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ import { SavingsService } from 'app/savings/savings.service';
|
||||
import { SettingsService } from 'app/settings/settings.service';
|
||||
|
||||
/**
|
||||
* Withdraw By Client Savings Account Component
|
||||
* Withdrawn by Client Savings Account Component
|
||||
*/
|
||||
@Component({
|
||||
selector: 'mifosx-withdraw-by-client-savings-account',
|
||||
|
||||
@@ -149,7 +149,7 @@ export class SavingsAccountViewComponent implements OnInit {
|
||||
case 'Block Deposit':
|
||||
case 'Block Withdrawal':
|
||||
case 'Unassign Staff':
|
||||
case 'Withdraw By Client':
|
||||
case 'Withdrawn by Client':
|
||||
case 'Apply Annual Fees':
|
||||
this.router.navigate([`actions/${name}`], { relativeTo: this.route });
|
||||
break;
|
||||
|
||||
@@ -169,7 +169,7 @@ export class SavingsButtonsConfiguration {
|
||||
taskPermissionName: 'REJECT_SAVINGSACCOUNT'
|
||||
},
|
||||
{
|
||||
name: 'Withdraw By Client',
|
||||
name: 'Withdrawn by Client',
|
||||
taskPermissionName: 'WITHDRAW_SAVINGSACCOUNT'
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user