FINERACT-2107: Interest refund configuration for Progressive loan
This commit is contained in:
committed by
Jose Alberto Hernandez
parent
95c9161770
commit
7800d6797d
+7
@@ -372,6 +372,13 @@
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div fxFlexFill *ngIf="isAdvancedPaymentAllocation && supportedInterestRefundTypes.length > 0">
|
||||
<span fxFlex="47%">{{ 'labels.inputs.SUPPORTED INTEREST REFUND TYPES' | translate}}:</span>
|
||||
<span fxFlex="53%">
|
||||
{{mapHumanReadableValueStringEnumOptionDataList(supportedInterestRefundTypes)}}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<h3 class="mat-h3" fxFlexFill>{{ 'labels.inputs.Down Payments' | translate}}</h3>
|
||||
|
||||
<mat-divider [inset]="true"></mat-divider>
|
||||
|
||||
+6
-1
@@ -3,7 +3,7 @@ import { DelinquencyBucket, LoanProduct } from '../../models/loan-product.model'
|
||||
import { AccountingMapping, Charge, ChargeToIncomeAccountMapping, GLAccount, PaymentChannelToFundSourceMapping, PaymentType, PaymentTypeOption } from '../../../../shared/models/general.model';
|
||||
import { AdvancePaymentAllocationData, CreditAllocation, PaymentAllocation } from '../../loan-product-stepper/loan-product-payment-strategy-step/payment-allocation-model';
|
||||
import { LoanProducts } from '../../loan-products';
|
||||
import { CodeName, OptionData } from '../../../../shared/models/option-data.model';
|
||||
import { CodeName, OptionData, StringEnumOptionData } from '../../../../shared/models/option-data.model';
|
||||
import { Accounting } from 'app/core/utils/accounting';
|
||||
|
||||
@Component({
|
||||
@@ -19,6 +19,7 @@ export class LoanProductSummaryComponent implements OnInit, OnChanges {
|
||||
@Input() useDueForRepaymentsConfigurations: boolean;
|
||||
@Input() paymentAllocations: PaymentAllocation | null;
|
||||
@Input() creditAllocations: CreditAllocation | null;
|
||||
@Input() supportedInterestRefundTypes: StringEnumOptionData[] | null;
|
||||
|
||||
variationsDisplayedColumns: string[] = ['valueConditionType', 'borrowerCycleNumber', 'minValue', 'defaultValue', 'maxValue'];
|
||||
chargesDisplayedColumns: string[] = ['name', 'chargeCalculationType', 'amount', 'chargeTimeType'];
|
||||
@@ -331,4 +332,8 @@ export class LoanProductSummaryComponent implements OnInit, OnChanges {
|
||||
return this.accounting.getAccountRuleName(value.toUpperCase());
|
||||
}
|
||||
|
||||
mapHumanReadableValueStringEnumOptionDataList(incomingParameter: StringEnumOptionData[]): string[] {
|
||||
return incomingParameter.map(v => v.value);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -51,6 +51,15 @@
|
||||
|
||||
</mat-step>
|
||||
|
||||
<mat-step *ngIf="isAdvancedPaymentStrategy" [stepControl]="loanProductInterestRefundForm">
|
||||
<ng-template matStepLabel>{{'labels.inputs.INTEREST REFUND' | translate}}</ng-template>
|
||||
<mifosx-loan-product-interest-refund-step
|
||||
[loanProductsTemplate]="loanProductsTemplate"
|
||||
(supportedInterestRefundTypes)="setSupportedInterestRefundTypes($event)"
|
||||
>
|
||||
</mifosx-loan-product-interest-refund-step>
|
||||
</mat-step>
|
||||
|
||||
<mat-step *ngIf="isAdvancedPaymentStrategy">
|
||||
|
||||
<ng-template matStepLabel>{{'labels.inputs.PAYMENT ALLOCATION' | translate}}</ng-template>
|
||||
|
||||
@@ -9,12 +9,14 @@ import { LoanProductTermsStepComponent } from '../loan-product-stepper/loan-prod
|
||||
import { LoanProductSettingsStepComponent } from '../loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component';
|
||||
import { LoanProductChargesStepComponent } from '../loan-product-stepper/loan-product-charges-step/loan-product-charges-step.component';
|
||||
import { LoanProductAccountingStepComponent } from '../loan-product-stepper/loan-product-accounting-step/loan-product-accounting-step.component';
|
||||
import { LoanProductInterestRefundStepComponent } from '../loan-product-stepper/loan-product-interest-refund-step/loan-product-interest-refund-step.component';
|
||||
|
||||
/** Custom Services */
|
||||
import { ProductsService } from 'app/products/products.service';
|
||||
import { LoanProducts } from '../loan-products';
|
||||
import { AdvancedPaymentAllocation, AdvancedPaymentStrategy, PaymentAllocation } from '../loan-product-stepper/loan-product-payment-strategy-step/payment-allocation-model';
|
||||
import { Accounting } from 'app/core/utils/accounting';
|
||||
import { StringEnumOptionData } from '../../../shared/models/option-data.model';
|
||||
|
||||
@Component({
|
||||
selector: 'mifosx-create-loan-product',
|
||||
@@ -25,6 +27,7 @@ export class CreateLoanProductComponent implements OnInit {
|
||||
|
||||
@ViewChild(LoanProductDetailsStepComponent, { static: true }) loanProductDetailsStep: LoanProductDetailsStepComponent;
|
||||
@ViewChild(LoanProductCurrencyStepComponent, { static: true }) loanProductCurrencyStep: LoanProductCurrencyStepComponent;
|
||||
@ViewChild(LoanProductInterestRefundStepComponent, {static: true}) loanProductInterestRefundStep: LoanProductInterestRefundStepComponent;
|
||||
@ViewChild(LoanProductTermsStepComponent, { static: true }) loanProductTermsStep: LoanProductTermsStepComponent;
|
||||
@ViewChild(LoanProductSettingsStepComponent, { static: true }) loanProductSettingsStep: LoanProductSettingsStepComponent;
|
||||
@ViewChild(LoanProductChargesStepComponent, { static: true }) loanProductChargesStep: LoanProductChargesStepComponent;
|
||||
@@ -37,6 +40,7 @@ export class CreateLoanProductComponent implements OnInit {
|
||||
isAdvancedPaymentStrategy = false;
|
||||
paymentAllocation: PaymentAllocation[] = [];
|
||||
creditAllocation: PaymentAllocation[] = [];
|
||||
supportedInterestRefundTypes: StringEnumOptionData[] = [];
|
||||
advancedPaymentAllocations: AdvancedPaymentAllocation[] = [];
|
||||
advancedCreditAllocations: AdvancedPaymentAllocation[] = [];
|
||||
|
||||
@@ -79,6 +83,12 @@ export class CreateLoanProductComponent implements OnInit {
|
||||
}
|
||||
}
|
||||
|
||||
get loanProductInterestRefundForm() {
|
||||
if (this.loanProductInterestRefundStep != null) {
|
||||
return this.loanProductInterestRefundStep.loanProductInterestRefundForm;
|
||||
}
|
||||
}
|
||||
|
||||
get loanProductTermsForm() {
|
||||
return this.loanProductTermsStep.loanProductTermsForm;
|
||||
}
|
||||
@@ -99,6 +109,10 @@ export class CreateLoanProductComponent implements OnInit {
|
||||
this.creditAllocation = paymentAllocation;
|
||||
}
|
||||
|
||||
setSupportedInterestRefundTypes(supportedInterestRefundTypes: StringEnumOptionData[]): void {
|
||||
this.supportedInterestRefundTypes = supportedInterestRefundTypes;
|
||||
}
|
||||
|
||||
get loanProductSettingsForm() {
|
||||
return this.loanProductSettingsStep.loanProductSettingsForm;
|
||||
}
|
||||
@@ -129,6 +143,7 @@ export class CreateLoanProductComponent implements OnInit {
|
||||
if (this.isAdvancedPaymentStrategy) {
|
||||
loanProduct['paymentAllocation'] = this.paymentAllocation;
|
||||
loanProduct['creditAllocation'] = this.creditAllocation;
|
||||
loanProduct['supportedInterestRefundTypes'] = this.supportedInterestRefundTypes;
|
||||
}
|
||||
return loanProduct;
|
||||
}
|
||||
@@ -139,6 +154,7 @@ export class CreateLoanProductComponent implements OnInit {
|
||||
loanProduct['dueDaysForRepaymentEvent'] = null;
|
||||
loanProduct['overDueDaysForRepaymentEvent'] = null;
|
||||
}
|
||||
loanProduct['supportedInterestRefundTypes'] = this.mapStringEnumOptionToIdList(loanProduct['supportedInterestRefundTypes']);
|
||||
delete loanProduct['useDueForRepaymentsConfigurations'];
|
||||
|
||||
this.productsService.createLoanProduct(loanProduct)
|
||||
@@ -147,4 +163,7 @@ export class CreateLoanProductComponent implements OnInit {
|
||||
});
|
||||
}
|
||||
|
||||
mapStringEnumOptionToIdList(incomingValues: StringEnumOptionData[]): string[] {
|
||||
return incomingValues.map(v => v.id);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,6 +51,15 @@
|
||||
|
||||
</mat-step>
|
||||
|
||||
<mat-step *ngIf="isAdvancedPaymentStrategy" [stepControl]="loanProductInterestRefundForm" completed>
|
||||
<ng-template matStepLabel>{{'labels.inputs.INTEREST REFUND' | translate}}</ng-template>
|
||||
<mifosx-loan-product-interest-refund-step
|
||||
[loanProductsTemplate]="loanProductAndTemplate"
|
||||
(supportedInterestRefundTypes)="setSupportedInterestRefundTypes($event)"
|
||||
>
|
||||
</mifosx-loan-product-interest-refund-step>
|
||||
</mat-step>
|
||||
|
||||
<mat-step *ngIf="isAdvancedPaymentStrategy" completed>
|
||||
|
||||
<ng-template matStepLabel>{{'labels.inputs.PAYMENT ALLOCATION' | translate}}</ng-template>
|
||||
|
||||
@@ -14,8 +14,10 @@ import { LoanProductAccountingStepComponent } from '../loan-product-stepper/loan
|
||||
import { ProductsService } from 'app/products/products.service';
|
||||
import { GlobalConfiguration } from 'app/system/configurations/global-configurations-tab/configuration.model';
|
||||
import { LoanProducts } from '../loan-products';
|
||||
import { AdvancedCreditAllocation, AdvancedPaymentAllocation, AdvancedPaymentStrategy, CreditAllocation, PaymentAllocation, PaymentAllocationOrder, PaymentAllocationTransactionTypes } from '../loan-product-stepper/loan-product-payment-strategy-step/payment-allocation-model';
|
||||
import { AdvancedCreditAllocation, AdvancedPaymentAllocation, AdvancedPaymentStrategy, CreditAllocation, PaymentAllocation } from '../loan-product-stepper/loan-product-payment-strategy-step/payment-allocation-model';
|
||||
import { Accounting } from 'app/core/utils/accounting';
|
||||
import { LoanProductInterestRefundStepComponent } from '../loan-product-stepper/loan-product-interest-refund-step/loan-product-interest-refund-step.component';
|
||||
import { StringEnumOptionData } from '../../../shared/models/option-data.model';
|
||||
|
||||
@Component({
|
||||
selector: 'mifosx-edit-loan-product',
|
||||
@@ -26,6 +28,7 @@ export class EditLoanProductComponent implements OnInit {
|
||||
|
||||
@ViewChild(LoanProductDetailsStepComponent, { static: true }) loanProductDetailsStep: LoanProductDetailsStepComponent;
|
||||
@ViewChild(LoanProductCurrencyStepComponent, { static: true }) loanProductCurrencyStep: LoanProductCurrencyStepComponent;
|
||||
@ViewChild(LoanProductInterestRefundStepComponent, { static: true }) loanProductInterestRefundStep: LoanProductInterestRefundStepComponent;
|
||||
@ViewChild(LoanProductTermsStepComponent, { static: true }) loanProductTermsStep: LoanProductTermsStepComponent;
|
||||
@ViewChild(LoanProductSettingsStepComponent, { static: true }) loanProductSettingsStep: LoanProductSettingsStepComponent;
|
||||
@ViewChild(LoanProductChargesStepComponent, { static: true }) loanProductChargesStep: LoanProductChargesStepComponent;
|
||||
@@ -41,6 +44,7 @@ export class EditLoanProductComponent implements OnInit {
|
||||
creditAllocation: CreditAllocation[] = [];
|
||||
advancedPaymentAllocations: AdvancedPaymentAllocation[] = [];
|
||||
advancedCreditAllocations: AdvancedCreditAllocation[] = [];
|
||||
supportedInterestRefundTypes: StringEnumOptionData[] = [];
|
||||
|
||||
/**
|
||||
* @param {ActivatedRoute} route Activated Route.
|
||||
@@ -77,6 +81,7 @@ export class EditLoanProductComponent implements OnInit {
|
||||
if (this.isAdvancedPaymentStrategy) {
|
||||
this.paymentAllocation = this.loanProductAndTemplate.paymentAllocation;
|
||||
this.creditAllocation = this.loanProductAndTemplate.creditAllocation;
|
||||
this.supportedInterestRefundTypes = this.loanProductAndTemplate.supportedInterestRefundTypes;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -96,6 +101,12 @@ export class EditLoanProductComponent implements OnInit {
|
||||
return this.loanProductSettingsStep.loanProductSettingsForm;
|
||||
}
|
||||
|
||||
get loanProductInterestRefundForm() {
|
||||
if (this.loanProductInterestRefundStep != null) {
|
||||
return this.loanProductInterestRefundStep.loanProductInterestRefundForm;
|
||||
}
|
||||
}
|
||||
|
||||
advancePaymentStrategy(value: string): void {
|
||||
this.isAdvancedPaymentStrategy = LoanProducts.isAdvancedPaymentAllocationStrategy(value);
|
||||
}
|
||||
@@ -115,6 +126,10 @@ export class EditLoanProductComponent implements OnInit {
|
||||
this.wasPaymentAllocationChanged = true;
|
||||
}
|
||||
|
||||
setSupportedInterestRefundTypes(supportedInterestRefundTypes: StringEnumOptionData[]): void {
|
||||
this.supportedInterestRefundTypes = supportedInterestRefundTypes;
|
||||
}
|
||||
|
||||
paymentAllocationChanged(value: boolean): void {
|
||||
this.wasPaymentAllocationChanged = value;
|
||||
}
|
||||
@@ -154,9 +169,11 @@ export class EditLoanProductComponent implements OnInit {
|
||||
// Default empty array
|
||||
loanProduct['paymentAllocation'] = [];
|
||||
loanProduct['creditAllocation'] = [];
|
||||
loanProduct['supportedInterestRefundTypes'] = [];
|
||||
if (this.isAdvancedPaymentStrategy) {
|
||||
loanProduct['paymentAllocation'] = this.paymentAllocation;
|
||||
loanProduct['creditAllocation'] = this.creditAllocation;
|
||||
loanProduct['supportedInterestRefundTypes'] = this.supportedInterestRefundTypes;
|
||||
}
|
||||
return loanProduct;
|
||||
}
|
||||
@@ -167,6 +184,7 @@ export class EditLoanProductComponent implements OnInit {
|
||||
loanProduct['dueDaysForRepaymentEvent'] = null;
|
||||
loanProduct['overDueDaysForRepaymentEvent'] = null;
|
||||
}
|
||||
loanProduct['supportedInterestRefundTypes'] = this.mapStringEnumOptionToIdList(loanProduct['supportedInterestRefundTypes']);
|
||||
delete loanProduct['useDueForRepaymentsConfigurations'];
|
||||
|
||||
this.productsService.updateLoanProduct(this.loanProductAndTemplate.id, loanProduct)
|
||||
@@ -175,4 +193,8 @@ export class EditLoanProductComponent implements OnInit {
|
||||
});
|
||||
}
|
||||
|
||||
mapStringEnumOptionToIdList(incomingValues: StringEnumOptionData[]): string[] {
|
||||
return incomingValues.map(v => v.id);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
<form [formGroup]="loanProductInterestRefundForm">
|
||||
|
||||
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
|
||||
<mat-form-field fxFlex="48%">
|
||||
<mat-label>{{'labels.inputs.SUPPORTED INTEREST REFUND TYPES' | translate}}</mat-label>
|
||||
<mat-select multiple formControlName="supportedInterestRefundTypes" matTooltip="{{ 'tooltips.Refund transactions where interest refund will automatically be calculated' | translate}}">
|
||||
<mat-option *ngFor="let supportedTransaction of supportedInterestRefundTypesOptions" [value]="supportedTransaction.id">
|
||||
{{ supportedTransaction.value }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
</form>
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
.margin-t {
|
||||
margin-top: 1em;
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { LoanProductInterestRefundStepComponent } from './loan-product-interest-refund-step.component';
|
||||
|
||||
describe('LoanProductInterestRefundStepComponent', () => {
|
||||
let component: LoanProductInterestRefundStepComponent;
|
||||
let fixture: ComponentFixture<LoanProductInterestRefundStepComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ LoanProductInterestRefundStepComponent ]
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(LoanProductInterestRefundStepComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
+54
@@ -0,0 +1,54 @@
|
||||
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
||||
import { UntypedFormBuilder, UntypedFormGroup} from '@angular/forms';
|
||||
import { StringEnumOptionData } from '../../../../shared/models/option-data.model';
|
||||
|
||||
@Component({
|
||||
selector: 'mifosx-loan-product-interest-refund-step',
|
||||
templateUrl: './loan-product-interest-refund-step.component.html',
|
||||
styleUrls: ['./loan-product-interest-refund-step.component.scss']
|
||||
})
|
||||
export class LoanProductInterestRefundStepComponent implements OnInit {
|
||||
|
||||
@Input() loanProductsTemplate: any;
|
||||
@Output() supportedInterestRefundTypes = new EventEmitter<StringEnumOptionData[]>();
|
||||
|
||||
loanProductInterestRefundForm: UntypedFormGroup;
|
||||
|
||||
supportedInterestRefundTypesOptions: StringEnumOptionData[];
|
||||
|
||||
constructor(private formBuilder: UntypedFormBuilder) {
|
||||
this.createLoanProductInterestRefundForm();
|
||||
this.setConditionalControls();
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.supportedInterestRefundTypesOptions = this.loanProductsTemplate.supportedInterestRefundTypesOptions;
|
||||
const values: StringEnumOptionData[] = this.loanProductsTemplate.supportedInterestRefundTypes;
|
||||
const supportedInterestRefundTypes: string[] = this.mapStringEnumOptionToIdList(values);
|
||||
this.loanProductInterestRefundForm.patchValue({
|
||||
'supportedInterestRefundTypes': supportedInterestRefundTypes
|
||||
});
|
||||
this.supportedInterestRefundTypes.emit(values);
|
||||
}
|
||||
|
||||
createLoanProductInterestRefundForm() {
|
||||
this.loanProductInterestRefundForm = this.formBuilder.group({
|
||||
'supportedInterestRefundTypes': ''
|
||||
});
|
||||
}
|
||||
|
||||
setConditionalControls() {
|
||||
this.loanProductInterestRefundForm.get('supportedInterestRefundTypes').valueChanges
|
||||
.subscribe(value => {
|
||||
this.supportedInterestRefundTypes.emit(this.mapIdToStringEnumOptionList(value, this.loanProductsTemplate.supportedInterestRefundTypesOptions));
|
||||
});
|
||||
}
|
||||
|
||||
mapStringEnumOptionToIdList(incomingValues: StringEnumOptionData[]): string[] {
|
||||
return incomingValues.map(v => v.id);
|
||||
}
|
||||
|
||||
mapIdToStringEnumOptionList(incomingValues: string[], options: StringEnumOptionData[]): StringEnumOptionData[] {
|
||||
return options.filter(v => incomingValues.includes(v.id));
|
||||
}
|
||||
}
|
||||
+1
@@ -6,6 +6,7 @@
|
||||
[useDueForRepaymentsConfigurations]="loanProduct.useDueForRepaymentsConfigurations"
|
||||
[paymentAllocations]="loanProduct.paymentAllocation"
|
||||
[creditAllocations]="loanProduct.creditAllocation"
|
||||
[supportedInterestRefundTypes]="loanProduct.supportedInterestRefundTypes"
|
||||
>
|
||||
</mifosx-loan-product-summary>
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { AccountingMapping, ChargeToIncomeAccountMapping, Currency, PaymentChannelToFundSourceMapping } from 'app/shared/models/general.model';
|
||||
import { OptionData } from 'app/shared/models/option-data.model';
|
||||
import { OptionData, StringEnumOptionData } from 'app/shared/models/option-data.model';
|
||||
import { CreditAllocation, PaymentAllocation } from '../loan-product-stepper/loan-product-payment-strategy-step/payment-allocation-model';
|
||||
|
||||
export interface LoanProduct {
|
||||
@@ -125,6 +125,7 @@ export interface LoanProduct {
|
||||
feeToIncomeAccountMappings?: ChargeToIncomeAccountMapping[];
|
||||
penaltyToIncomeAccountMappings?: ChargeToIncomeAccountMapping[];
|
||||
enableAccrualActivityPosting?: boolean;
|
||||
supportedInterestRefundTypes?: StringEnumOptionData[];
|
||||
}
|
||||
|
||||
|
||||
|
||||
+1
@@ -18,5 +18,6 @@
|
||||
[useDueForRepaymentsConfigurations]="useDueForRepaymentsConfigurations"
|
||||
[paymentAllocations]="loanProduct.paymentAllocation"
|
||||
[creditAllocations]="loanProduct.creditAllocation"
|
||||
[supportedInterestRefundTypes]="loanProduct.supportedInterestRefundTypes"
|
||||
>
|
||||
</mifosx-loan-product-summary>
|
||||
|
||||
@@ -12,6 +12,7 @@ import { ProductsComponent } from './products.component';
|
||||
import { LoanProductsComponent } from './loan-products/loan-products.component';
|
||||
import { LoanProductDetailsStepComponent } from './loan-products/loan-product-stepper/loan-product-details-step/loan-product-details-step.component';
|
||||
import { LoanProductCurrencyStepComponent } from './loan-products/loan-product-stepper/loan-product-currency-step/loan-product-currency-step.component';
|
||||
import { LoanProductInterestRefundStepComponent } from './loan-products/loan-product-stepper/loan-product-interest-refund-step/loan-product-interest-refund-step.component';
|
||||
import { LoanProductTermsStepComponent } from './loan-products/loan-product-stepper/loan-product-terms-step/loan-product-terms-step.component';
|
||||
import { LoanProductSettingsStepComponent } from './loan-products//loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component';
|
||||
import { LoanProductChargesStepComponent } from './loan-products/loan-product-stepper/loan-product-charges-step/loan-product-charges-step.component';
|
||||
@@ -138,6 +139,7 @@ import { LoanProductSummaryComponent } from './loan-products/common/loan-product
|
||||
LoanProductsComponent,
|
||||
LoanProductDetailsStepComponent,
|
||||
LoanProductCurrencyStepComponent,
|
||||
LoanProductInterestRefundStepComponent,
|
||||
LoanProductTermsStepComponent,
|
||||
LoanProductSettingsStepComponent,
|
||||
LoanProductPaymentStrategyStepComponent,
|
||||
|
||||
@@ -8,3 +8,9 @@ export interface CodeName {
|
||||
code: string;
|
||||
name: string;
|
||||
}
|
||||
|
||||
export interface StringEnumOptionData {
|
||||
id: string;
|
||||
value: string;
|
||||
code: string;
|
||||
}
|
||||
|
||||
@@ -2388,7 +2388,9 @@
|
||||
"to": "na",
|
||||
"Down Payments": "Zálohy",
|
||||
"Enable Down Payments": "Povolit zálohové platby",
|
||||
"valid": "platný"
|
||||
"valid": "platný",
|
||||
"INTEREST REFUND": "VRÁCENÍ ÚROKU",
|
||||
"SUPPORTED REFUND TRANSACTIONS FOR INTEREST REFUND": "Podporované typy vrácení úroků"
|
||||
},
|
||||
"links": {
|
||||
"Community": "Společenství",
|
||||
@@ -3373,6 +3375,7 @@
|
||||
"Withdraw": "Ustoupit",
|
||||
"Yes": "Ano",
|
||||
"loan product will be active and available to clients": "Datum, kdy bude úvěrový produkt aktivní a dostupný klientům. Pokud nevyplníte, bude úvěrový produkt aktivní, jakmile bude vytvořen.",
|
||||
"loan product will become inactive and unavailable to clients": "Datum, kdy se úvěrový produkt stane neaktivním a nedostupným pro klienty. Pokud je prázdné, produkt zatížení se nikdy nestane neaktivním."
|
||||
"loan product will become inactive and unavailable to clients": "Datum, kdy se úvěrový produkt stane neaktivním a nedostupným pro klienty. Pokud je prázdné, produkt zatížení se nikdy nestane neaktivním.",
|
||||
"Refund transactions where interest refund will automatically be calculated": "Transakce s vrácením peněz, kde bude automaticky vypočítána refundace úroků"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2388,7 +2388,9 @@
|
||||
"to": "Zu",
|
||||
"Down Payments": "Anzahlungen",
|
||||
"Enable Down Payments": "Anzahlungen aktivieren",
|
||||
"valid": "gültig"
|
||||
"valid": "gültig",
|
||||
"INTEREST REFUND": "ZINSRÜCKERSTATTUNG",
|
||||
"SUPPORTED REFUND TRANSACTIONS FOR INTEREST REFUND": "Unterstützte Zinsrückerstattungsarten"
|
||||
},
|
||||
"links": {
|
||||
"Community": "Gemeinschaft",
|
||||
@@ -3372,6 +3374,7 @@
|
||||
"Withdraw": "Zurückziehen",
|
||||
"Yes": "Ja",
|
||||
"loan product will be active and available to clients": "Das Datum, an dem das Kreditprodukt aktiv und für Kunden verfügbar sein wird. Wenn das Feld leer ist, ist das Kreditprodukt aktiv, sobald es erstellt wird.",
|
||||
"loan product will become inactive and unavailable to clients": "Das Datum, an dem das Kreditprodukt inaktiv wird und für Kunden nicht mehr verfügbar ist. Wenn es leer ist, wird das Ladeprodukt niemals inaktiv."
|
||||
"loan product will become inactive and unavailable to clients": "Das Datum, an dem das Kreditprodukt inaktiv wird und für Kunden nicht mehr verfügbar ist. Wenn es leer ist, wird das Ladeprodukt niemals inaktiv.",
|
||||
"Refund transactions where interest refund will automatically be calculated": "Rückerstattungstransaktionen, bei denen die Zinsrückerstattung automatisch berechnet wird"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2389,7 +2389,9 @@
|
||||
"to": "to",
|
||||
"Down Payments": "Down Payments",
|
||||
"Enable Down Payments": "Enable Down Payments",
|
||||
"valid": "valid"
|
||||
"valid": "valid",
|
||||
"INTEREST REFUND": "INTEREST REFUND",
|
||||
"SUPPORTED REFUND TRANSACTIONS FOR INTEREST REFUND": "Supported interest refund types"
|
||||
},
|
||||
"links": {
|
||||
"Community": "Community",
|
||||
@@ -3374,6 +3376,7 @@
|
||||
"Withdraw": "Withdraw",
|
||||
"Yes": "Yes",
|
||||
"loan product will be active and available to clients": "The date that the loan product will be active and available to clients. If blank, the loan product will be active as soon as it is created.",
|
||||
"loan product will become inactive and unavailable to clients": "The date that the loan product will become inactive and unavailable to clients. If blank, the load product will never become inactive."
|
||||
"loan product will become inactive and unavailable to clients": "The date that the loan product will become inactive and unavailable to clients. If blank, the load product will never become inactive.",
|
||||
"Refund transactions where interest refund will automatically be calculated": "Refund transactions where interest refund will automatically be calculated"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2387,7 +2387,9 @@
|
||||
"to": "a",
|
||||
"Down Payments": "Pago Inicial",
|
||||
"Enable Down Payments": "Habilitar Pagos Iniciales",
|
||||
"valid": "válido"
|
||||
"valid": "válido",
|
||||
"INTEREST REFUND": "REEMBOLSO DE INTERESES",
|
||||
"SUPPORTED REFUND TRANSACTIONS FOR INTEREST REFUND": "Tipos de reembolso de intereses admitidos"
|
||||
},
|
||||
"links": {
|
||||
"Community": "Comunidad",
|
||||
@@ -3372,6 +3374,7 @@
|
||||
"Withdraw": "Retirar",
|
||||
"Yes": "Sí",
|
||||
"loan product will be active and available to clients": "La fecha en que el producto de Crédito estará activo y disponible para los clientes. Si está en blanco, el producto de Crédito estará activo tan pronto como se cree.",
|
||||
"loan product will become inactive and unavailable to clients": "La fecha en que el producto de Crédito quedará inactivo y no estará disponible para los clientes. Si está en blanco, el producto de carga nunca quedará inactivo."
|
||||
"loan product will become inactive and unavailable to clients": "La fecha en que el producto de Crédito quedará inactivo y no estará disponible para los clientes. Si está en blanco, el producto de carga nunca quedará inactivo.",
|
||||
"Refund transactions where interest refund will automatically be calculated": "Transacciones de reembolso en las que el reembolso de intereses se calculará automáticamente"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2388,7 +2388,9 @@
|
||||
"to": "à",
|
||||
"Down Payments": "Acomptes",
|
||||
"Enable Down Payments": "Activer les acomptes",
|
||||
"valid": "valide"
|
||||
"valid": "valide",
|
||||
"INTEREST REFUND": "REMBOURSEMENT DES INTÉRÊTS",
|
||||
"SUPPORTED REFUND TRANSACTIONS FOR INTEREST REFUND": "Types de remboursement d'intérêts pris en charge"
|
||||
},
|
||||
"links": {
|
||||
"Community": "Communauté",
|
||||
@@ -3373,6 +3375,7 @@
|
||||
"Withdraw": "Retirer",
|
||||
"Yes": "Oui",
|
||||
"loan product will be active and available to clients": "La date à laquelle le produit de prêt sera actif et disponible pour les clients. Si ce champ est vide, le produit de prêt sera actif dès sa création.",
|
||||
"loan product will become inactive and unavailable to clients": "Date à laquelle le produit de prêt deviendra inactif et indisponible pour les clients. S'il est vide, le produit chargé ne deviendra jamais inactif."
|
||||
"loan product will become inactive and unavailable to clients": "Date à laquelle le produit de prêt deviendra inactif et indisponible pour les clients. S'il est vide, le produit chargé ne deviendra jamais inactif.",
|
||||
"Refund transactions where interest refund will automatically be calculated": "Opérations de remboursement pour lesquelles le remboursement des intérêts sera automatiquement calculé"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2388,7 +2388,9 @@
|
||||
"to": "A",
|
||||
"Down Payments": "Acconti",
|
||||
"Enable Down Payments": "Abilita acconti",
|
||||
"valid": "valido"
|
||||
"valid": "valido",
|
||||
"INTEREST REFUND": "RIMBORSO DEGLI INTERESSI",
|
||||
"SUPPORTED REFUND TRANSACTIONS FOR INTEREST REFUND": "Tipi di rimborso degli interessi supportati"
|
||||
},
|
||||
"links": {
|
||||
"Community": "Comunità",
|
||||
@@ -3373,6 +3375,7 @@
|
||||
"Withdraw": "Ritirare",
|
||||
"Yes": "SÌ",
|
||||
"loan product will be active and available to clients": "La data in cui il prodotto di prestito sarà attivo e disponibile per i clienti. Se vuoto, il prodotto di prestito sarà attivo non appena verrà creato.",
|
||||
"loan product will become inactive and unavailable to clients": "La data in cui il prodotto di prestito diventerà inattivo e non disponibile per i clienti. Se vuoto, il prodotto caricato non diventerà mai inattivo."
|
||||
"loan product will become inactive and unavailable to clients": "La data in cui il prodotto di prestito diventerà inattivo e non disponibile per i clienti. Se vuoto, il prodotto caricato non diventerà mai inattivo.",
|
||||
"Refund transactions where interest refund will automatically be calculated": "Transazioni di rimborso in cui il rimborso degli interessi verrà calcolato automaticamente"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2389,7 +2389,9 @@
|
||||
"to": "에게",
|
||||
"Down Payments": "계약금",
|
||||
"Enable Down Payments": "계약금 활성화",
|
||||
"valid": "유효한"
|
||||
"valid": "유효한",
|
||||
"INTEREST REFUND": "이자환급",
|
||||
"SUPPORTED REFUND TRANSACTIONS FOR INTEREST REFUND": "지원되는 이자 환불 유형"
|
||||
},
|
||||
"links": {
|
||||
"Community": "지역 사회",
|
||||
@@ -3373,6 +3375,7 @@
|
||||
"Withdraw": "철회하다",
|
||||
"Yes": "예",
|
||||
"loan product will be active and available to clients": "대출 상품이 활성화되어 고객에게 제공되는 날짜입니다. 비어 있으면 대출 상품이 생성되자마자 활성화됩니다.",
|
||||
"loan product will become inactive and unavailable to clients": "대출 상품이 비활성화되어 고객이 사용할 수 없게 되는 날짜입니다. 비어 있으면 로드 제품이 비활성화되지 않습니다."
|
||||
"loan product will become inactive and unavailable to clients": "대출 상품이 비활성화되어 고객이 사용할 수 없게 되는 날짜입니다. 비어 있으면 로드 제품이 비활성화되지 않습니다.",
|
||||
"Refund transactions where interest refund will automatically be calculated": "이자 환불이 자동으로 계산되는 환불 거래"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2388,7 +2388,9 @@
|
||||
"to": "į",
|
||||
"Down Payments": "Pradiniai mokėjimai",
|
||||
"Enable Down Payments": "Įgalinti pradinius mokėjimus",
|
||||
"valid": "galioja"
|
||||
"valid": "galioja",
|
||||
"INTEREST REFUND": "PALŪKANŲ GRĄŽINIMAS",
|
||||
"SUPPORTED REFUND TRANSACTIONS FOR INTEREST REFUND": "Palaikomi palūkanų grąžinimo tipai"
|
||||
},
|
||||
"links": {
|
||||
"Community": "bendruomenė",
|
||||
@@ -3373,6 +3375,7 @@
|
||||
"Withdraw": "Atsitraukti",
|
||||
"Yes": "Taip",
|
||||
"loan product will be active and available to clients": "Data, kada paskolos produktas bus aktyvus ir bus prieinamas klientams. Jei tuščia, paskolos produktas bus aktyvus, kai tik bus sukurtas.",
|
||||
"loan product will become inactive and unavailable to clients": "Data, kai paskolos produktas taps neaktyvus ir nepasiekiamas klientams. Jei tuščia, įkėlimo produktas niekada netaps neaktyvus."
|
||||
"loan product will become inactive and unavailable to clients": "Data, kai paskolos produktas taps neaktyvus ir nepasiekiamas klientams. Jei tuščia, įkėlimo produktas niekada netaps neaktyvus.",
|
||||
"Refund transactions where interest refund will automatically be calculated": "Atmaksas darījumi, kuros procentu atmaksa tiks aprēķināta automātiski"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2388,7 +2388,9 @@
|
||||
"to": "uz",
|
||||
"Down Payments": "Pirmās iemaksas",
|
||||
"Enable Down Payments": "Iespējot pirmās iemaksas",
|
||||
"valid": "derīgs"
|
||||
"valid": "derīgs",
|
||||
"INTEREST REFUND": "PROCENTU ATMAKSĀŠANA",
|
||||
"SUPPORTED REFUND TRANSACTIONS FOR INTEREST REFUND": "Atbalstītie procentu atmaksas veidi"
|
||||
},
|
||||
"links": {
|
||||
"Community": "kopiena",
|
||||
@@ -3373,6 +3375,7 @@
|
||||
"Withdraw": "Izņemt",
|
||||
"Yes": "Jā",
|
||||
"loan product will be active and available to clients": "Datums, kad aizdevuma produkts būs aktīvs un pieejams klientiem. Ja lauks ir tukšs, aizdevuma produkts būs aktīvs, tiklīdz tas tiks izveidots.",
|
||||
"loan product will become inactive and unavailable to clients": "Datums, kad aizdevuma produkts kļūs neaktīvs un klientiem nebūs pieejams. Ja lauks ir tukšs, ielādes produkts nekad nekļūs neaktīvs."
|
||||
"loan product will become inactive and unavailable to clients": "Datums, kad aizdevuma produkts kļūs neaktīvs un klientiem nebūs pieejams. Ja lauks ir tukšs, ielādes produkts nekad nekļūs neaktīvs.",
|
||||
"Refund transactions where interest refund will automatically be calculated": "Grąžinimo operacijos, kai palūkanų grąžinimas bus skaičiuojamas automatiškai"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2388,7 +2388,9 @@
|
||||
"to": "को",
|
||||
"Down Payments": "तल भुक्तानीहरू",
|
||||
"Enable Down Payments": "डाउन पेमेन्टहरू सक्षम गर्नुहोस्",
|
||||
"valid": "मान्य"
|
||||
"valid": "मान्य",
|
||||
"INTEREST REFUND": "व्याज परतावा",
|
||||
"SUPPORTED REFUND TRANSACTIONS FOR INTEREST REFUND": "समर्थित व्याज परतावा प्रकार"
|
||||
},
|
||||
"links": {
|
||||
"Community": "समुदाय",
|
||||
@@ -3373,6 +3375,7 @@
|
||||
"Withdraw": "निकाल्नु",
|
||||
"Yes": "हो",
|
||||
"loan product will be active and available to clients": "ऋण उत्पादन सक्रिय र ग्राहकहरूको लागि उपलब्ध हुने मिति। खाली भएमा, ऋण उत्पादन सिर्जना हुने बित्तिकै सक्रिय हुनेछ।",
|
||||
"loan product will become inactive and unavailable to clients": "ऋण उत्पादन निष्क्रिय र ग्राहकहरु को लागी अनुपलब्ध हुने मिति। यदि खाली छ भने, लोड उत्पादन कहिल्यै निष्क्रिय हुनेछैन।"
|
||||
"loan product will become inactive and unavailable to clients": "ऋण उत्पादन निष्क्रिय र ग्राहकहरु को लागी अनुपलब्ध हुने मिति। यदि खाली छ भने, लोड उत्पादन कहिल्यै निष्क्रिय हुनेछैन।",
|
||||
"Refund transactions where interest refund will automatically be calculated": "फिर्ता लेनदेन जहाँ ब्याज फिर्ता स्वतः गणना हुनेछ"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2388,7 +2388,9 @@
|
||||
"to": "para",
|
||||
"Down Payments": "Adiantamentos",
|
||||
"Enable Down Payments": "Habilitar adiantamentos",
|
||||
"valid": "válido"
|
||||
"valid": "válido",
|
||||
"INTEREST REFUND": "REEMBOLSO DE JUROS",
|
||||
"SUPPORTED REFUND TRANSACTIONS FOR INTEREST REFUND": "Tipos de reembolso de juros suportados"
|
||||
},
|
||||
"links": {
|
||||
"Community": "Comunidade",
|
||||
@@ -3373,6 +3375,7 @@
|
||||
"Withdraw": "Retirar",
|
||||
"Yes": "Sim",
|
||||
"loan product will be active and available to clients": "A data em que o produto de empréstimo estará ativo e disponível para os clientes. Se estiver em branco, o produto de empréstimo estará ativo assim que for criado.",
|
||||
"loan product will become inactive and unavailable to clients": "A data em que o produto de empréstimo ficará inativo e indisponível para os clientes. Se estiver em branco, o produto de carregamento nunca ficará inativo."
|
||||
"loan product will become inactive and unavailable to clients": "A data em que o produto de empréstimo ficará inativo e indisponível para os clientes. Se estiver em branco, o produto de carregamento nunca ficará inativo.",
|
||||
"Refund transactions where interest refund will automatically be calculated": "Transações de reembolso em que o reembolso de juros será calculado automaticamente"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2388,7 +2388,9 @@
|
||||
"to": "kwa",
|
||||
"Down Payments": "Malipo ya Chini",
|
||||
"Enable Down Payments": "Washa Malipo ya Chini",
|
||||
"valid": "halali"
|
||||
"valid": "halali",
|
||||
"INTEREST REFUND": "MAREJESHO YA RIBA",
|
||||
"SUPPORTED REFUND TRANSACTIONS FOR INTEREST REFUND": "Aina za kurejesha riba zinazotumika"
|
||||
},
|
||||
"links": {
|
||||
"Community": "Jumuiya",
|
||||
@@ -3373,6 +3375,7 @@
|
||||
"Withdraw": "Kutoa",
|
||||
"Yes": "Ndiyo",
|
||||
"loan product will be active and available to clients": "Tarehe ambayo bidhaa ya mkopo itaanza kutumika na inapatikana kwa wateja. Ikiwa tupu, bidhaa ya mkopo itaanza kutumika mara tu itakapoundwa.",
|
||||
"loan product will become inactive and unavailable to clients": "Tarehe ambayo bidhaa ya mkopo itaacha kutumika na haitapatikana kwa wateja. Ikiwa tupu, bidhaa ya kupakia haitafanya kazi kamwe."
|
||||
"loan product will become inactive and unavailable to clients": "Tarehe ambayo bidhaa ya mkopo itaacha kutumika na haitapatikana kwa wateja. Ikiwa tupu, bidhaa ya kupakia haitafanya kazi kamwe.",
|
||||
"Refund transactions where interest refund will automatically be calculated": "Shughuli za kurejesha pesa ambapo urejeshaji wa riba utahesabiwa kiotomatiki"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user