+
@@ -8,52 +8,52 @@
| # |
- {{ ele.period }} |
+ {{ item.period }} |
|
{{ 'labels.inputs.Days' | translate }} |
- {{ ele.daysInPeriod }} |
+ {{ item.daysInPeriod }} |
Total |
{{ 'labels.inputs.Date' | translate }} |
-
- {{ ele.dueDate | dateFormat }}
+ |
+ {{ item.dueDate | dateFormat }}
|
|
{{ 'labels.inputs.Paid Date' | translate }} |
-
- {{ ele.obligationsMetOnDate | dateFormat }}
+ |
+ {{ item.obligationsMetOnDate | dateFormat }}
|
|
|
-
-
+ |
+
|
|
{{ 'labels.inputs.Balance Of Loan' | translate }} |
-
- {{ ele.principalLoanBalanceOutstanding | formatNumber }}
+ |
+ {{ item.principalLoanBalanceOutstanding | formatNumber }}
|
|
{{ 'labels.inputs.Principal Due' | translate }} |
-
- {{ ele.principalDue | formatNumber }}
+ |
+ {{ item.principalDue | formatNumber }}
|
@@ -64,8 +64,8 @@
| {{ 'labels.inputs.Interest' | translate }} |
-
- {{ ele.interestOriginalDue | formatNumber }}
+ |
+ {{ item.interestOriginalDue | formatNumber }}
|
@@ -76,8 +76,8 @@
| {{ 'labels.inputs.Fees' | translate }} |
-
- {{ ele.feeChargesDue | formatNumber }}
+ |
+ {{ item.feeChargesDue | formatNumber }}
|
@@ -88,8 +88,8 @@
| {{ 'labels.inputs.Penalties' | translate }} |
-
- {{ ele.penaltyChargesDue | formatNumber }}
+ |
+ {{ item.penaltyChargesDue | formatNumber }}
|
@@ -100,8 +100,8 @@
| {{ 'labels.inputs.Due' | translate }} |
-
- {{ ele.totalDueForPeriod | formatNumber }}
+ |
+ {{ item.totalDueForPeriod | formatNumber }}
|
@@ -112,8 +112,8 @@
| {{ 'labels.inputs.Paid' | translate }} |
-
- {{ ele.totalPaidForPeriod | formatNumber }}
+ |
+ {{ item.totalPaidForPeriod | formatNumber }}
|
{{ repaymentScheduleDetails.totalRepayment | currency: currencyCode : 'symbol-narrow' : '1.2-2' }}
@@ -122,8 +122,8 @@
| {{ 'labels.inputs.In advance' | translate }} |
-
- {{ ele.totalPaidInAdvanceForPeriod | formatNumber }}
+ |
+ {{ item.totalPaidInAdvanceForPeriod | formatNumber }}
|
{{ repaymentScheduleDetails.totalPaidInAdvance | currency: currencyCode : 'symbol-narrow' : '1.2-2' }}
@@ -132,8 +132,8 @@
| {{ 'labels.inputs.Late' | translate }} |
-
- {{ ele.totalPaidLateForPeriod | formatNumber }}
+ |
+ {{ item.totalPaidLateForPeriod | formatNumber }}
|
{{ repaymentScheduleDetails.totalPaidLate | currency: currencyCode : 'symbol-narrow' : '1.2-2' }}
@@ -143,8 +143,8 @@
| {{ 'labels.inputs.Waived' | translate }} |
-
- {{ ele.totalWaivedForPeriod | formatNumber }}
+ |
+ {{ item.totalWaivedForPeriod | formatNumber }}
|
{{ repaymentScheduleDetails.totalWaived | currency: currencyCode : 'symbol-narrow' : '1.2-2' }}
@@ -155,14 +155,14 @@
|
- |
+ |
|
{{ 'labels.inputs.Outstanding' | translate }} |
- {{ ele.totalOutstandingForPeriod | formatNumber }} |
+ {{ item.totalOutstandingForPeriod | formatNumber }} |
{{ repaymentScheduleDetails.totalOutstanding | currency: currencyCode : 'symbol-narrow' : '1.2-2' }}
|
@@ -200,98 +200,95 @@
| | | | | | | | |
-
-
-
- | # |
- {{ ele.period }} |
- |
-
+ 0"
+ >
+
+ | # |
+ {{ item.period }} |
+
-
- {{ 'labels.inputs.Date' | translate }} |
- {{ ele.dueDate | dateFormat }} |
- |
-
+
+ {{ 'labels.inputs.Date' | translate }} |
+
+
+ {{ item.dueDate | dateFormat }}
+
+ |
+
-
- {{ 'labels.inputs.Balance Of Loan' | translate }} |
-
- {{ ele.principalLoanBalanceOutstanding | formatNumber }}
- |
- |
-
+
+ {{ 'labels.inputs.Balance Of Loan' | translate }} |
+
+ {{ item.principalLoanBalanceOutstanding | formatNumber }}
+ |
+
-
- {{ 'labels.inputs.Principal Due' | translate }} |
- {{ ele.principalDue | formatNumber }} |
-
-
- {{
- repaymentScheduleDetails.totalPrincipalExpected | currency: currencyCode : 'symbol-narrow' : '1.2-2'
- }}
- |
-
+
+ {{ 'labels.inputs.Principal Due' | translate }} |
+
+
+ {{ item.principalDue | formatNumber }}
+
+ |
+
-
- {{ 'labels.inputs.Interest' | translate }} |
- {{ ele.interestOriginalDue | formatNumber }} |
-
-
- {{ repaymentScheduleDetails.totalInterestCharged | currency: currencyCode : 'symbol-narrow' : '1.2-2' }}
-
- |
-
+
+ {{ 'labels.inputs.Interest' | translate }} |
+ {{ item.interestOriginalDue | formatNumber }} |
+
-
- {{ 'labels.inputs.Fees' | translate }} |
- {{ ele.feeChargesDue | formatNumber }} |
-
-
- {{ repaymentScheduleDetails.totalFeeChargesCharged | currency: currencyCode : 'symbol-narrow' : '1.2-2' }}
-
- |
-
+
+ {{ 'labels.inputs.Fees' | translate }} |
+ {{ item.feeChargesDue | formatNumber }} |
+
-
- {{ 'labels.inputs.Installment Amount' | translate }} |
-
-
- {{ ele.totalDueForPeriod | formatNumber }}
-
-
- {{ ele.totalDueForPeriod | formatNumber }}
-
- |
-
-
- {{ repaymentScheduleDetails.totalRepaymentExpected | currency: currencyCode : 'symbol-narrow' : '1.2-2' }}
-
- |
-
+
+ {{ 'labels.inputs.Installment Amount' | translate }} |
+
+
+ {{ item.totalDueForPeriod | formatNumber }}
+
+
+ {{ item.totalDueForPeriod | formatNumber }}
+
+ |
+
-
- {{ 'labels.inputs.Actions' | translate }} |
-
-
- |
- |
-
+
+ {{ 'labels.inputs.Actions' | translate }} |
+
+
+
+
+
+
+
+ |
+ |
+
-
-
-
-
-
+
+
+
diff --git a/src/app/loans/loans-view/repayment-schedule-tab/repayment-schedule-tab.component.ts b/src/app/loans/loans-view/repayment-schedule-tab/repayment-schedule-tab.component.ts
index cca237e71..aeeab68ea 100644
--- a/src/app/loans/loans-view/repayment-schedule-tab/repayment-schedule-tab.component.ts
+++ b/src/app/loans/loans-view/repayment-schedule-tab/repayment-schedule-tab.component.ts
@@ -1,8 +1,13 @@
-import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
+import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';
+import { MatDialog } from '@angular/material/dialog';
import { ActivatedRoute } from '@angular/router';
import { Dates } from 'app/core/utils/dates';
import { RepaymentSchedulePeriod } from 'app/loans/models/loan-account.model';
import { SettingsService } from 'app/settings/settings.service';
+import { FormDialogComponent } from 'app/shared/form-dialog/form-dialog.component';
+import { DatepickerBase } from 'app/shared/form-dialog/formfield/model/datepicker-base';
+import { FormfieldBase } from 'app/shared/form-dialog/formfield/model/formfield-base';
+import { InputBase } from 'app/shared/form-dialog/formfield/model/input-base';
import { jsPDF, jsPDFOptions } from 'jspdf';
import autoTable from 'jspdf-autotable';
@@ -12,7 +17,7 @@ import autoTable from 'jspdf-autotable';
templateUrl: './repayment-schedule-tab.component.html',
styleUrls: ['./repayment-schedule-tab.component.scss']
})
-export class RepaymentScheduleTabComponent implements OnInit {
+export class RepaymentScheduleTabComponent implements OnInit, OnChanges {
/** Currency Code */
@Input() currencyCode: string;
/** Loan Repayment Schedule to be Edited */
@@ -21,6 +26,13 @@ export class RepaymentScheduleTabComponent implements OnInit {
@Input() repaymentScheduleDetails: any = null;
loanDetailsDataRepaymentSchedule: any = [];
+ editCache: { [key: string]: any } = {};
+ listOfData: any[] = [];
+
+ repaymentSchedulePeriods: RepaymentSchedulePeriod[] = [];
+
+ totalRepaymentExpected: number = 0;
+
/** Stores if there is any waived amount */
isWaived: boolean;
/** Columns to be displayed in original schedule table. */
@@ -50,7 +62,8 @@ export class RepaymentScheduleTabComponent implements OnInit {
'principalDue',
'interest',
'fees',
- 'due'
+ 'due',
+ 'actions'
];
/** Form functions event */
@@ -65,7 +78,8 @@ export class RepaymentScheduleTabComponent implements OnInit {
constructor(
private route: ActivatedRoute,
private settingsService: SettingsService,
- private dates: Dates
+ private dateUtils: Dates,
+ private dialog: MatDialog
) {
this.route.parent.data.subscribe((data: { loanDetailsData: any }) => {
if (data.loanDetailsData) {
@@ -81,6 +95,14 @@ export class RepaymentScheduleTabComponent implements OnInit {
this.repaymentScheduleDetails = this.loanDetailsDataRepaymentSchedule;
}
this.isWaived = this.repaymentScheduleDetails.totalWaived > 0;
+ this.updateEditCache();
+ }
+
+ ngOnChanges(changes: SimpleChanges): void {
+ this.totalRepaymentExpected = 0;
+ this.listOfData.forEach((item) => {
+ this.totalRepaymentExpected = this.totalRepaymentExpected + item.totalDueForPeriod;
+ });
}
installmentStyle(installment: RepaymentSchedulePeriod): string {
@@ -103,8 +125,8 @@ export class RepaymentScheduleTabComponent implements OnInit {
if (!installment.fromDate) {
return '';
} else {
- const fromDate = this.dates.parseDate(installment.fromDate);
- const dueDate = this.dates.parseDate(installment.dueDate);
+ const fromDate = this.dateUtils.parseDate(installment.fromDate);
+ const dueDate = this.dateUtils.parseDate(installment.dueDate);
if (fromDate <= this.businessDate && this.businessDate < dueDate) {
return 'current';
}
@@ -116,7 +138,7 @@ export class RepaymentScheduleTabComponent implements OnInit {
}
exportToPDF() {
- const businessDate = this.dates.formatDate(this.settingsService.businessDate, Dates.DEFAULT_DATEFORMAT);
+ const businessDate = this.dateUtils.formatDate(this.settingsService.businessDate, Dates.DEFAULT_DATEFORMAT);
const fileName = `repaymentschedule-${businessDate}.pdf`;
const options: jsPDFOptions = {
@@ -144,4 +166,77 @@ export class RepaymentScheduleTabComponent implements OnInit {
});
pdf.save(fileName);
}
+
+ editInstallment(period: RepaymentSchedulePeriod): void {
+ this.editCache[period.period].edit = true;
+ const formfields: FormfieldBase[] = [
+ new DatepickerBase({
+ controlName: 'dueDate',
+ label: 'Due Date',
+ value: this.dateUtils.parseDate(period.dueDate),
+ type: 'date',
+ required: true
+ }),
+ new InputBase({
+ controlName: 'principalDue',
+ label: 'Amount',
+ value: period.principalDue,
+ type: 'number',
+ required: true
+ })
+
+ ];
+
+ const data = {
+ title: 'Period',
+ formfields: formfields
+ };
+ const addDialogRef = this.dialog.open(FormDialogComponent, { data, width: '50rem' });
+ addDialogRef.afterClosed().subscribe((response: any) => {
+ if (response.data) {
+ }
+ });
+ }
+
+ cancelEdit(id: string): void {
+ const index = this.listOfData.findIndex((item) => item.id === id);
+ this.editCache[id] = {
+ data: { ...this.listOfData[index] },
+ edit: false
+ };
+ }
+
+ saveEdit(period: string): void {
+ const index = this.listOfData.findIndex((item) => item.period === period);
+ Object.assign(this.listOfData[index], this.editCache[period].data);
+ this.editCache[period].edit = false;
+ this.editPeriod.emit(period);
+ }
+
+ updateEditCache(): void {
+ if (this.repaymentScheduleDetails != null) {
+ this.listOfData = this.repaymentScheduleDetails.periods;
+ this.totalRepaymentExpected = 0;
+ this.listOfData.forEach((item) => {
+ this.editCache[item.period] = {
+ edit: false,
+ data: { ...item }
+ };
+ this.totalRepaymentExpected = this.totalRepaymentExpected + item.totalDueForPeriod;
+ });
+ }
+ }
+
+ numberOnly(inputFormControl: any, event: any): boolean {
+ const charCode = event.which ? event.which : event.keyCode;
+ if (charCode === 46) {
+ if (!(inputFormControl.value.indexOf('.') > -1)) {
+ return true;
+ }
+ return false;
+ } else if (charCode > 31 && (charCode < 48 || charCode > 57)) {
+ return false;
+ }
+ return true;
+ }
}
diff --git a/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.html b/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.html
index 053770e4b..e138b7f5b 100644
--- a/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.html
+++ b/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.html
@@ -496,6 +496,11 @@
{{ loanProduct.daysInYearType?.value | translateKey: 'catalogs' }}
+
+ {{ 'labels.inputs.Days in year custom strategy' | translate }}:
+ {{ loanProduct.daysInYearCustomStrategy.value | translateKey: 'catalogs' }}
+
+
{{ 'labels.inputs.Days in month' | translate }}:
{{ loanProduct.daysInMonthType?.value | translateKey: 'catalogs' }}
diff --git a/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.ts b/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.ts
index ef49733a3..0bf5b638d 100644
--- a/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.ts
+++ b/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.ts
@@ -275,6 +275,13 @@ export class LoanProductSummaryComponent implements OnInit, OnChanges {
this.loanProductsTemplate.daysInYearTypeOptions
);
this.loanProduct.daysInYearType = optionValue;
+ if (this.isAdvancedPaymentAllocation && this.loanProduct.daysInYearType.id == 1) {
+ optionValue = this.optionDataLookUp(
+ this.loanProduct.daysInYearCustomStrategy,
+ this.loanProductsTemplate.daysInYearCustomStrategyOptions
+ );
+ }
+ this.loanProduct.daysInYearCustomStrategy = optionValue;
optionValue = this.optionDataLookUp(
this.loanProduct.interestRateFrequencyType,
this.loanProductsTemplate.interestRateFrequencyTypeOptions
diff --git a/src/app/products/loan-products/create-loan-product/create-loan-product.component.scss b/src/app/products/loan-products/create-loan-product/create-loan-product.component.scss
index 4826822fb..ea4762e65 100644
--- a/src/app/products/loan-products/create-loan-product/create-loan-product.component.scss
+++ b/src/app/products/loan-products/create-loan-product/create-loan-product.component.scss
@@ -1,4 +1,6 @@
.container {
+ max-width: 86rem;
+ width: 96%;
padding-bottom: 30px;
}
diff --git a/src/app/products/loan-products/edit-loan-product/edit-loan-product.component.scss b/src/app/products/loan-products/edit-loan-product/edit-loan-product.component.scss
index e1b888d16..f141b67b8 100644
--- a/src/app/products/loan-products/edit-loan-product/edit-loan-product.component.scss
+++ b/src/app/products/loan-products/edit-loan-product/edit-loan-product.component.scss
@@ -1,3 +1,5 @@
.container {
+ max-width: 86rem;
+ width: 96%;
padding-bottom: 30px;
}
diff --git a/src/app/products/loan-products/loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component.html b/src/app/products/loan-products/loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component.html
index 9047ab7ac..50120bb7e 100644
--- a/src/app/products/loan-products/loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component.html
+++ b/src/app/products/loan-products/loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component.html
@@ -330,6 +330,21 @@
+
+ {{ 'labels.inputs.Days in year custom strategy' | translate }}
+
+
+ {{ daysInYearCustomStrategy.value | translateKey: 'catalogs' }}
+
+
+
+
{{ 'labels.inputs.Days in month' | translate }}
{
+ if (this.isAdvancedTransactionProcessingStrategy) {
+ this.useDaysInYearCustomStrategy = daysInYearType == 1;
+ if (this.useDaysInYearCustomStrategy) {
+ const daysInYearCustomStrategy: string = this.loanProductsTemplate.daysInYearCustomStrategy?.id
+ ? this.loanProductsTemplate.daysInYearCustomStrategy.id
+ : '';
+ this.loanProductSettingsForm.addControl(
+ 'daysInYearCustomStrategy',
+ new UntypedFormControl(daysInYearCustomStrategy, Validators.required)
+ );
+ } else {
+ this.loanProductSettingsForm.removeControl('daysInYearCustomStrategy');
+ }
+ }
+ });
+
this.loanProductSettingsForm
.get('interestCalculationPeriodType')
.valueChanges.subscribe((interestCalculationPeriodType: any) => {
@@ -696,6 +714,7 @@ export class LoanProductSettingsStepComponent implements OnInit {
if (productSettings['delinquencyBucketId'] === '') {
productSettings['delinquencyBucketId'] = null;
}
+ console.log(productSettings);
return productSettings;
}
diff --git a/src/app/products/loan-products/models/loan-product.model.ts b/src/app/products/loan-products/models/loan-product.model.ts
index c07af8388..f54624a05 100644
--- a/src/app/products/loan-products/models/loan-product.model.ts
+++ b/src/app/products/loan-products/models/loan-product.model.ts
@@ -52,6 +52,7 @@ export interface LoanProduct {
paymentAllocation?: PaymentAllocation[];
creditAllocation?: CreditAllocation[];
daysInMonthType: OptionData;
+ daysInYearCustomStrategy?: OptionData;
daysInYearType: OptionData;
isInterestRecalculationEnabled: boolean;
interestRecalculationData?: InterestRecalculationData;
diff --git a/src/app/products/loan-products/view-loan-product/view-loan-product.component.scss b/src/app/products/loan-products/view-loan-product/view-loan-product.component.scss
index c8c153b25..6c464af8d 100644
--- a/src/app/products/loan-products/view-loan-product/view-loan-product.component.scss
+++ b/src/app/products/loan-products/view-loan-product/view-loan-product.component.scss
@@ -1,6 +1,6 @@
.product-card {
margin: 0 auto;
- max-width: 80rem;
+ max-width: 90rem;
width: 90%;
padding: 0;
diff --git a/src/app/shared/icons.module.ts b/src/app/shared/icons.module.ts
index 55097fee6..3b0707432 100644
--- a/src/app/shared/icons.module.ts
+++ b/src/app/shared/icons.module.ts
@@ -111,7 +111,8 @@ import {
faCalendarCheck,
faPause,
faReceipt,
- faTableCells
+ faTableCells,
+ faSave
} from '@fortawesome/free-solid-svg-icons';
/**
@@ -235,7 +236,8 @@ export class IconsModule {
faBars,
faUndo,
faReceipt,
- faTableCells
+ faTableCells,
+ faSave
);
}
}
diff --git a/src/assets/translations/cs-CS.json b/src/assets/translations/cs-CS.json
index 6b66205bb..a7707d8bd 100644
--- a/src/assets/translations/cs-CS.json
+++ b/src/assets/translations/cs-CS.json
@@ -741,7 +741,9 @@
"Check loan repayment due": "Zkontrolujte splatnost půjčky",
"Transfer to Savings": "Převod do Úspory",
"Zero interest after charge-off": "Nulový úrok po nabití",
- "Accelerate maturity to charge-off date": "Urychlete splatnost do data odúčtování"
+ "Accelerate maturity to charge-off date": "Urychlete splatnost do data odúčtování",
+ "Full Leap Year": "Úplný přestupný rok",
+ "Feb 29 Period Only": "Pouze období 29. února"
},
"commons": {
"50 characters long": "50 znaků dlouhé",
@@ -1458,6 +1460,7 @@
"Days From": "Dny od",
"Days Till": "Dny do",
"Days in Year": "Dny v roce",
+ "Days in year custom strategy": "Vlastní strategie dnů v roce",
"Days in month": "Dny v měsíci",
"Days in year": "Dny v roce",
"Days to Dormancy": "Dny do dormance",
@@ -2498,6 +2501,7 @@
"Deposit": "Vklad",
"Disburse": "Vyplatit",
"Disburse to Savings": "Výplata na Úspory",
+ "Edit Repayment Schedule": "Upravit splátkový kalendář",
"Foreclosure": "Exekuce",
"Frequent Postings": "Časté příspěvky",
"Frequently Accessed": "Často používané",
diff --git a/src/assets/translations/de-DE.json b/src/assets/translations/de-DE.json
index 9520169a8..e770b8afd 100644
--- a/src/assets/translations/de-DE.json
+++ b/src/assets/translations/de-DE.json
@@ -741,7 +741,9 @@
"Check loan repayment due": "Prüfen Sie, ob die Kreditrückzahlung fällig ist",
"Transfer to Savings": "Übertragen auf Ersparnisse",
"Zero interest after charge-off": "Null Zinsen nach Abschreibung",
- "Accelerate maturity to charge-off date": "Fälligkeit bis zum Abschreibungsdatum beschleunigen"
+ "Accelerate maturity to charge-off date": "Fälligkeit bis zum Abschreibungsdatum beschleunigen",
+ "Full Leap Year": "Volles Schaltjahr",
+ "Feb 29 Period Only": "Nur für den Zeitraum vom 29. Februar"
},
"commons": {
"50 characters long": "50 Zeichen lang",
@@ -1458,6 +1460,7 @@
"Days From": "Tage ab",
"Days Till": "Tage bis",
"Days in Year": "Tage im Jahr",
+ "Days in year custom strategy": "Tage im Jahr, individuelle Strategie",
"Days in month": "Tage im Monat",
"Days in year": "Tage im Jahr",
"Days to Dormancy": "Tage bis zur Ruhephase",
@@ -2498,6 +2501,7 @@
"Deposit": "Kaution",
"Disburse": "Auszahlen",
"Disburse to Savings": "An die Ersparnisse auszahlen",
+ "Edit Repayment Schedule": "Bearbeiten Sie den Rückzahlungsplan",
"Foreclosure": "Zwangsvollstreckung",
"Frequent Postings": "Häufige Beiträge",
"Frequently Accessed": "Häufig aufgerufen",
diff --git a/src/assets/translations/en-US.json b/src/assets/translations/en-US.json
index 6554fbc89..447623497 100644
--- a/src/assets/translations/en-US.json
+++ b/src/assets/translations/en-US.json
@@ -744,7 +744,9 @@
"Check loan repayment due": "Check loan repayment due",
"Transfer to Savings": "Transfer to Savings",
"Zero interest after charge-off": "Zero interest after charge-off",
- "Accelerate maturity to charge-off date": "Accelerate maturity to charge-off date"
+ "Accelerate maturity to charge-off date": "Accelerate maturity to charge-off date",
+ "Full Leap Year": "Full Leap Year",
+ "Feb 29 Period Only": "Feb 29 Period Only"
},
"commons": {
"50 characters long": "50 characters long",
@@ -1461,6 +1463,7 @@
"Days From": "Days From",
"Days Till": "Days Till",
"Days in Year": "Days in Year",
+ "Days in year custom strategy": "Days in year custom strategy",
"Days in month": "Days in month",
"Days in year": "Days in year",
"Days to Dormancy": "Days to Dormancy",
@@ -2504,6 +2507,7 @@
"Deposit": "Deposit",
"Disburse": "Disburse",
"Disburse to Savings": "Disburse to Savings",
+ "Edit Repayment Schedule": "Edit Repayment Schedule",
"Foreclosure": "Foreclosure",
"Frequent Postings": "Frequent Postings",
"Frequently Accessed": "Frequently Accessed",
diff --git a/src/assets/translations/es-CL.json b/src/assets/translations/es-CL.json
index 347f29a1b..94667c43e 100644
--- a/src/assets/translations/es-CL.json
+++ b/src/assets/translations/es-CL.json
@@ -740,7 +740,9 @@
"Check loan repayment due": "Verificar pagos a vencer de préstamos",
"Transfer to Savings": "Transferir a Ahorros",
"Zero interest after charge-off": "Cero intereses después de la cancelación",
- "Accelerate maturity to charge-off date": "Acelerar el vencimiento hasta la fecha de amortización"
+ "Accelerate maturity to charge-off date": "Acelerar el vencimiento hasta la fecha de amortización",
+ "Full Leap Year": "Año bisiesto completo",
+ "Feb 29 Period Only": "Solo periodo del 29 de febrero"
},
"commons": {
"50 characters long": "50 caracteres de largo",
@@ -1457,6 +1459,7 @@
"Days From": "Días desde",
"Days Till": "Días hasta",
"Days in Year": "Días en el año",
+ "Days in year custom strategy": "Estrategia personalizada de días en el año",
"Days in month": "Dias en el mes",
"Days in year": "Dias en el año",
"Days to Dormancy": "Días hasta la Inactividad",
@@ -2498,6 +2501,7 @@
"Deposit": "Depósito",
"Disburse": "Desembolsar",
"Disburse to Savings": "Desembolsar a Ahorros",
+ "Edit Repayment Schedule": "Editar calendario de pagos",
"Foreclosure": "Juicio hipotecario",
"Frequent Postings": "Publicaciones frecuentes",
"Frequently Accessed": "Acceso frecuente",
diff --git a/src/assets/translations/es-MX.json b/src/assets/translations/es-MX.json
index 04e8ab197..eb29b0d53 100644
--- a/src/assets/translations/es-MX.json
+++ b/src/assets/translations/es-MX.json
@@ -740,7 +740,9 @@
"Check loan repayment due": "Verificar pagos a vencer de préstamos",
"Transfer to Savings": "Transferir a Ahorros",
"Zero interest after charge-off": "Cero intereses después de la cancelación",
- "Accelerate maturity to charge-off date": "Acelerar el vencimiento hasta la fecha de amortización"
+ "Accelerate maturity to charge-off date": "Acelerar el vencimiento hasta la fecha de amortización",
+ "Full Leap Year": "Año bisiesto completo",
+ "Feb 29 Period Only": "Solo periodo del 29 de febrero"
},
"commons": {
"50 characters long": "50 caracteres de largo",
@@ -1457,6 +1459,7 @@
"Days From": "Días desde",
"Days Till": "Días hasta",
"Days in Year": "Días en el año",
+ "Days in year custom strategy": "Estrategia personalizada de días en el año",
"Days in month": "Dias en el mes",
"Days in year": "Dias en el año",
"Days to Dormancy": "Días hasta la Inactividad",
@@ -2498,6 +2501,7 @@
"Deposit": "Depósito",
"Disburse": "Desembolsar",
"Disburse to Savings": "Desembolsar a Ahorros",
+ "Edit Repayment Schedule": "Editar calendario de pagos",
"Foreclosure": "Juicio hipotecario",
"Frequent Postings": "Publicaciones frecuentes",
"Frequently Accessed": "Acceso frecuente",
diff --git a/src/assets/translations/fr-FR.json b/src/assets/translations/fr-FR.json
index 0222753bf..746c371be 100644
--- a/src/assets/translations/fr-FR.json
+++ b/src/assets/translations/fr-FR.json
@@ -741,7 +741,9 @@
"Check loan repayment due": "Vérifier le remboursement du prêt dû",
"Transfer to Savings": "Transfert vers l'épargne",
"Zero interest after charge-off": "Zéro intérêt après radiation",
- "Accelerate maturity to charge-off date": "Accélérer la maturité jusqu'à la date de radiation"
+ "Accelerate maturity to charge-off date": "Accélérer la maturité jusqu'à la date de radiation",
+ "Full Leap Year": "Année bissextile complète",
+ "Feb 29 Period Only": "Période du 29 février seulement"
},
"commons": {
"50 characters long": "50 caractères",
@@ -1458,6 +1460,7 @@
"Days From": "Jours à partir de",
"Days Till": "Jours jusqu'à",
"Days in Year": "Jours dans l'année",
+ "Days in year custom strategy": "Stratégie personnalisée jours par an",
"Days in month": "Jours dans le mois",
"Days in year": "Jours dans l'année",
"Days to Dormancy": "Jours avant la dormance",
@@ -2498,6 +2501,7 @@
"Deposit": "Dépôt",
"Disburse": "Débourser",
"Disburse to Savings": "Versement de l'épargne",
+ "Edit Repayment Schedule": "Modifier le calendrier de remboursement",
"Foreclosure": "Forclusion",
"Frequent Postings": "Publications fréquentes",
"Frequently Accessed": "Fréquemment consulté",
diff --git a/src/assets/translations/it-IT.json b/src/assets/translations/it-IT.json
index 2906f876a..75aa0c9cc 100644
--- a/src/assets/translations/it-IT.json
+++ b/src/assets/translations/it-IT.json
@@ -741,7 +741,9 @@
"Check loan repayment due": "Controllare il rimborso del prestito in scadenza",
"Transfer to Savings": "Trasferimento al risparmio",
"Zero interest after charge-off": "Zero interessi dopo la cancellazione",
- "Accelerate maturity to charge-off date": "Accelerare la scadenza alla data di cancellazione"
+ "Accelerate maturity to charge-off date": "Accelerare la scadenza alla data di cancellazione",
+ "Full Leap Year": "Anno bisestile completo",
+ "Feb 29 Period Only": "Solo periodo del 29 febbraio"
},
"commons": {
"50 characters long": "50 caratteri di lunghezza",
@@ -1458,6 +1460,7 @@
"Days From": "Giorni da",
"Days Till": "Giorni fino",
"Days in Year": "Giorni nell'anno",
+ "Days in year custom strategy": "Strategia personalizzata per i giorni dell'anno",
"Days in month": "Giorni nel mese",
"Days in year": "Giorni nell'anno",
"Days to Dormancy": "Giorni di dormienza",
@@ -2498,6 +2501,7 @@
"Deposit": "Depositare",
"Disburse": "Sborsare",
"Disburse to Savings": "Versare al risparmio",
+ "Edit Repayment Schedule": "Modifica il piano di rimborso",
"Foreclosure": "Pignoramento",
"Frequent Postings": "Pubblicazioni frequenti",
"Frequently Accessed": "Accesso frequente",
diff --git a/src/assets/translations/ko-KO.json b/src/assets/translations/ko-KO.json
index c71b46170..9a59ea341 100644
--- a/src/assets/translations/ko-KO.json
+++ b/src/assets/translations/ko-KO.json
@@ -741,7 +741,9 @@
"Check loan repayment due": "대출 상환 기한 확인",
"Transfer to Savings": "저축으로 이체",
"Zero interest after charge-off": "대손충당 후 이자 없음",
- "Accelerate maturity to charge-off date": "만기일을 대금상환일로 앞당기세요"
+ "Accelerate maturity to charge-off date": "만기일을 대금상환일로 앞당기세요",
+ "Full Leap Year": "전체 윤년",
+ "Feb 29 Period Only": "2월 29일 기간만"
},
"commons": {
"50 characters long": "50자(영문 기준)",
@@ -1459,6 +1461,7 @@
"Days From": "일수:",
"Days Till": "남은 일수",
"Days in Year": "연간 일수",
+ "Days in year custom strategy": "연간 맞춤형 전략",
"Days in month": "월별 일수",
"Days in year": "연간 일수",
"Days to Dormancy": "휴면까지의 일수",
@@ -2499,6 +2502,7 @@
"Deposit": "보증금",
"Disburse": "지불",
"Disburse to Savings": "저축으로 지출",
+ "Edit Repayment Schedule": "상환 일정 편집",
"Foreclosure": "유질",
"Frequent Postings": "자주 게시되는 게시물",
"Frequently Accessed": "자주 액세스됨",
diff --git a/src/assets/translations/lt-LT.json b/src/assets/translations/lt-LT.json
index 4b03f9ed9..b70d9dc43 100644
--- a/src/assets/translations/lt-LT.json
+++ b/src/assets/translations/lt-LT.json
@@ -741,7 +741,9 @@
"Check loan repayment due": "Patikrinkite paskolos grąžinimo terminą",
"Transfer to Savings": "Perkėlimas į santaupas",
"Zero interest after charge-off": "Nulinės palūkanos po apmokestinimo",
- "Accelerate maturity to charge-off date": "Paspartinkite terminą iki nurašymo datos"
+ "Accelerate maturity to charge-off date": "Paspartinkite terminą iki nurašymo datos",
+ "Full Leap Year": "Visi keliamieji metai",
+ "Feb 29 Period Only": "Tik vasario 29 d"
},
"commons": {
"50 characters long": "50 simbolių ilgio",
@@ -1458,6 +1460,7 @@
"Days From": "Dienos nuo",
"Days Till": "Dienos Iki",
"Days in Year": "Dienos per metus",
+ "Days in year custom strategy": "Dienų per metus pritaikyta strategija",
"Days in month": "Dienos per mėnesį",
"Days in year": "Dienos metuose",
"Days to Dormancy": "Dienos iki ramybės",
@@ -2498,6 +2501,7 @@
"Deposit": "Užstatas",
"Disburse": "Išmokėti",
"Disburse to Savings": "Išmokėkite santaupoms",
+ "Edit Repayment Schedule": "Redaguoti grąžinimo grafiką",
"Foreclosure": "Uždarymas",
"Frequent Postings": "Dažni skelbimai",
"Frequently Accessed": "Dažnai prieinama",
diff --git a/src/assets/translations/lv-LV.json b/src/assets/translations/lv-LV.json
index 781c97e24..52d0374eb 100644
--- a/src/assets/translations/lv-LV.json
+++ b/src/assets/translations/lv-LV.json
@@ -741,7 +741,9 @@
"Check loan repayment due": "Pārbaudiet aizdevuma atmaksas termiņu",
"Transfer to Savings": "Pārskaitījums uz uzkrājumiem",
"Zero interest after charge-off": "Nulle procenti pēc atskaitīšanas",
- "Accelerate maturity to charge-off date": "Paātriniet dzēšanas termiņu līdz izņemšanas datumam"
+ "Accelerate maturity to charge-off date": "Paātriniet dzēšanas termiņu līdz izņemšanas datumam",
+ "Full Leap Year": "Pilns lēciens gads",
+ "Feb 29 Period Only": "Tikai 29. februāris"
},
"commons": {
"50 characters long": "50 rakstzīmes garš",
@@ -1458,6 +1460,7 @@
"Days From": "Dienas No",
"Days Till": "Dienas Līdz",
"Days in Year": "Dienas gadā",
+ "Days in year custom strategy": "Dienu gadā pielāgotā stratēģija",
"Days in month": "Dienas mēnesī",
"Days in year": "Dienas gadā",
"Days to Dormancy": "Dienas līdz miegainībai",
@@ -2498,6 +2501,7 @@
"Deposit": "Depozīts",
"Disburse": "Izmaksāt",
"Disburse to Savings": "Izmaksa uzkrājumiem",
+ "Edit Repayment Schedule": "Rediģēt atmaksas grafiku",
"Foreclosure": "Preces ierobežošana",
"Frequent Postings": "Bieža publicēšana",
"Frequently Accessed": "Bieži piekļūts",
diff --git a/src/assets/translations/ne-NE.json b/src/assets/translations/ne-NE.json
index 87393de61..68fc167df 100644
--- a/src/assets/translations/ne-NE.json
+++ b/src/assets/translations/ne-NE.json
@@ -741,7 +741,9 @@
"Check loan repayment due": "ऋण तिर्न बाँकी जाँच गर्नुहोस्",
"Transfer to Savings": "बचतमा स्थानान्तरण गर्नुहोस्",
"Zero interest after charge-off": "चार्ज अफ पछि शून्य ब्याज",
- "Accelerate maturity to charge-off date": "चार्ज अफ मितिमा परिपक्वतालाई गति दिनुहोस्"
+ "Accelerate maturity to charge-off date": "चार्ज अफ मितिमा परिपक्वतालाई गति दिनुहोस्",
+ "Full Leap Year": "पूर्ण छलांग वर्ष",
+ "Feb 29 Period Only": "फेब्रुअरी 29 अवधि मात्र"
},
"commons": {
"50 characters long": "५० वर्ण लामो",
@@ -1458,6 +1460,7 @@
"Days From": "दिनहरू देखि",
"Days Till": "दिन सम्म",
"Days in Year": "वर्षमा दिनहरू",
+ "Days in year custom strategy": "वर्ष अनुकूलन रणनीति मा दिन",
"Days in month": "महिनामा दिनहरू",
"Days in year": "वर्षमा दिनहरू",
"Days to Dormancy": "सुप्तावस्थाका दिनहरू",
@@ -2498,6 +2501,7 @@
"Deposit": "जम्मा",
"Disburse": "वितरण गर्नुहोस्",
"Disburse to Savings": "बचतमा वितरण गर्नुहोस्",
+ "Edit Repayment Schedule": "पुन: भुक्तानी तालिका सम्पादन गर्नुहोस्",
"Foreclosure": "फोरक्लोजर",
"Frequent Postings": "बारम्बार पोस्टिंगहरू",
"Frequently Accessed": "बारम्बार पहुँच",
diff --git a/src/assets/translations/pt-PT.json b/src/assets/translations/pt-PT.json
index 788ddbb8e..d9e239d85 100644
--- a/src/assets/translations/pt-PT.json
+++ b/src/assets/translations/pt-PT.json
@@ -741,7 +741,9 @@
"Check loan repayment due": "Verifique o vencimento do empréstimo",
"Transfer to Savings": "Transferência para Poupança",
"Zero interest after charge-off": "Juros zero após baixa",
- "Accelerate maturity to charge-off date": "Acelerar o vencimento até à data de baixa"
+ "Accelerate maturity to charge-off date": "Acelerar o vencimento até à data de baixa",
+ "Full Leap Year": "Ano bissexto completo",
+ "Feb 29 Period Only": "Somente período de 29 de fevereiro"
},
"commons": {
"50 characters long": "50 caracteres",
@@ -1458,6 +1460,7 @@
"Days From": "Dias a partir de",
"Days Till": "Dias até",
"Days in Year": "Dias no ano",
+ "Days in year custom strategy": "Estratégia personalizada para dias do ano",
"Days in month": "Dias no mês",
"Days in year": "Dias no ano",
"Days to Dormancy": "Dias para Dormência",
@@ -2498,6 +2501,7 @@
"Deposit": "Depósito",
"Disburse": "Desembolsar",
"Disburse to Savings": "Desembolsar para poupança",
+ "Edit Repayment Schedule": "Editar cronograma de reembolso",
"Foreclosure": "Execução hipotecária",
"Frequent Postings": "Postagens frequentes",
"Frequently Accessed": "Acessado com frequência",
diff --git a/src/assets/translations/sw-SW.json b/src/assets/translations/sw-SW.json
index 9a4badcd4..a5255bf64 100644
--- a/src/assets/translations/sw-SW.json
+++ b/src/assets/translations/sw-SW.json
@@ -741,7 +741,9 @@
"Check loan repayment due": "Angalia ulipaji wa mkopo unaodaiwa",
"Transfer to Savings": "Hamisha kwa Akiba",
"Zero interest after charge-off": "Riba sifuri baada ya kutozwa",
- "Accelerate maturity to charge-off date": "Kuharakisha ukomavu hadi tarehe ya kukomesha malipo"
+ "Accelerate maturity to charge-off date": "Kuharakisha ukomavu hadi tarehe ya kukomesha malipo",
+ "Full Leap Year": "Mwaka Kamili wa Kurukaruka",
+ "Feb 29 Period Only": "Feb 29 Kipindi Pekee"
},
"commons": {
"50 characters long": "Urefu wa herufi 50",
@@ -1458,6 +1460,7 @@
"Days From": "Siku Kutoka",
"Days Till": "Siku Hadi",
"Days in Year": "Siku katika Mwaka",
+ "Days in year custom strategy": "Mkakati maalum wa siku kwa mwaka",
"Days in month": "Siku katika mwezi",
"Days in year": "Siku katika mwaka",
"Days to Dormancy": "Siku za kulala",
@@ -2498,6 +2501,7 @@
"Deposit": "Amana",
"Disburse": "Lipa",
"Disburse to Savings": "Lipa kwa Akiba",
+ "Edit Repayment Schedule": "Badilisha Ratiba ya Ulipaji",
"Foreclosure": "Foreclosure",
"Frequent Postings": "Machapisho ya Mara kwa Mara",
"Frequently Accessed": "Zinazofikiwa mara kwa mara",
diff --git a/src/environments/.env.ts b/src/environments/.env.ts
index 22be9dd17..f59521fda 100644
--- a/src/environments/.env.ts
+++ b/src/environments/.env.ts
@@ -2,8 +2,8 @@
/* tslint:disable */
export default {
'mifos_x': {
- 'version': '250226',
- 'hash': 'ea15eecf'
+ 'version': '250320',
+ 'hash': 'ea493973'
},
'allow_switching_backend_instance': true
};