From a26c906d2c15c3257bb9f6d5d928a71af7e02d68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Alberto=20Hern=C3=A1ndez?= <44206706+josehernandezfintecheandomx@users.noreply.github.com> Date: Fri, 1 Dec 2023 18:06:31 -0600 Subject: [PATCH] Support to pause and resume Loan Delinquency Classification (#1918) Co-authored-by: Jose Alberto Hernandez --- .../list-transactions.component.ts | 12 +- .../loan-delinquency-actions.resolver.ts | 25 ++++ ...n-delinquency-action-dialog.component.html | 34 ++++++ ...n-delinquency-action-dialog.component.scss | 0 ...elinquency-action-dialog.component.spec.ts | 23 ++++ ...oan-delinquency-action-dialog.component.ts | 37 ++++++ src/app/loans/loans-routing.module.ts | 4 +- .../loan-delinquency-tags-tab.component.html | 50 ++++++++ .../loan-delinquency-tags-tab.component.ts | 113 +++++++++++++++++- .../loans-view/loans-view.component.html | 40 ++++--- .../loans-view/loans-view.component.scss | 42 +------ .../loans/loans-view/loans-view.component.ts | 14 +++ src/app/loans/loans.module.ts | 4 +- src/app/loans/loans.service.ts | 8 ++ src/app/loans/models/loan-account.model.ts | 25 ++++ src/app/shared/icons.module.ts | 4 +- src/assets/translations/cs-CS.json | 4 + src/assets/translations/de-DE.json | 4 + src/assets/translations/en-US.json | 4 + src/assets/translations/es-MX.json | 8 +- src/assets/translations/fr-FR.json | 4 + src/assets/translations/it-IT.json | 4 + src/assets/translations/ko-KO.json | 4 + src/assets/translations/lt-LT.json | 4 + src/assets/translations/lv-LV.json | 4 + src/assets/translations/ne-NE.json | 4 + src/assets/translations/pt-PT.json | 4 + src/assets/translations/sw-SW.json | 4 + 28 files changed, 414 insertions(+), 73 deletions(-) create mode 100644 src/app/loans/common-resolvers/loan-delinquency-actions.resolver.ts create mode 100644 src/app/loans/custom-dialog/loan-delinquency-action-dialog/loan-delinquency-action-dialog.component.html create mode 100644 src/app/loans/custom-dialog/loan-delinquency-action-dialog/loan-delinquency-action-dialog.component.scss create mode 100644 src/app/loans/custom-dialog/loan-delinquency-action-dialog/loan-delinquency-action-dialog.component.spec.ts create mode 100644 src/app/loans/custom-dialog/loan-delinquency-action-dialog/loan-delinquency-action-dialog.component.ts diff --git a/src/app/account-transfers/list-transactions/list-transactions.component.ts b/src/app/account-transfers/list-transactions/list-transactions.component.ts index bf124de58..dff0342a8 100644 --- a/src/app/account-transfers/list-transactions/list-transactions.component.ts +++ b/src/app/account-transfers/list-transactions/list-transactions.component.ts @@ -1,16 +1,8 @@ /** Angular Imports */ -import { Component, OnInit, ViewChild } from '@angular/core'; -import { MatDialog } from '@angular/material/dialog'; +import { Component, ViewChild } from '@angular/core'; import { MatPaginator } from '@angular/material/paginator'; -import { MatTableDataSource, MatTable } from '@angular/material/table'; +import { MatTableDataSource } from '@angular/material/table'; import { ActivatedRoute } from '@angular/router'; -import { FormControl } from '@angular/forms'; - -/** Custom Services */ -import { AccountTransfersService } from '../account-transfers.service'; - -/** Dialog Components */ -import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component'; /** * Recurring Deposits Standing Instructions Tab diff --git a/src/app/loans/common-resolvers/loan-delinquency-actions.resolver.ts b/src/app/loans/common-resolvers/loan-delinquency-actions.resolver.ts new file mode 100644 index 000000000..11a307654 --- /dev/null +++ b/src/app/loans/common-resolvers/loan-delinquency-actions.resolver.ts @@ -0,0 +1,25 @@ +import { Injectable } from '@angular/core'; +import { Resolve, ActivatedRouteSnapshot } from '@angular/router'; +import { Observable } from 'rxjs'; +import { LoansService } from '../loans.service'; + +@Injectable({ + providedIn: 'root' +}) +export class LoanDelinquencyActionsResolver implements Resolve { + + /** + * @param {LoansService} LoansService Loans service. + */ + constructor(private loansService: LoansService) { } + + /** + * Returns the Loans with Association data. + * @returns {Observable} + */ + resolve(route: ActivatedRouteSnapshot): Observable { + const loanId = route.paramMap.get('loanId') || route.parent.paramMap.get('loanId'); + return this.loansService.getDelinquencyActions(loanId); + } + +} diff --git a/src/app/loans/custom-dialog/loan-delinquency-action-dialog/loan-delinquency-action-dialog.component.html b/src/app/loans/custom-dialog/loan-delinquency-action-dialog/loan-delinquency-action-dialog.component.html new file mode 100644 index 000000000..731a9bb55 --- /dev/null +++ b/src/app/loans/custom-dialog/loan-delinquency-action-dialog/loan-delinquency-action-dialog.component.html @@ -0,0 +1,34 @@ + +

{{"labels.heading.Loan Delinquency Actions" | translate}}

+ +
+ + + {{"labels.inputs.Start Date" | translate}} + + + + + {{"labels.inputs.Start Date" | translate}} {{"labels.commons.is" | translate}} {{"labels.commons.required" | translate}} + + + + + {{"labels.inputs.End Date" | translate}} + + + + + {{"labels.inputs.End Date" | translate}} {{"labels.commons.is" | translate}} {{"labels.commons.required" | translate}} + + + +
+ + + + + diff --git a/src/app/loans/custom-dialog/loan-delinquency-action-dialog/loan-delinquency-action-dialog.component.scss b/src/app/loans/custom-dialog/loan-delinquency-action-dialog/loan-delinquency-action-dialog.component.scss new file mode 100644 index 000000000..e69de29bb diff --git a/src/app/loans/custom-dialog/loan-delinquency-action-dialog/loan-delinquency-action-dialog.component.spec.ts b/src/app/loans/custom-dialog/loan-delinquency-action-dialog/loan-delinquency-action-dialog.component.spec.ts new file mode 100644 index 000000000..bb452285e --- /dev/null +++ b/src/app/loans/custom-dialog/loan-delinquency-action-dialog/loan-delinquency-action-dialog.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { LoanDelinquencyActionDialogComponent } from './loan-delinquency-action-dialog.component'; + +describe('LoanDelinquencyActionDialogComponent', () => { + let component: LoanDelinquencyActionDialogComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ LoanDelinquencyActionDialogComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(LoanDelinquencyActionDialogComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/loans/custom-dialog/loan-delinquency-action-dialog/loan-delinquency-action-dialog.component.ts b/src/app/loans/custom-dialog/loan-delinquency-action-dialog/loan-delinquency-action-dialog.component.ts new file mode 100644 index 000000000..0452a71f9 --- /dev/null +++ b/src/app/loans/custom-dialog/loan-delinquency-action-dialog/loan-delinquency-action-dialog.component.ts @@ -0,0 +1,37 @@ +import { Component, Inject, OnInit } from '@angular/core'; +import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; +import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; +import { SettingsService } from 'app/settings/settings.service'; + +@Component({ + selector: 'mifosx-loan-delinquency-action-dialog', + templateUrl: './loan-delinquency-action-dialog.component.html', + styleUrls: ['./loan-delinquency-action-dialog.component.scss'] +}) +export class LoanDelinquencyActionDialogComponent implements OnInit { + + delinquencyActionForm: UntypedFormGroup; + /** Minimum date allowed. */ + minDate = new Date(2000, 0, 1); + /** Maximum date allowed. */ + maxDate = new Date(2100, 0, 1); + + constructor(public dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) public data: any, + private formBuilder: UntypedFormBuilder, + private settingsService: SettingsService) { + this.createDelinquencyActionForm(); + } + + ngOnInit(): void { + this.minDate = this.settingsService.businessDate; + } + + createDelinquencyActionForm() { + this.delinquencyActionForm = this.formBuilder.group({ + 'startDate': [new Date(), Validators.required], + 'endDate': ['', Validators.required], + }); + } + +} diff --git a/src/app/loans/loans-routing.module.ts b/src/app/loans/loans-routing.module.ts index cdfa7827f..d21e3dd94 100644 --- a/src/app/loans/loans-routing.module.ts +++ b/src/app/loans/loans-routing.module.ts @@ -59,6 +59,7 @@ import { ExternalAssetOwnerResolver } from './common-resolvers/external-asset-ow import { ExternalAssetOwnerActiveTransferResolver } from './common-resolvers/external-asset-owner-active-transfer.resolver'; import { LoanCollateralsResolver } from './common-resolvers/loan-collaterals.resolver'; import { LoanDelinquencyDataResolver } from './common-resolvers/loan-delinquency-data.resolver'; +import { LoanDelinquencyActionsResolver } from './common-resolvers/loan-delinquency-actions.resolver'; /** Loans Route. */ const routes: Routes = [ @@ -133,7 +134,8 @@ const routes: Routes = [ data: { title: 'Loans Delinquency Tags', breadcrumb: 'Delinquency Tags', routeParamBreadcrumb: false }, resolve: { loanDelinquencyTagsData: LoanDelinquencyTagsResolver, - loanDelinquencyData: LoanDelinquencyDataResolver + loanDelinquencyData: LoanDelinquencyDataResolver, + loanDelinquencyActions: LoanDelinquencyActionsResolver }, children: [ { diff --git a/src/app/loans/loans-view/loan-delinquency-tags-tab/loan-delinquency-tags-tab.component.html b/src/app/loans/loans-view/loan-delinquency-tags-tab/loan-delinquency-tags-tab.component.html index 6b1756566..3a0781768 100644 --- a/src/app/loans/loans-view/loan-delinquency-tags-tab/loan-delinquency-tags-tab.component.html +++ b/src/app/loans/loans-view/loan-delinquency-tags-tab/loan-delinquency-tags-tab.component.html @@ -60,4 +60,54 @@ + +
+ +
+ +
+

{{"labels.heading.Loan Delinquency Actions" | translate}}

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{{"labels.inputs.Action" | translate}} {{ item.action }} {{"labels.inputs.Start Date" | translate}} {{ item.startDate | dateFormat }} {{"labels.inputs.End Date" | translate}} {{ item.endDate | dateFormat }} {{"labels.inputs.Created On" | translate}} {{ item.createdOn | datetimeFormat }} {{"labels.inputs.Actions" | translate}} + + + +
+ +
+ diff --git a/src/app/loans/loans-view/loan-delinquency-tags-tab/loan-delinquency-tags-tab.component.ts b/src/app/loans/loans-view/loan-delinquency-tags-tab/loan-delinquency-tags-tab.component.ts index 3509c1b90..df568be79 100644 --- a/src/app/loans/loans-view/loan-delinquency-tags-tab/loan-delinquency-tags-tab.component.ts +++ b/src/app/loans/loans-view/loan-delinquency-tags-tab/loan-delinquency-tags-tab.component.ts @@ -1,6 +1,12 @@ import { Component, OnInit } from '@angular/core'; +import { MatDialog } from '@angular/material/dialog'; import { ActivatedRoute } from '@angular/router'; -import { DelinquentData, InstallmentLevelDelinquency } from 'app/loans/models/loan-account.model'; +import { Dates } from 'app/core/utils/dates'; +import { LoanDelinquencyActionDialogComponent } from 'app/loans/custom-dialog/loan-delinquency-action-dialog/loan-delinquency-action-dialog.component'; +import { LoansService } from 'app/loans/loans.service'; +import { DelinquentData, InstallmentLevelDelinquency, LoanDelinquencyAction, LoanDelinquencyTags } from 'app/loans/models/loan-account.model'; +import { SettingsService } from 'app/settings/settings.service'; +import { ConfirmationDialogComponent } from 'app/shared/confirmation-dialog/confirmation-dialog.component'; import { Currency } from 'app/shared/models/general.model'; @Component({ @@ -10,15 +16,34 @@ import { Currency } from 'app/shared/models/general.model'; }) export class LoanDelinquencyTagsTabComponent implements OnInit { - loanDelinquencyTags: any; + loanDelinquencyTags: LoanDelinquencyTags[] = []; + loanDelinquencyActions: LoanDelinquencyAction[] = []; + currentLoanDelinquencyAction: LoanDelinquencyAction | null; currency: Currency; installmentLevelDelinquency: InstallmentLevelDelinquency[] = []; loanDelinquencyTagsColumns: string[] = ['classification', 'addedOn', 'liftedOn']; + loanDelinquencyActionsColumns: string[] = ['action', 'startDate', 'endDate', 'createdOn', 'actions']; installmentDelinquencyTagsColumns: string[] = ['classification', 'minimumAgeDays', 'amount']; - constructor(private route: ActivatedRoute) { - this.route.parent.data.subscribe((data: { loanDelinquencyTagsData: any, loanDelinquencyData: any }) => { + allowPause = true; + loanId: any; + + locale: string; + dateFormat: string; + + constructor(private route: ActivatedRoute, + private loansServices: LoansService, + private dateUtils: Dates, + private settingsService: SettingsService, + public dialog: MatDialog) { + this.loanId = this.route.parent.parent.snapshot.params['loanId']; + + this.route.parent.data.subscribe((data: { loanDelinquencyTagsData: LoanDelinquencyTags[], + loanDelinquencyData: any, + loanDelinquencyActions: LoanDelinquencyAction[] }) => { this.loanDelinquencyTags = data.loanDelinquencyTagsData; + this.loanDelinquencyActions = data.loanDelinquencyActions || []; + this.validateDelinquencyActions(); const loanDelinquencyData: DelinquentData | null = data.loanDelinquencyData.delinquent || null; this.currency = data.loanDelinquencyData.currency; this.installmentLevelDelinquency = []; @@ -29,6 +54,86 @@ export class LoanDelinquencyTagsTabComponent implements OnInit { } ngOnInit(): void { + this.locale = this.settingsService.language.code; + this.dateFormat = this.settingsService.dateFormat; + this.currentLoanDelinquencyAction = null; + this.validateDelinquencyActions(); + } + + validateDelinquencyActions(): void { + if (this.loanDelinquencyActions.length > 0) { + const businessDate: Date = this.settingsService.businessDate; + this.currentLoanDelinquencyAction = this.loanDelinquencyActions[this.loanDelinquencyActions.length - 1]; + this.allowPause = (this.currentLoanDelinquencyAction.action === 'RESUME'); + } + } + + createDelinquencyAction(): void { + const action = 'pause'; + const loanDelinquencyActionDialogRef = this.dialog.open(LoanDelinquencyActionDialogComponent, { + data: { + action: action + }, + }); + loanDelinquencyActionDialogRef.afterClosed().subscribe((response: { data: any }) => { + const startDate: Date = response.data.value.startDate; + const endDate: Date = response.data.value.endDate; + + this.sendDelinquencyAction(action, startDate, endDate); + }); + } + + resumeDelinquencyClassification(item: LoanDelinquencyAction): void { + const removePauseDialogRef = this.dialog.open(ConfirmationDialogComponent, { + data: { heading: 'Loan Delinquency Classification', + dialogContext: 'Are you sure you want resume the Delinquency Classification for Loan ' + this.loanId, + type: 'Mild' + } + }); + removePauseDialogRef.afterClosed().subscribe((response: any) => { + if (response.confirm) { + this.sendDelinquencyAction('resume', new Date(), null); + } + }); + } + + sendDelinquencyAction(action: string, startDate: Date, endDate: Date): void { + let payload: any = { + action, + locale: this.locale, + dateFormat: this.dateFormat, + startDate: this.dateUtils.formatDate(startDate, this.dateFormat) + }; + if (action === 'pause') { + payload = { + action, + locale: this.locale, + dateFormat: this.dateFormat, + startDate: this.dateUtils.formatDate(startDate, this.dateFormat), + endDate: this.dateUtils.formatDate(endDate, this.dateFormat) + }; + } + + this.loansServices.createDelinquencyActions(this.loanId, payload).subscribe((result: any) => { + this.loansServices.getDelinquencyActions(this.loanId).subscribe((loanDelinquencyActions: LoanDelinquencyAction[]) => { + this.loanDelinquencyActions = loanDelinquencyActions; + this.validateDelinquencyActions(); + }); + }); + } + + isCurrentAndPauseAction(item: LoanDelinquencyAction): boolean { + if (this.currentLoanDelinquencyAction != null) { + return (this.currentLoanDelinquencyAction.id === item.id && item.action === 'PAUSE'); + } + return false; + } + + actionClass(action: string): string { + if (action === 'PAUSE') { + return 'status-pending'; + } + return 'status-active'; } } diff --git a/src/app/loans/loans-view/loans-view.component.html b/src/app/loans/loans-view/loans-view.component.html index 00a65a3cf..729f3f161 100644 --- a/src/app/loans/loans-view/loans-view.component.html +++ b/src/app/loans/loans-view/loans-view.component.html @@ -20,28 +20,34 @@

- {{'labels.heading.Loan Product' | translate}}: {{loanDetailsData.loanProductName}} + {{'labels.heading.Loan Product' | translate}}: {{loanDetailsData.loanProductName}}

- {{'labels.text.' + entityType | translate}} {{"labels.inputs.name" | translate}}: {{loanDetailsData.clientName || - loanDetailsData.groupName}}({{loanDetailsData.clientAccountNo}})
+ {{'labels.text.' + entityType | translate}} {{"labels.inputs.name" | translate}} : {{loanDetailsData.clientName || + loanDetailsData.groupName}}({{loanDetailsData.clientAccountNo}})
- - {{"labels.inputs.Loan Account Classification" | translate}} : - {{loanDetailsData?.delinquencyRange.classification}}
-
- - {{"labels.inputs.Past Due Days" | translate}} : {{loanDetailsData?.delinquent.pastDueDays | - formatNumber }}
-
- - {{"labels.inputs.Delinquent Days" | translate}} : {{loanDetailsData?.delinquent.delinquentDays | - formatNumber }} - + + + + + + + + + + + + + + + +
diff --git a/src/app/loans/loans-view/loans-view.component.scss b/src/app/loans/loans-view/loans-view.component.scss index c2c0ecd99..630e1e7ee 100644 --- a/src/app/loans/loans-view/loans-view.component.scss +++ b/src/app/loans/loans-view/loans-view.component.scss @@ -1,40 +1,8 @@ -.loan-card { - margin: 0 auto; - max-width: 80rem; - width: 90%; - padding: 0; - .header { - padding: 1%; - .header-title-group { - .loan-card-title { - color: white; - width: 90%; - p { - color: white; - } - } - } - .profile-image-container { - margin: 1%; - .profile-image { - object-fit: cover; - border-radius: 20px; - } - } - .loan-actions { - align-self: flex-end; - margin: 0 1%; - // min-width: 72%; - } - .loan-span { - margin: 0 0.5%; - } - } - .navigation-tabs { - overflow: auto; - } -} - .loans-overview { font-size: 14px; } + +.account-overview { + min-width: 60%; + font-weight: 400; +} diff --git a/src/app/loans/loans-view/loans-view.component.ts b/src/app/loans/loans-view/loans-view.component.ts index 8faff5b1b..9ffa94fe4 100644 --- a/src/app/loans/loans-view/loans-view.component.ts +++ b/src/app/loans/loans-view/loans-view.component.ts @@ -14,6 +14,7 @@ import { ConfirmationDialogComponent } from '../../shared/confirmation-dialog/co import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component'; import { LoanStatus } from '../models/loan-status.model'; import { Currency } from 'app/shared/models/general.model'; +import { DelinquencyPausePeriod } from '../models/loan-account.model'; @Component({ selector: 'mifosx-loans-view', @@ -42,6 +43,7 @@ export class LoansViewComponent implements OnInit { /** Disburse Transaction number */ disburseTransactionNo = 0; + loanDelinquencyClassificationStyle = ''; loanStatus: LoanStatus; currency: Currency; @@ -80,6 +82,7 @@ export class LoansViewComponent implements OnInit { } else if (this.router.url.includes('centers')) { this.entityType = 'Center'; } + this.loanDelinquencyClassification(); } // Defines the buttons based on the status of the loan account @@ -199,6 +202,17 @@ export class LoansViewComponent implements OnInit { }); } + loanDelinquencyClassification(): void { + this.loanDelinquencyClassificationStyle = ''; + if (this.loanDetailsData.delinquent && this.loanDetailsData.delinquent.delinquencyPausePeriods) { + this.loanDetailsData.delinquent.delinquencyPausePeriods.some((period: DelinquencyPausePeriod) => { + if (period.active) { + this.loanDelinquencyClassificationStyle = 'fa fa-stop status-pending'; + } + }); + } + } + iconLoanStatusColor() { if (this.loanDetailsData.chargedOff) { return 'loanStatusType.chargeoff'; diff --git a/src/app/loans/loans.module.ts b/src/app/loans/loans.module.ts index da6866dac..087591081 100644 --- a/src/app/loans/loans.module.ts +++ b/src/app/loans/loans.module.ts @@ -79,6 +79,7 @@ import { AssetTransferLoanComponent } from './loans-view/loan-account-actions/as import { ExternalAssetOwnerTabComponent } from './loans-view/external-asset-owner-tab/external-asset-owner-tab.component'; import { ExternalAssetTransferComponent } from './loans-view/external-asset-owner-tab/external-asset-transfer/external-asset-transfer.component'; import { TranslateModule } from '@ngx-translate/core'; +import { LoanDelinquencyActionDialogComponent } from './custom-dialog/loan-delinquency-action-dialog/loan-delinquency-action-dialog.component'; /** * Loans Module @@ -161,7 +162,8 @@ import { TranslateModule } from '@ngx-translate/core'; ChargeOffComponent, AssetTransferLoanComponent, ExternalAssetOwnerTabComponent, - ExternalAssetTransferComponent + ExternalAssetTransferComponent, + LoanDelinquencyActionDialogComponent ], providers: [ ], }) diff --git a/src/app/loans/loans.service.ts b/src/app/loans/loans.service.ts index 2783d36d7..a2508a58d 100644 --- a/src/app/loans/loans.service.ts +++ b/src/app/loans/loans.service.ts @@ -82,6 +82,14 @@ export class LoansService { return this.http.get(`/loans/${loanId}`, { params: httpParams }); } + getDelinquencyActions(loanId: string) { + return this.http.get(`/loans/${loanId}/delinquency-actions`); + } + + createDelinquencyActions(loanId: string, delinquencyActions: any) { + return this.http.post(`/loans/${loanId}/delinquency-actions`, delinquencyActions); + } + /** * Returns the loan template data with specific condition * @param loanId Loan Id diff --git a/src/app/loans/models/loan-account.model.ts b/src/app/loans/models/loan-account.model.ts index 04db8ead6..9bda04802 100644 --- a/src/app/loans/models/loan-account.model.ts +++ b/src/app/loans/models/loan-account.model.ts @@ -24,3 +24,28 @@ export interface InstallmentLevelDelinquency { minimumAgeDays: number; delinquentAmount: number; } + +export interface LoanDelinquencyTags { + id: number; + loanId: number; + delinquencyRange: DelinquencyRange; + addedOnDate: number[]; + liftedOnDate: number[]; +} + +export interface LoanDelinquencyAction { + id: number; + action: string; + startDate: number[]; + endDate: number[]; + createdById: number; + createdOn: Date; + updatedById: number; + lastModifiedOn: Date; +} + +export interface DelinquencyPausePeriod { + active: boolean; + pausePeriodStart: number[]; + pausePeriodEnd: number[]; +} diff --git a/src/app/shared/icons.module.ts b/src/app/shared/icons.module.ts index 904f8e86f..4a8a3c2f4 100644 --- a/src/app/shared/icons.module.ts +++ b/src/app/shared/icons.module.ts @@ -107,7 +107,8 @@ import { faFileExcel, faFileExport, faCalculator, - faCalendarCheck + faCalendarCheck, + faPause } from '@fortawesome/free-solid-svg-icons'; /** @@ -177,6 +178,7 @@ export class IconsModule { faMinusCircle, faMoneyBillAlt, faMoneyCheck, + faPause, faPencilAlt, faPlay, faPlus, diff --git a/src/assets/translations/cs-CS.json b/src/assets/translations/cs-CS.json index cf8b093b3..fa3babe95 100644 --- a/src/assets/translations/cs-CS.json +++ b/src/assets/translations/cs-CS.json @@ -418,6 +418,7 @@ "No": "Ne", "Parameters": "Parametry", "Pattern": "Vzor", + "Pause Delinquency Classification": "Klasifikace delikvence pause", "Pay": "Platit", "Payments": "Platby", "Permissions": "Oprávnění", @@ -703,6 +704,7 @@ "List of share products in the organization": "Seznam produktů sdílení v organizaci. Pro více podrobností klikněte", "Loan Account OverView": "Přehled úvěrového účtu", "Loan Accounts": "Úvěrové účty", + "Loan Delinquency Actions": "Akce delikvence půjčky", "Loan Delinquency Tags": "Značky proplácení úvěrů", "Loan Delinquency Installment Tags": "Značky delikvenční splátky půjčky", "Loan Details": "Podrobnosti o půjčce", @@ -1151,6 +1153,7 @@ "Default Shares per Client": "Výchozí podíly na klienta", "Default Theme": "Výchozí motiv", "Deleted": "Smazáno", + "Delinquency Action": "Akce delikvence", "Delinquency Bucket": "Delikvence Bucket", "Delinquency Classification": "Klasifikace delikvence", "Delinquency Tags": "Štítky delikvence", @@ -2813,6 +2816,7 @@ "Reject Share": "Odmítnout sdílení", "Remove Client from Group": "Odebrat klienta ze skupiny", "Remove Period": "Odebrat období", + "Resume Delinquency Classification": "Pokračovat v klasifikaci delikvence", "Savings Account": "Spořící účet", "Sets the balance required for interest calculation": "Nastavuje zůstatek potřebný pro výpočet úroku", "Sets the maximum allowed overdraft amount": "Nastavuje maximální povolenou částku kontokorentu pro spořicí účet, který smí mít kontokorent", diff --git a/src/assets/translations/de-DE.json b/src/assets/translations/de-DE.json index 2b6f3977f..23502694e 100644 --- a/src/assets/translations/de-DE.json +++ b/src/assets/translations/de-DE.json @@ -418,6 +418,7 @@ "No": "NEIN", "Parameters": "Parameter", "Pattern": "Muster", + "Pause Delinquency Classification": "Pause Kriminalitätsklassifizierung", "Pay": "Zahlen", "Payments": "Zahlungen", "Permissions": "Berechtigungen", @@ -704,6 +705,7 @@ "List of share products in the organization": "Liste der Aktienprodukte in der Organisation. Für weitere Details klicken Sie", "Loan Account OverView": "Kreditkontoübersicht", "Loan Accounts": "Kreditkonten", + "Loan Delinquency Actions": "Darlehenskriminalitätsmaßnahmen", "Loan Delinquency Tags": "Tags für Kreditausfälle", "Loan Delinquency Installment Tags": "Kredit -Delinquenz -Ratenmarke", "Loan Details": "Kreditdetails", @@ -1151,6 +1153,7 @@ "Default Shares per Client": "Standardanteile pro Kunde", "Default Theme": "Standardthema", "Deleted": "Gelöscht", + "Delinquency Action": "Kriminalitätsaktion", "Delinquency Bucket": "Kriminalitätseimer", "Delinquency Classification": "Kriminalitätsklassifizierung", "Delinquency Tags": "Kriminalitäts-Tags", @@ -2812,6 +2815,7 @@ "Reject Share": "Teilen ablehnen", "Remove Client from Group": "Client aus Gruppe entfernen", "Remove Period": "Punkt entfernen", + "Resume Delinquency Classification": "Resume Delinquency Classification", "Savings Account": "Sparkonto", "Sets the balance required for interest calculation": "Legt den für die Zinsberechnung erforderlichen Saldo fest", "Sets the maximum allowed overdraft amount": "Legt den maximal zulässigen Überziehungsbetrag für ein Sparkonto fest, das überzogen werden darf", diff --git a/src/assets/translations/en-US.json b/src/assets/translations/en-US.json index 85011a980..49394ab2f 100644 --- a/src/assets/translations/en-US.json +++ b/src/assets/translations/en-US.json @@ -418,6 +418,7 @@ "No": "No", "Parameters": "Parameters", "Pattern": "Pattern", + "Pause Delinquency Classification": "Pause Delinquency Classification", "Pay": "Pay", "Payments": "Payments", "Permissions": "Permissions", @@ -704,6 +705,7 @@ "List of share products in the organization": "List of share products in the organization. For more details click", "Loan Account OverView": "Loan Account OverView", "Loan Accounts": "Loan Accounts", + "Loan Delinquency Actions": "Loan Delinquency Actions", "Loan Delinquency Tags": "Loan Delinquency Tags", "Loan Delinquency Installment Tags": "Loan Delinquency Installment Tags", "Loan Details": "Loan Details", @@ -1151,6 +1153,7 @@ "Default Shares per Client": "Default Shares per Client", "Default Theme": "Default Theme", "Deleted": "Deleted", + "Delinquency Action": "Delinquency Action", "Delinquency Bucket": "Delinquency Bucket", "Delinquency Classification": "Delinquency Classification", "Delinquency Tags": "Delinquency Tags", @@ -2815,6 +2818,7 @@ "Reject Share": "Reject Share", "Remove Client from Group": "Remove Client from Group", "Remove Period": "Remove Period", + "Resume Delinquency Classification": "Resume Delinquency Classification", "Savings Account": "Savings Account", "Sets the balance required for interest calculation": "Sets the balance required for interest calculation", "Sets the maximum allowed overdraft amount": "Sets the maximum allowed overdraft amount for a saving account that is allowed to have an overdraft", diff --git a/src/assets/translations/es-MX.json b/src/assets/translations/es-MX.json index d37e7317f..8054a244a 100644 --- a/src/assets/translations/es-MX.json +++ b/src/assets/translations/es-MX.json @@ -418,6 +418,7 @@ "No": "No", "Parameters": "Parámetros", "Pattern": "Patrón", + "Pause Delinquency Classification": "Pausar Clasificación de delincuencia", "Pay": "Pagar", "Payments": "Pagos", "Permissions": "Permisos", @@ -704,6 +705,7 @@ "List of share products in the organization": "Listado de productos compartidos en la organización. Para más detalles haga clic", "Loan Account OverView": "Descripción general de la cuenta de Crédito", "Loan Accounts": "Cuentas de Crédito", + "Loan Delinquency Actions": "Acciones de Delincuencia de Crédito", "Loan Delinquency Tags": "Etiquetas de morosidad de Créditos", "Loan Delinquency Installment Tags": "Etiquetas de morosidad de cuotas", "Loan Details": "Detalles del Crédito", @@ -897,7 +899,7 @@ "Add Groups": "Agregar grupos", "Add Journal Entries": "Agregar entradas de diario", "Added On": "Añadido", - "Address": "DIRECCIÓN", + "Address": "Domicilio", "Address Line": "Dirección", "Adjust advance payments toward future installments": "Ajustar los pagos por adelantado a cuotas futuras", "Adjust interest rates for remainder of loan": "Ajustar las tasas de interés para el resto del Crédito", @@ -1151,6 +1153,7 @@ "Default Shares per Client": "Acciones predeterminadas por cliente", "Default Theme": "Tema predeterminado", "Deleted": "Eliminado", + "Delinquency Action": "Acción de morosidad", "Delinquency Bucket": "Cubo de morosidad", "Delinquency Classification": "Clasificación de morosidad", "Delinquency Tags": "Etiquetas de morosidad", @@ -2167,7 +2170,7 @@ "Add new share product or modify or inactivate share product": "Agregar nuevo producto compartido o modificar o desactivar el producto compartido", "Add, modify or inactivate a Fixed deposit product": "Agregar, modificar o desactivar un producto de depósito fijo", "Add, modify or inactivate a Recurring Deposit product": "Agregar, modificar o desactivar un producto de depósito recurrente", - "Address": "DIRECCIÓN", + "Address": "Domicilio", "Adhoc Query": "Consulta ad hoc", "Advance Search": "Búsqueda Avanzada", "Advanced search option for journal entries": "Opción de búsqueda avanzada para entradas de diario", @@ -2813,6 +2816,7 @@ "Reject Share": "Rechazar compartir", "Remove Client from Group": "Eliminar cliente del grupo", "Remove Period": "Eliminar período", + "Resume Delinquency Classification": "Reanudar la clasificación de la delincuencia", "Savings Account": "Cuenta de ahorros", "Sets the balance required for interest calculation": "Establece el saldo requerido para el cálculo de intereses.", "Sets the maximum allowed overdraft amount": "Establece el monto máximo de sobregiro permitido para una cuenta de ahorro a la que se le permite tener un sobregiro", diff --git a/src/assets/translations/fr-FR.json b/src/assets/translations/fr-FR.json index 7caeca429..42308f346 100644 --- a/src/assets/translations/fr-FR.json +++ b/src/assets/translations/fr-FR.json @@ -418,6 +418,7 @@ "No": "Non", "Parameters": "Paramètres", "Pattern": "Modèle", + "Pause Delinquency Classification": "Classification de la délinquance de pause", "Pay": "Payer", "Payments": "Paiements", "Permissions": "Autorisations", @@ -704,6 +705,7 @@ "List of share products in the organization": "Liste des produits partagés dans l’organisation. Pour plus de détails cliquez", "Loan Account OverView": "Aperçu du compte de prêt", "Loan Accounts": "Comptes de prêt", + "Loan Delinquency Actions": "Actions de délinquance de prêt", "Loan Delinquency Tags": "Étiquettes de délinquance de prêt", "Loan Delinquency Installment Tags": "Étiquettes de versement de délinquance de prêt", "Loan Details": "Détails du prêt", @@ -1151,6 +1153,7 @@ "Default Shares per Client": "Actions par défaut par client", "Default Theme": "Thème par défaut", "Deleted": "Supprimé", + "Delinquency Action": "Action de délinquance", "Delinquency Bucket": "Seau de délinquance", "Delinquency Classification": "Classification de la délinquance", "Delinquency Tags": "Étiquettes de délinquance", @@ -2813,6 +2816,7 @@ "Reject Share": "Rejeter le partage", "Remove Client from Group": "Supprimer le client du groupe", "Remove Period": "Supprimer la période", + "Resume Delinquency Classification": "Reprendre la classification de la délinquance", "Savings Account": "Compte épargne", "Sets the balance required for interest calculation": "Définit le solde requis pour le calcul des intérêts", "Sets the maximum allowed overdraft amount": "Définit le montant de découvert maximum autorisé pour un compte d'épargne autorisé à avoir un découvert", diff --git a/src/assets/translations/it-IT.json b/src/assets/translations/it-IT.json index a320f67f7..fc3469504 100644 --- a/src/assets/translations/it-IT.json +++ b/src/assets/translations/it-IT.json @@ -418,6 +418,7 @@ "No": "NO", "Parameters": "Parametri", "Pattern": "Modello", + "Pause Delinquency Classification": "Pausa la classificazione della delinquenza", "Pay": "Paga", "Payments": "Pagamenti", "Permissions": "Autorizzazioni", @@ -704,6 +705,7 @@ "List of share products in the organization": "Elenco dei prodotti condivisi nell'organizzazione. Per maggiori dettagli clicca", "Loan Account OverView": "Panoramica del conto di prestito", "Loan Accounts": "Conti di prestito", + "Loan Delinquency Actions": "Azioni di delinquenza del prestito", "Loan Delinquency Tags": "Tag di insolvenza del prestito", "Loan Delinquency Installment Tags": "Prestito tag di rata delinquenza", "Loan Details": "Dettagli del prestito", @@ -1151,6 +1153,7 @@ "Default Shares per Client": "Condivisioni predefinite per cliente", "Default Theme": "Tema predefinito", "Deleted": "Eliminato", + "Delinquency Action": "Azione di delinquenza", "Delinquency Bucket": "Il secchio della delinquenza", "Delinquency Classification": "Classificazione della delinquenza", "Delinquency Tags": "Tag di delinquenza", @@ -2813,6 +2816,7 @@ "Reject Share": "Rifiuta condivisione", "Remove Client from Group": "Rimuovi il cliente dal gruppo", "Remove Period": "Rimuovi punto", + "Resume Delinquency Classification": "Riprendi la classificazione delinquenza", "Savings Account": "Conto di risparmio", "Sets the balance required for interest calculation": "Imposta il saldo richiesto per il calcolo degli interessi", "Sets the maximum allowed overdraft amount": "Imposta l'importo massimo di scoperto consentito per un conto di risparmio a cui è consentito avere uno scoperto", diff --git a/src/assets/translations/ko-KO.json b/src/assets/translations/ko-KO.json index b1fbec325..1124139a5 100644 --- a/src/assets/translations/ko-KO.json +++ b/src/assets/translations/ko-KO.json @@ -418,6 +418,7 @@ "No": "아니요", "Parameters": "매개변수", "Pattern": "무늬", + "Pause Delinquency Classification": "연체 분류 일시 정지", "Pay": "지불하다", "Payments": "결제", "Permissions": "권한", @@ -704,6 +705,7 @@ "List of share products in the organization": "조직의 공유 제품 목록입니다. 자세한 내용을 보려면 클릭하세요.", "Loan Account OverView": "대출계좌 개요", "Loan Accounts": "대출 계좌", + "Loan Delinquency Actions": "대출 연체 조치", "Loan Delinquency Tags": "대출 연체 태그", "Loan Delinquency Installment Tags": "대출 연체 설치 태그", "Loan Details": "대출내역", @@ -1151,6 +1153,7 @@ "Default Shares per Client": "클라이언트당 기본 공유", "Default Theme": "기본 테마", "Deleted": "삭제됨", + "Delinquency Action": "연체 행동", "Delinquency Bucket": "연체 버킷", "Delinquency Classification": "연체 분류", "Delinquency Tags": "연체 태그", @@ -2813,6 +2816,7 @@ "Reject Share": "공유 거부", "Remove Client from Group": "그룹에서 클라이언트 제거", "Remove Period": "기간 삭제", + "Resume Delinquency Classification": "연체 분류를 재개하십시오", "Savings Account": "예금 계좌", "Sets the balance required for interest calculation": "이자 계산에 필요한 잔액을 설정합니다.", "Sets the maximum allowed overdraft amount": "초과인출이 허용된 저축계좌에 대한 최대 허용 초과인월 금액을 설정합니다.", diff --git a/src/assets/translations/lt-LT.json b/src/assets/translations/lt-LT.json index 2776c8e53..9243bb10b 100644 --- a/src/assets/translations/lt-LT.json +++ b/src/assets/translations/lt-LT.json @@ -418,6 +418,7 @@ "No": "Nr", "Parameters": "Parametrai", "Pattern": "Šablonas", + "Pause Delinquency Classification": "Pauzės nusikalstamumo klasifikacija", "Pay": "Mokėti", "Payments": "Mokėjimai", "Permissions": "Leidimai", @@ -704,6 +705,7 @@ "List of share products in the organization": "Dalijimosi produktų sąrašas organizacijoje. Norėdami gauti daugiau informacijos, spustelėkite", "Loan Account OverView": "Paskolos sąskaitos apžvalga", "Loan Accounts": "Paskolų sąskaitos", + "Loan Delinquency Actions": "Paskolos nusikalstamumo veiksmai", "Loan Delinquency Tags": "Paskolų vėlavimo žymos", "Loan Delinquency Installment Tags": "Paskolos nusikalstamumo įmokos žymos", "Loan Details": "Paskolos informacija", @@ -1151,6 +1153,7 @@ "Default Shares per Client": "Numatytosios akcijos vienam klientui", "Default Theme": "Numatytoji tema", "Deleted": "Ištrinta", + "Delinquency Action": "Deliktingumo veiksmas", "Delinquency Bucket": "Nusikaltimų kibiras", "Delinquency Classification": "Nusikaltimų klasifikacija", "Delinquency Tags": "Nusikaltimų žymos", @@ -2813,6 +2816,7 @@ "Reject Share": "Atmesti bendrinimą", "Remove Client from Group": "Pašalinti klientą iš grupės", "Remove Period": "Pašalinti laikotarpį", + "Resume Delinquency Classification": "Atnaujinti delspinijos klasifikaciją", "Savings Account": "Taupomoji sąskaita", "Sets the balance required for interest calculation": "Nustato likutį, reikalingą palūkanų skaičiavimui", "Sets the maximum allowed overdraft amount": "Nustato didžiausią leistiną taupomosios sąskaitos overdrafto sumą, kuriai leidžiama pereikvoti", diff --git a/src/assets/translations/lv-LV.json b/src/assets/translations/lv-LV.json index 9f6a3259e..c40670847 100644 --- a/src/assets/translations/lv-LV.json +++ b/src/assets/translations/lv-LV.json @@ -418,6 +418,7 @@ "No": "Nē", "Parameters": "Parametri", "Pattern": "Raksts", + "Pause Delinquency Classification": "Pauzes likumpārkāpumu klasifikācija", "Pay": "Maksājiet", "Payments": "Maksājumi", "Permissions": "Atļaujas", @@ -704,6 +705,7 @@ "List of share products in the organization": "Organizācijas koplietošanas produktu saraksts. Lai iegūtu sīkāku informāciju, noklikšķiniet", "Loan Account OverView": "Aizdevuma konta pārskats", "Loan Accounts": "Aizdevuma konti", + "Loan Delinquency Actions": "Aizdevuma likumpārkāpumu darbības", "Loan Delinquency Tags": "Aizdevuma kavējuma birkas", "Loan Delinquency Installment Tags": "Aizdevuma likumpārkāpumu iemaksas tagi", "Loan Details": "Aizdevuma detaļas", @@ -1151,6 +1153,7 @@ "Default Shares per Client": "Noklusējuma akcijas vienam klientam", "Default Theme": "Noklusējuma motīvs", "Deleted": "Izdzēsts", + "Delinquency Action": "Likumpārkāpums", "Delinquency Bucket": "Noziedzības spainis", "Delinquency Classification": "Noziedzības klasifikācija", "Delinquency Tags": "Noziedzības tagi", @@ -2813,6 +2816,7 @@ "Reject Share": "Noraidīt kopīgošanu", "Remove Client from Group": "Noņemt klientu no grupas", "Remove Period": "Noņemt periodu", + "Resume Delinquency Classification": "Atsākt likumpārkāpumu klasifikāciju", "Savings Account": "Krājkonts", "Sets the balance required for interest calculation": "Iestata procentu aprēķināšanai nepieciešamo atlikumu", "Sets the maximum allowed overdraft amount": "Iestata maksimāli pieļaujamo overdrafta summu krājkontam, kuram ir atļauts overdrafts", diff --git a/src/assets/translations/ne-NE.json b/src/assets/translations/ne-NE.json index e259b28e3..41e6406fd 100644 --- a/src/assets/translations/ne-NE.json +++ b/src/assets/translations/ne-NE.json @@ -418,6 +418,7 @@ "No": "छैन", "Parameters": "प्यारामिटरहरू", "Pattern": "ढाँचा", + "Pause Delinquency Classification": "रोलीविद् वर्गीकरण रोक्नुहोस्", "Pay": "तिर्नुहोस्", "Payments": "भुक्तानीहरू", "Permissions": "अनुमतिहरू", @@ -704,6 +705,7 @@ "List of share products in the organization": "संगठनमा साझेदारी उत्पादनहरूको सूची। थप विवरणहरूको लागि क्लिक गर्नुहोस्", "Loan Account OverView": "ऋण खाता अवलोकन", "Loan Accounts": "ऋण खाताहरू", + "Loan Delinquency Actions": "Dep ण दिक्विटी कार्यहरू", "Loan Delinquency Tags": "ऋण अपराध ट्यागहरू", "Loan Delinquency Installment Tags": "ण दिक्विर्याज किग ट्यागहरू", "Loan Details": "ऋण विवरण", @@ -1151,6 +1153,7 @@ "Default Shares per Client": "प्रति ग्राहक पूर्वनिर्धारित शेयरहरू", "Default Theme": "पूर्वनिर्धारित विषयवस्तु", "Deleted": "मेटाइयो", + "Delinquency Action": "अपराध कार्य", "Delinquency Bucket": "अपराध बाल्टी", "Delinquency Classification": "अपराध वर्गीकरण", "Delinquency Tags": "अपराध ट्यागहरू", @@ -2813,6 +2816,7 @@ "Reject Share": "साझेदारी अस्वीकार गर्नुहोस्", "Remove Client from Group": "समूहबाट ग्राहक हटाउनुहोस्", "Remove Period": "अवधि हटाउनुहोस्", + "Resume Delinquency Classification": "Deminuquicum वर्गीकरण पुनः सुरु गर्नुहोस्", "Savings Account": "बचत खाता", "Sets the balance required for interest calculation": "ब्याज गणनाको लागि आवश्यक ब्यालेन्स सेट गर्दछ", "Sets the maximum allowed overdraft amount": "ओभरड्राफ्ट गर्न अनुमति दिइएको बचत खाताको लागि अधिकतम अनुमति दिइएको ओभरड्राफ्ट रकम सेट गर्दछ", diff --git a/src/assets/translations/pt-PT.json b/src/assets/translations/pt-PT.json index 254607072..ea23eab6a 100644 --- a/src/assets/translations/pt-PT.json +++ b/src/assets/translations/pt-PT.json @@ -418,6 +418,7 @@ "No": "Não", "Parameters": "Parâmetros", "Pattern": "Padrão", + "Pause Delinquency Classification": "Pausa Classificação de inadimplência", "Pay": "Pagar", "Payments": "Pagamentos", "Permissions": "Permissões", @@ -704,6 +705,7 @@ "List of share products in the organization": "Lista de produtos compartilhados na organização. Para mais detalhes clique", "Loan Account OverView": "Visão geral da conta de empréstimo", "Loan Accounts": "Contas de empréstimo", + "Loan Delinquency Actions": "Ações de inadimplência de empréstimos", "Loan Delinquency Tags": "Inadimplência de Empréstimo Tags", "Loan Delinquency Installment Tags": "Tags de parcelamento de inadimplência de empréstimo", "Loan Details": "Detalhes do empréstimo", @@ -1151,6 +1153,7 @@ "Default Shares per Client": "Compartilhamentos padrão por cliente", "Default Theme": "Tema Padrão", "Deleted": "Excluído", + "Delinquency Action": "Ação de inadimplência", "Delinquency Bucket": "Balde de inadimplência", "Delinquency Classification": "Classificação de Inadimplência", "Delinquency Tags": "Tags de inadimplência", @@ -2813,6 +2816,7 @@ "Reject Share": "Rejeitar compartilhamento", "Remove Client from Group": "Remover cliente do grupo", "Remove Period": "Remover período", + "Resume Delinquency Classification": "Retomar a classificação da inadimplência", "Savings Account": "Conta Poupança", "Sets the balance required for interest calculation": "Define o saldo necessário para cálculo de juros", "Sets the maximum allowed overdraft amount": "Define o valor máximo permitido de cheque especial para uma conta poupança que pode ter cheque especial", diff --git a/src/assets/translations/sw-SW.json b/src/assets/translations/sw-SW.json index b80e263a3..bedb41096 100644 --- a/src/assets/translations/sw-SW.json +++ b/src/assets/translations/sw-SW.json @@ -418,6 +418,7 @@ "No": "Hapana", "Parameters": "Vigezo", "Pattern": "Muundo", + "Pause Delinquency Classification": "Pumzika uainishaji wa udanganyifu", "Pay": "Lipa", "Payments": "Malipo", "Permissions": "Ruhusa", @@ -704,6 +705,7 @@ "List of share products in the organization": "Orodha ya bidhaa zinazoshirikiwa katika shirika. Kwa maelezo zaidi bofya", "Loan Account OverView": "Muhtasari wa Akaunti ya Mkopo", "Loan Accounts": "Hesabu za Mikopo", + "Loan Delinquency Actions": "Vitendo vya upungufu wa mkopo", "Loan Delinquency Tags": "Lebo za Uhalifu wa Mkopo", "Loan Delinquency Installment Tags": "Vitambulisho vya Usanidi wa Mikopo ya Mkopo", "Loan Details": "Maelezo ya Mkopo", @@ -1151,6 +1153,7 @@ "Default Shares per Client": "Hisa Chaguomsingi kwa kila Mteja", "Default Theme": "Mandhari Chaguomsingi", "Deleted": "Imefutwa", + "Delinquency Action": "Kitendo cha Delinquency", "Delinquency Bucket": "Ndoo ya Uhalifu", "Delinquency Classification": "Uainishaji wa Uhalifu", "Delinquency Tags": "Lebo za Uhalifu", @@ -2813,6 +2816,7 @@ "Reject Share": "Kataa Kushiriki", "Remove Client from Group": "Ondoa Mteja kutoka kwa Kikundi", "Remove Period": "Ondoa Kipindi", + "Resume Delinquency Classification": "Anza uainishaji wa udanganyifu", "Savings Account": "Akaunti ya Akiba", "Sets the balance required for interest calculation": "Huweka salio linalohitajika kwa kukokotoa riba", "Sets the maximum allowed overdraft amount": "Huweka kiwango cha juu kinachoruhusiwa cha overdraft kwa akaunti ya akiba ambayo inaruhusiwa kuwa na overdraft",