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>
|
</span>
|
||||||
</div>
|
</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>
|
<h3 class="mat-h3" fxFlexFill>{{ 'labels.inputs.Down Payments' | translate}}</h3>
|
||||||
|
|
||||||
<mat-divider [inset]="true"></mat-divider>
|
<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 { 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 { AdvancePaymentAllocationData, CreditAllocation, PaymentAllocation } from '../../loan-product-stepper/loan-product-payment-strategy-step/payment-allocation-model';
|
||||||
import { LoanProducts } from '../../loan-products';
|
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';
|
import { Accounting } from 'app/core/utils/accounting';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@@ -19,6 +19,7 @@ export class LoanProductSummaryComponent implements OnInit, OnChanges {
|
|||||||
@Input() useDueForRepaymentsConfigurations: boolean;
|
@Input() useDueForRepaymentsConfigurations: boolean;
|
||||||
@Input() paymentAllocations: PaymentAllocation | null;
|
@Input() paymentAllocations: PaymentAllocation | null;
|
||||||
@Input() creditAllocations: CreditAllocation | null;
|
@Input() creditAllocations: CreditAllocation | null;
|
||||||
|
@Input() supportedInterestRefundTypes: StringEnumOptionData[] | null;
|
||||||
|
|
||||||
variationsDisplayedColumns: string[] = ['valueConditionType', 'borrowerCycleNumber', 'minValue', 'defaultValue', 'maxValue'];
|
variationsDisplayedColumns: string[] = ['valueConditionType', 'borrowerCycleNumber', 'minValue', 'defaultValue', 'maxValue'];
|
||||||
chargesDisplayedColumns: string[] = ['name', 'chargeCalculationType', 'amount', 'chargeTimeType'];
|
chargesDisplayedColumns: string[] = ['name', 'chargeCalculationType', 'amount', 'chargeTimeType'];
|
||||||
@@ -331,4 +332,8 @@ export class LoanProductSummaryComponent implements OnInit, OnChanges {
|
|||||||
return this.accounting.getAccountRuleName(value.toUpperCase());
|
return this.accounting.getAccountRuleName(value.toUpperCase());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mapHumanReadableValueStringEnumOptionDataList(incomingParameter: StringEnumOptionData[]): string[] {
|
||||||
|
return incomingParameter.map(v => v.value);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,6 +51,15 @@
|
|||||||
|
|
||||||
</mat-step>
|
</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">
|
<mat-step *ngIf="isAdvancedPaymentStrategy">
|
||||||
|
|
||||||
<ng-template matStepLabel>{{'labels.inputs.PAYMENT ALLOCATION' | translate}}</ng-template>
|
<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 { 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 { 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 { 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 */
|
/** Custom Services */
|
||||||
import { ProductsService } from 'app/products/products.service';
|
import { ProductsService } from 'app/products/products.service';
|
||||||
import { LoanProducts } from '../loan-products';
|
import { LoanProducts } from '../loan-products';
|
||||||
import { AdvancedPaymentAllocation, AdvancedPaymentStrategy, PaymentAllocation } from '../loan-product-stepper/loan-product-payment-strategy-step/payment-allocation-model';
|
import { AdvancedPaymentAllocation, AdvancedPaymentStrategy, PaymentAllocation } from '../loan-product-stepper/loan-product-payment-strategy-step/payment-allocation-model';
|
||||||
import { Accounting } from 'app/core/utils/accounting';
|
import { Accounting } from 'app/core/utils/accounting';
|
||||||
|
import { StringEnumOptionData } from '../../../shared/models/option-data.model';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'mifosx-create-loan-product',
|
selector: 'mifosx-create-loan-product',
|
||||||
@@ -25,6 +27,7 @@ export class CreateLoanProductComponent implements OnInit {
|
|||||||
|
|
||||||
@ViewChild(LoanProductDetailsStepComponent, { static: true }) loanProductDetailsStep: LoanProductDetailsStepComponent;
|
@ViewChild(LoanProductDetailsStepComponent, { static: true }) loanProductDetailsStep: LoanProductDetailsStepComponent;
|
||||||
@ViewChild(LoanProductCurrencyStepComponent, { static: true }) loanProductCurrencyStep: LoanProductCurrencyStepComponent;
|
@ViewChild(LoanProductCurrencyStepComponent, { static: true }) loanProductCurrencyStep: LoanProductCurrencyStepComponent;
|
||||||
|
@ViewChild(LoanProductInterestRefundStepComponent, {static: true}) loanProductInterestRefundStep: LoanProductInterestRefundStepComponent;
|
||||||
@ViewChild(LoanProductTermsStepComponent, { static: true }) loanProductTermsStep: LoanProductTermsStepComponent;
|
@ViewChild(LoanProductTermsStepComponent, { static: true }) loanProductTermsStep: LoanProductTermsStepComponent;
|
||||||
@ViewChild(LoanProductSettingsStepComponent, { static: true }) loanProductSettingsStep: LoanProductSettingsStepComponent;
|
@ViewChild(LoanProductSettingsStepComponent, { static: true }) loanProductSettingsStep: LoanProductSettingsStepComponent;
|
||||||
@ViewChild(LoanProductChargesStepComponent, { static: true }) loanProductChargesStep: LoanProductChargesStepComponent;
|
@ViewChild(LoanProductChargesStepComponent, { static: true }) loanProductChargesStep: LoanProductChargesStepComponent;
|
||||||
@@ -37,6 +40,7 @@ export class CreateLoanProductComponent implements OnInit {
|
|||||||
isAdvancedPaymentStrategy = false;
|
isAdvancedPaymentStrategy = false;
|
||||||
paymentAllocation: PaymentAllocation[] = [];
|
paymentAllocation: PaymentAllocation[] = [];
|
||||||
creditAllocation: PaymentAllocation[] = [];
|
creditAllocation: PaymentAllocation[] = [];
|
||||||
|
supportedInterestRefundTypes: StringEnumOptionData[] = [];
|
||||||
advancedPaymentAllocations: AdvancedPaymentAllocation[] = [];
|
advancedPaymentAllocations: AdvancedPaymentAllocation[] = [];
|
||||||
advancedCreditAllocations: AdvancedPaymentAllocation[] = [];
|
advancedCreditAllocations: AdvancedPaymentAllocation[] = [];
|
||||||
|
|
||||||
@@ -79,6 +83,12 @@ export class CreateLoanProductComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get loanProductInterestRefundForm() {
|
||||||
|
if (this.loanProductInterestRefundStep != null) {
|
||||||
|
return this.loanProductInterestRefundStep.loanProductInterestRefundForm;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
get loanProductTermsForm() {
|
get loanProductTermsForm() {
|
||||||
return this.loanProductTermsStep.loanProductTermsForm;
|
return this.loanProductTermsStep.loanProductTermsForm;
|
||||||
}
|
}
|
||||||
@@ -99,6 +109,10 @@ export class CreateLoanProductComponent implements OnInit {
|
|||||||
this.creditAllocation = paymentAllocation;
|
this.creditAllocation = paymentAllocation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setSupportedInterestRefundTypes(supportedInterestRefundTypes: StringEnumOptionData[]): void {
|
||||||
|
this.supportedInterestRefundTypes = supportedInterestRefundTypes;
|
||||||
|
}
|
||||||
|
|
||||||
get loanProductSettingsForm() {
|
get loanProductSettingsForm() {
|
||||||
return this.loanProductSettingsStep.loanProductSettingsForm;
|
return this.loanProductSettingsStep.loanProductSettingsForm;
|
||||||
}
|
}
|
||||||
@@ -129,6 +143,7 @@ export class CreateLoanProductComponent implements OnInit {
|
|||||||
if (this.isAdvancedPaymentStrategy) {
|
if (this.isAdvancedPaymentStrategy) {
|
||||||
loanProduct['paymentAllocation'] = this.paymentAllocation;
|
loanProduct['paymentAllocation'] = this.paymentAllocation;
|
||||||
loanProduct['creditAllocation'] = this.creditAllocation;
|
loanProduct['creditAllocation'] = this.creditAllocation;
|
||||||
|
loanProduct['supportedInterestRefundTypes'] = this.supportedInterestRefundTypes;
|
||||||
}
|
}
|
||||||
return loanProduct;
|
return loanProduct;
|
||||||
}
|
}
|
||||||
@@ -139,6 +154,7 @@ export class CreateLoanProductComponent implements OnInit {
|
|||||||
loanProduct['dueDaysForRepaymentEvent'] = null;
|
loanProduct['dueDaysForRepaymentEvent'] = null;
|
||||||
loanProduct['overDueDaysForRepaymentEvent'] = null;
|
loanProduct['overDueDaysForRepaymentEvent'] = null;
|
||||||
}
|
}
|
||||||
|
loanProduct['supportedInterestRefundTypes'] = this.mapStringEnumOptionToIdList(loanProduct['supportedInterestRefundTypes']);
|
||||||
delete loanProduct['useDueForRepaymentsConfigurations'];
|
delete loanProduct['useDueForRepaymentsConfigurations'];
|
||||||
|
|
||||||
this.productsService.createLoanProduct(loanProduct)
|
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>
|
||||||
|
|
||||||
|
<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>
|
<mat-step *ngIf="isAdvancedPaymentStrategy" completed>
|
||||||
|
|
||||||
<ng-template matStepLabel>{{'labels.inputs.PAYMENT ALLOCATION' | translate}}</ng-template>
|
<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 { ProductsService } from 'app/products/products.service';
|
||||||
import { GlobalConfiguration } from 'app/system/configurations/global-configurations-tab/configuration.model';
|
import { GlobalConfiguration } from 'app/system/configurations/global-configurations-tab/configuration.model';
|
||||||
import { LoanProducts } from '../loan-products';
|
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 { 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({
|
@Component({
|
||||||
selector: 'mifosx-edit-loan-product',
|
selector: 'mifosx-edit-loan-product',
|
||||||
@@ -26,6 +28,7 @@ export class EditLoanProductComponent implements OnInit {
|
|||||||
|
|
||||||
@ViewChild(LoanProductDetailsStepComponent, { static: true }) loanProductDetailsStep: LoanProductDetailsStepComponent;
|
@ViewChild(LoanProductDetailsStepComponent, { static: true }) loanProductDetailsStep: LoanProductDetailsStepComponent;
|
||||||
@ViewChild(LoanProductCurrencyStepComponent, { static: true }) loanProductCurrencyStep: LoanProductCurrencyStepComponent;
|
@ViewChild(LoanProductCurrencyStepComponent, { static: true }) loanProductCurrencyStep: LoanProductCurrencyStepComponent;
|
||||||
|
@ViewChild(LoanProductInterestRefundStepComponent, { static: true }) loanProductInterestRefundStep: LoanProductInterestRefundStepComponent;
|
||||||
@ViewChild(LoanProductTermsStepComponent, { static: true }) loanProductTermsStep: LoanProductTermsStepComponent;
|
@ViewChild(LoanProductTermsStepComponent, { static: true }) loanProductTermsStep: LoanProductTermsStepComponent;
|
||||||
@ViewChild(LoanProductSettingsStepComponent, { static: true }) loanProductSettingsStep: LoanProductSettingsStepComponent;
|
@ViewChild(LoanProductSettingsStepComponent, { static: true }) loanProductSettingsStep: LoanProductSettingsStepComponent;
|
||||||
@ViewChild(LoanProductChargesStepComponent, { static: true }) loanProductChargesStep: LoanProductChargesStepComponent;
|
@ViewChild(LoanProductChargesStepComponent, { static: true }) loanProductChargesStep: LoanProductChargesStepComponent;
|
||||||
@@ -41,6 +44,7 @@ export class EditLoanProductComponent implements OnInit {
|
|||||||
creditAllocation: CreditAllocation[] = [];
|
creditAllocation: CreditAllocation[] = [];
|
||||||
advancedPaymentAllocations: AdvancedPaymentAllocation[] = [];
|
advancedPaymentAllocations: AdvancedPaymentAllocation[] = [];
|
||||||
advancedCreditAllocations: AdvancedCreditAllocation[] = [];
|
advancedCreditAllocations: AdvancedCreditAllocation[] = [];
|
||||||
|
supportedInterestRefundTypes: StringEnumOptionData[] = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {ActivatedRoute} route Activated Route.
|
* @param {ActivatedRoute} route Activated Route.
|
||||||
@@ -77,6 +81,7 @@ export class EditLoanProductComponent implements OnInit {
|
|||||||
if (this.isAdvancedPaymentStrategy) {
|
if (this.isAdvancedPaymentStrategy) {
|
||||||
this.paymentAllocation = this.loanProductAndTemplate.paymentAllocation;
|
this.paymentAllocation = this.loanProductAndTemplate.paymentAllocation;
|
||||||
this.creditAllocation = this.loanProductAndTemplate.creditAllocation;
|
this.creditAllocation = this.loanProductAndTemplate.creditAllocation;
|
||||||
|
this.supportedInterestRefundTypes = this.loanProductAndTemplate.supportedInterestRefundTypes;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -96,6 +101,12 @@ export class EditLoanProductComponent implements OnInit {
|
|||||||
return this.loanProductSettingsStep.loanProductSettingsForm;
|
return this.loanProductSettingsStep.loanProductSettingsForm;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get loanProductInterestRefundForm() {
|
||||||
|
if (this.loanProductInterestRefundStep != null) {
|
||||||
|
return this.loanProductInterestRefundStep.loanProductInterestRefundForm;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
advancePaymentStrategy(value: string): void {
|
advancePaymentStrategy(value: string): void {
|
||||||
this.isAdvancedPaymentStrategy = LoanProducts.isAdvancedPaymentAllocationStrategy(value);
|
this.isAdvancedPaymentStrategy = LoanProducts.isAdvancedPaymentAllocationStrategy(value);
|
||||||
}
|
}
|
||||||
@@ -115,6 +126,10 @@ export class EditLoanProductComponent implements OnInit {
|
|||||||
this.wasPaymentAllocationChanged = true;
|
this.wasPaymentAllocationChanged = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setSupportedInterestRefundTypes(supportedInterestRefundTypes: StringEnumOptionData[]): void {
|
||||||
|
this.supportedInterestRefundTypes = supportedInterestRefundTypes;
|
||||||
|
}
|
||||||
|
|
||||||
paymentAllocationChanged(value: boolean): void {
|
paymentAllocationChanged(value: boolean): void {
|
||||||
this.wasPaymentAllocationChanged = value;
|
this.wasPaymentAllocationChanged = value;
|
||||||
}
|
}
|
||||||
@@ -154,9 +169,11 @@ export class EditLoanProductComponent implements OnInit {
|
|||||||
// Default empty array
|
// Default empty array
|
||||||
loanProduct['paymentAllocation'] = [];
|
loanProduct['paymentAllocation'] = [];
|
||||||
loanProduct['creditAllocation'] = [];
|
loanProduct['creditAllocation'] = [];
|
||||||
|
loanProduct['supportedInterestRefundTypes'] = [];
|
||||||
if (this.isAdvancedPaymentStrategy) {
|
if (this.isAdvancedPaymentStrategy) {
|
||||||
loanProduct['paymentAllocation'] = this.paymentAllocation;
|
loanProduct['paymentAllocation'] = this.paymentAllocation;
|
||||||
loanProduct['creditAllocation'] = this.creditAllocation;
|
loanProduct['creditAllocation'] = this.creditAllocation;
|
||||||
|
loanProduct['supportedInterestRefundTypes'] = this.supportedInterestRefundTypes;
|
||||||
}
|
}
|
||||||
return loanProduct;
|
return loanProduct;
|
||||||
}
|
}
|
||||||
@@ -167,6 +184,7 @@ export class EditLoanProductComponent implements OnInit {
|
|||||||
loanProduct['dueDaysForRepaymentEvent'] = null;
|
loanProduct['dueDaysForRepaymentEvent'] = null;
|
||||||
loanProduct['overDueDaysForRepaymentEvent'] = null;
|
loanProduct['overDueDaysForRepaymentEvent'] = null;
|
||||||
}
|
}
|
||||||
|
loanProduct['supportedInterestRefundTypes'] = this.mapStringEnumOptionToIdList(loanProduct['supportedInterestRefundTypes']);
|
||||||
delete loanProduct['useDueForRepaymentsConfigurations'];
|
delete loanProduct['useDueForRepaymentsConfigurations'];
|
||||||
|
|
||||||
this.productsService.updateLoanProduct(this.loanProductAndTemplate.id, loanProduct)
|
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"
|
[useDueForRepaymentsConfigurations]="loanProduct.useDueForRepaymentsConfigurations"
|
||||||
[paymentAllocations]="loanProduct.paymentAllocation"
|
[paymentAllocations]="loanProduct.paymentAllocation"
|
||||||
[creditAllocations]="loanProduct.creditAllocation"
|
[creditAllocations]="loanProduct.creditAllocation"
|
||||||
|
[supportedInterestRefundTypes]="loanProduct.supportedInterestRefundTypes"
|
||||||
>
|
>
|
||||||
</mifosx-loan-product-summary>
|
</mifosx-loan-product-summary>
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { AccountingMapping, ChargeToIncomeAccountMapping, Currency, PaymentChannelToFundSourceMapping } from 'app/shared/models/general.model';
|
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';
|
import { CreditAllocation, PaymentAllocation } from '../loan-product-stepper/loan-product-payment-strategy-step/payment-allocation-model';
|
||||||
|
|
||||||
export interface LoanProduct {
|
export interface LoanProduct {
|
||||||
@@ -125,6 +125,7 @@ export interface LoanProduct {
|
|||||||
feeToIncomeAccountMappings?: ChargeToIncomeAccountMapping[];
|
feeToIncomeAccountMappings?: ChargeToIncomeAccountMapping[];
|
||||||
penaltyToIncomeAccountMappings?: ChargeToIncomeAccountMapping[];
|
penaltyToIncomeAccountMappings?: ChargeToIncomeAccountMapping[];
|
||||||
enableAccrualActivityPosting?: boolean;
|
enableAccrualActivityPosting?: boolean;
|
||||||
|
supportedInterestRefundTypes?: StringEnumOptionData[];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+1
@@ -18,5 +18,6 @@
|
|||||||
[useDueForRepaymentsConfigurations]="useDueForRepaymentsConfigurations"
|
[useDueForRepaymentsConfigurations]="useDueForRepaymentsConfigurations"
|
||||||
[paymentAllocations]="loanProduct.paymentAllocation"
|
[paymentAllocations]="loanProduct.paymentAllocation"
|
||||||
[creditAllocations]="loanProduct.creditAllocation"
|
[creditAllocations]="loanProduct.creditAllocation"
|
||||||
|
[supportedInterestRefundTypes]="loanProduct.supportedInterestRefundTypes"
|
||||||
>
|
>
|
||||||
</mifosx-loan-product-summary>
|
</mifosx-loan-product-summary>
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import { ProductsComponent } from './products.component';
|
|||||||
import { LoanProductsComponent } from './loan-products/loan-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 { 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 { 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 { 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 { 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';
|
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,
|
LoanProductsComponent,
|
||||||
LoanProductDetailsStepComponent,
|
LoanProductDetailsStepComponent,
|
||||||
LoanProductCurrencyStepComponent,
|
LoanProductCurrencyStepComponent,
|
||||||
|
LoanProductInterestRefundStepComponent,
|
||||||
LoanProductTermsStepComponent,
|
LoanProductTermsStepComponent,
|
||||||
LoanProductSettingsStepComponent,
|
LoanProductSettingsStepComponent,
|
||||||
LoanProductPaymentStrategyStepComponent,
|
LoanProductPaymentStrategyStepComponent,
|
||||||
|
|||||||
@@ -8,3 +8,9 @@ export interface CodeName {
|
|||||||
code: string;
|
code: string;
|
||||||
name: string;
|
name: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface StringEnumOptionData {
|
||||||
|
id: string;
|
||||||
|
value: string;
|
||||||
|
code: string;
|
||||||
|
}
|
||||||
|
|||||||
@@ -2388,7 +2388,9 @@
|
|||||||
"to": "na",
|
"to": "na",
|
||||||
"Down Payments": "Zálohy",
|
"Down Payments": "Zálohy",
|
||||||
"Enable Down Payments": "Povolit zálohové platby",
|
"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": {
|
"links": {
|
||||||
"Community": "Společenství",
|
"Community": "Společenství",
|
||||||
@@ -3373,6 +3375,7 @@
|
|||||||
"Withdraw": "Ustoupit",
|
"Withdraw": "Ustoupit",
|
||||||
"Yes": "Ano",
|
"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 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",
|
"to": "Zu",
|
||||||
"Down Payments": "Anzahlungen",
|
"Down Payments": "Anzahlungen",
|
||||||
"Enable Down Payments": "Anzahlungen aktivieren",
|
"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": {
|
"links": {
|
||||||
"Community": "Gemeinschaft",
|
"Community": "Gemeinschaft",
|
||||||
@@ -3372,6 +3374,7 @@
|
|||||||
"Withdraw": "Zurückziehen",
|
"Withdraw": "Zurückziehen",
|
||||||
"Yes": "Ja",
|
"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 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",
|
"to": "to",
|
||||||
"Down Payments": "Down Payments",
|
"Down Payments": "Down Payments",
|
||||||
"Enable Down Payments": "Enable 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": {
|
"links": {
|
||||||
"Community": "Community",
|
"Community": "Community",
|
||||||
@@ -3374,6 +3376,7 @@
|
|||||||
"Withdraw": "Withdraw",
|
"Withdraw": "Withdraw",
|
||||||
"Yes": "Yes",
|
"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 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",
|
"to": "a",
|
||||||
"Down Payments": "Pago Inicial",
|
"Down Payments": "Pago Inicial",
|
||||||
"Enable Down Payments": "Habilitar Pagos Iniciales",
|
"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": {
|
"links": {
|
||||||
"Community": "Comunidad",
|
"Community": "Comunidad",
|
||||||
@@ -3372,6 +3374,7 @@
|
|||||||
"Withdraw": "Retirar",
|
"Withdraw": "Retirar",
|
||||||
"Yes": "Sí",
|
"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 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": "à",
|
"to": "à",
|
||||||
"Down Payments": "Acomptes",
|
"Down Payments": "Acomptes",
|
||||||
"Enable Down Payments": "Activer les 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": {
|
"links": {
|
||||||
"Community": "Communauté",
|
"Community": "Communauté",
|
||||||
@@ -3373,6 +3375,7 @@
|
|||||||
"Withdraw": "Retirer",
|
"Withdraw": "Retirer",
|
||||||
"Yes": "Oui",
|
"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 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",
|
"to": "A",
|
||||||
"Down Payments": "Acconti",
|
"Down Payments": "Acconti",
|
||||||
"Enable Down Payments": "Abilita 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": {
|
"links": {
|
||||||
"Community": "Comunità",
|
"Community": "Comunità",
|
||||||
@@ -3373,6 +3375,7 @@
|
|||||||
"Withdraw": "Ritirare",
|
"Withdraw": "Ritirare",
|
||||||
"Yes": "SÌ",
|
"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 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": "에게",
|
"to": "에게",
|
||||||
"Down Payments": "계약금",
|
"Down Payments": "계약금",
|
||||||
"Enable Down Payments": "계약금 활성화",
|
"Enable Down Payments": "계약금 활성화",
|
||||||
"valid": "유효한"
|
"valid": "유효한",
|
||||||
|
"INTEREST REFUND": "이자환급",
|
||||||
|
"SUPPORTED REFUND TRANSACTIONS FOR INTEREST REFUND": "지원되는 이자 환불 유형"
|
||||||
},
|
},
|
||||||
"links": {
|
"links": {
|
||||||
"Community": "지역 사회",
|
"Community": "지역 사회",
|
||||||
@@ -3373,6 +3375,7 @@
|
|||||||
"Withdraw": "철회하다",
|
"Withdraw": "철회하다",
|
||||||
"Yes": "예",
|
"Yes": "예",
|
||||||
"loan product will be active and available to clients": "대출 상품이 활성화되어 고객에게 제공되는 날짜입니다. 비어 있으면 대출 상품이 생성되자마자 활성화됩니다.",
|
"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": "į",
|
"to": "į",
|
||||||
"Down Payments": "Pradiniai mokėjimai",
|
"Down Payments": "Pradiniai mokėjimai",
|
||||||
"Enable Down Payments": "Įgalinti pradinius mokėjimus",
|
"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": {
|
"links": {
|
||||||
"Community": "bendruomenė",
|
"Community": "bendruomenė",
|
||||||
@@ -3373,6 +3375,7 @@
|
|||||||
"Withdraw": "Atsitraukti",
|
"Withdraw": "Atsitraukti",
|
||||||
"Yes": "Taip",
|
"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 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",
|
"to": "uz",
|
||||||
"Down Payments": "Pirmās iemaksas",
|
"Down Payments": "Pirmās iemaksas",
|
||||||
"Enable Down Payments": "Iespējot 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": {
|
"links": {
|
||||||
"Community": "kopiena",
|
"Community": "kopiena",
|
||||||
@@ -3373,6 +3375,7 @@
|
|||||||
"Withdraw": "Izņemt",
|
"Withdraw": "Izņemt",
|
||||||
"Yes": "Jā",
|
"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 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": "को",
|
"to": "को",
|
||||||
"Down Payments": "तल भुक्तानीहरू",
|
"Down Payments": "तल भुक्तानीहरू",
|
||||||
"Enable Down Payments": "डाउन पेमेन्टहरू सक्षम गर्नुहोस्",
|
"Enable Down Payments": "डाउन पेमेन्टहरू सक्षम गर्नुहोस्",
|
||||||
"valid": "मान्य"
|
"valid": "मान्य",
|
||||||
|
"INTEREST REFUND": "व्याज परतावा",
|
||||||
|
"SUPPORTED REFUND TRANSACTIONS FOR INTEREST REFUND": "समर्थित व्याज परतावा प्रकार"
|
||||||
},
|
},
|
||||||
"links": {
|
"links": {
|
||||||
"Community": "समुदाय",
|
"Community": "समुदाय",
|
||||||
@@ -3373,6 +3375,7 @@
|
|||||||
"Withdraw": "निकाल्नु",
|
"Withdraw": "निकाल्नु",
|
||||||
"Yes": "हो",
|
"Yes": "हो",
|
||||||
"loan product will be active and available to clients": "ऋण उत्पादन सक्रिय र ग्राहकहरूको लागि उपलब्ध हुने मिति। खाली भएमा, ऋण उत्पादन सिर्जना हुने बित्तिकै सक्रिय हुनेछ।",
|
"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",
|
"to": "para",
|
||||||
"Down Payments": "Adiantamentos",
|
"Down Payments": "Adiantamentos",
|
||||||
"Enable Down Payments": "Habilitar 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": {
|
"links": {
|
||||||
"Community": "Comunidade",
|
"Community": "Comunidade",
|
||||||
@@ -3373,6 +3375,7 @@
|
|||||||
"Withdraw": "Retirar",
|
"Withdraw": "Retirar",
|
||||||
"Yes": "Sim",
|
"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 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",
|
"to": "kwa",
|
||||||
"Down Payments": "Malipo ya Chini",
|
"Down Payments": "Malipo ya Chini",
|
||||||
"Enable Down Payments": "Washa 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": {
|
"links": {
|
||||||
"Community": "Jumuiya",
|
"Community": "Jumuiya",
|
||||||
@@ -3373,6 +3375,7 @@
|
|||||||
"Withdraw": "Kutoa",
|
"Withdraw": "Kutoa",
|
||||||
"Yes": "Ndiyo",
|
"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 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