add missed translation for products module
This commit is contained in:
committed by
Jose Alberto Hernandez
parent
f903bc2c0a
commit
4e48bc982c
+10
-10
@@ -97,21 +97,21 @@
|
||||
*ngIf="paymentChannelToFundSourceMappings.value.length !== 0">
|
||||
|
||||
<ng-container matColumnDef="paymentTypeId">
|
||||
<th mat-header-cell *matHeaderCellDef> Payment Type </th>
|
||||
<th mat-header-cell *matHeaderCellDef> {{'labels.heading.Payment Type' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let paymentFundSource">
|
||||
{{ paymentFundSource.paymentTypeId | find:paymentTypeData:'id':'name' }}
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="fundSourceAccountId">
|
||||
<th mat-header-cell *matHeaderCellDef> Fund Source </th>
|
||||
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Fund Source' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let paymentFundSource">
|
||||
{{ paymentFundSource.fundSourceAccountId | find:assetAccountData:'id':'name' }}
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="actions">
|
||||
<th mat-header-cell *matHeaderCellDef> Actions </th>
|
||||
<th mat-header-cell *matHeaderCellDef> {{'labels.buttons.Actions' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let paymentFundSource; let i = index">
|
||||
<button mat-icon-button color="primary"
|
||||
(click)="edit('PaymentFundSource', paymentChannelToFundSourceMappings, i)">
|
||||
@@ -144,21 +144,21 @@
|
||||
*ngIf="feeToIncomeAccountMappings.value.length !== 0">
|
||||
|
||||
<ng-container matColumnDef="chargeId">
|
||||
<th mat-header-cell *matHeaderCellDef> Fees </th>
|
||||
<th mat-header-cell *matHeaderCellDef> {{'labels.catalogs.Fees' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let feesIncome">
|
||||
{{ feesIncome.chargeId | find:chargeData:'id':'name' }}
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="incomeAccountId">
|
||||
<th mat-header-cell *matHeaderCellDef> Income Account </th>
|
||||
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Income Account' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let feesIncome">
|
||||
{{ feesIncome.incomeAccountId | find:incomeAccountData:'id':'name' }}
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="actions">
|
||||
<th mat-header-cell *matHeaderCellDef> Actions </th>
|
||||
<th mat-header-cell *matHeaderCellDef> {{'labels.buttons.Actions' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let feesIncome; let i = index">
|
||||
<button mat-icon-button color="primary" (click)="edit('FeesIncome', feeToIncomeAccountMappings, i)">
|
||||
<fa-icon icon="edit"></fa-icon>
|
||||
@@ -193,21 +193,21 @@
|
||||
*ngIf="penaltyToIncomeAccountMappings.value.length !== 0">
|
||||
|
||||
<ng-container matColumnDef="chargeId">
|
||||
<th mat-header-cell *matHeaderCellDef> Penalty </th>
|
||||
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Penalty' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let penaltyIncome">
|
||||
{{ penaltyIncome.chargeId | find:penaltyData:'id':'name' }}
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="incomeAccountId">
|
||||
<th mat-header-cell *matHeaderCellDef> Income Account </th>
|
||||
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Income Account' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let penaltyIncome">
|
||||
{{ penaltyIncome.incomeAccountId | find:incomeAccountData:'id':'name' }}
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="actions">
|
||||
<th mat-header-cell *matHeaderCellDef> Actions </th>
|
||||
<th mat-header-cell *matHeaderCellDef> {{'labels.buttons.Actions' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let penaltyIncome; let i = index">
|
||||
<button mat-icon-button color="primary"
|
||||
(click)="edit('PenaltyIncome', penaltyToIncomeAccountMappings, i)">
|
||||
@@ -242,4 +242,4 @@
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</form>
|
||||
|
||||
+8
-6
@@ -1,13 +1,14 @@
|
||||
import { Component, OnInit, Input } from '@angular/core';
|
||||
import { UntypedFormGroup, UntypedFormBuilder, UntypedFormArray, Validators, UntypedFormControl } from '@angular/forms';
|
||||
import { Component, Input, OnInit } from '@angular/core';
|
||||
import { UntypedFormArray, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
|
||||
import { FormDialogComponent } from 'app/shared/form-dialog/form-dialog.component';
|
||||
import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component';
|
||||
import { FormDialogComponent } from 'app/shared/form-dialog/form-dialog.component';
|
||||
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { Accounting } from 'app/core/utils/accounting';
|
||||
import { FormfieldBase } from 'app/shared/form-dialog/formfield/model/formfield-base';
|
||||
import { SelectBase } from 'app/shared/form-dialog/formfield/model/select-base';
|
||||
import { Accounting } from 'app/core/utils/accounting';
|
||||
|
||||
@Component({
|
||||
selector: 'mifosx-fixed-deposit-product-accounting-step',
|
||||
@@ -35,7 +36,8 @@ export class FixedDepositProductAccountingStepComponent implements OnInit {
|
||||
|
||||
constructor(private formBuilder: UntypedFormBuilder,
|
||||
public dialog: MatDialog,
|
||||
private accounting: Accounting) {
|
||||
private accounting: Accounting,
|
||||
private translateService: TranslateService) {
|
||||
this.createfixedDepositProductAccountingForm();
|
||||
this.setConditionalControls();
|
||||
}
|
||||
@@ -206,7 +208,7 @@ export class FixedDepositProductAccountingStepComponent implements OnInit {
|
||||
|
||||
delete(formArray: UntypedFormArray, index: number) {
|
||||
const dialogRef = this.dialog.open(DeleteDialogComponent, {
|
||||
data: { deleteContext: `this` }
|
||||
data: { deleteContext: this.translateService.instant('labels.text.this') }
|
||||
});
|
||||
dialogRef.afterClosed().subscribe((response: any) => {
|
||||
if (response.delete) {
|
||||
|
||||
+6
-4
@@ -1,7 +1,8 @@
|
||||
import { Component, OnInit, Input } from '@angular/core';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { Component, Input, OnInit } from '@angular/core';
|
||||
import { UntypedFormControl } from '@angular/forms';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component';
|
||||
|
||||
@Component({
|
||||
@@ -19,7 +20,8 @@ export class FixedDepositProductChargesStepComponent implements OnInit {
|
||||
chargesDataSource: {}[];
|
||||
displayedColumns: string[] = ['name', 'chargeCalculationType', 'amount', 'chargeTimeType', 'action'];
|
||||
|
||||
constructor(public dialog: MatDialog) {
|
||||
constructor(public dialog: MatDialog,
|
||||
private translateService: TranslateService) {
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
@@ -39,7 +41,7 @@ export class FixedDepositProductChargesStepComponent implements OnInit {
|
||||
|
||||
deleteCharge(charge: any) {
|
||||
const deleteChargeDialogRef = this.dialog.open(DeleteDialogComponent, {
|
||||
data: { deleteContext: `charge ${charge.name}` }
|
||||
data: { deleteContext: this.translateService.instant('labels.inputs.Charge') + ' ' + charge.name }
|
||||
});
|
||||
deleteChargeDialogRef.afterClosed().subscribe((response: any) => {
|
||||
if (response.delete) {
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@
|
||||
<mat-datepicker-toggle matSuffix [for]="validFromDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #validFromDatePicker></mat-datepicker>
|
||||
<mat-error>
|
||||
Valid from Date {{'labels.commons.is' | translate}} <strong>{{'labels.commons.required' | translate}}</strong>
|
||||
{{'labels.inputs.Valid from Date' | translate}} {{'labels.commons.is' | translate}} <strong>{{'labels.commons.required' | translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
|
||||
+10
-11
@@ -1,24 +1,23 @@
|
||||
/** Angular Imports */
|
||||
import { Component, OnInit, Input } from '@angular/core';
|
||||
import { UntypedFormGroup, UntypedFormBuilder, Validators, UntypedFormArray } from '@angular/forms';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { animate, state, style, transition, trigger } from '@angular/animations';
|
||||
import { TooltipPosition } from '@angular/material/tooltip';
|
||||
import { Component, Input, OnInit } from '@angular/core';
|
||||
import { UntypedFormArray, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
|
||||
/** Custom Components */
|
||||
import { FormDialogComponent } from 'app/shared/form-dialog/form-dialog.component';
|
||||
import { DepositProductIncentiveFormDialogComponent } from 'app/products/deposit-product-incentive-form-dialog/deposit-product-incentive-form-dialog.component';
|
||||
import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component';
|
||||
import { FormDialogComponent } from 'app/shared/form-dialog/form-dialog.component';
|
||||
|
||||
/** Dialog Components */
|
||||
import { FormfieldBase } from 'app/shared/form-dialog/formfield/model/formfield-base';
|
||||
import { SelectBase } from 'app/shared/form-dialog/formfield/model/select-base';
|
||||
import { InputBase } from 'app/shared/form-dialog/formfield/model/input-base';
|
||||
import { SelectBase } from 'app/shared/form-dialog/formfield/model/select-base';
|
||||
|
||||
/** Custom Services */
|
||||
import { SettingsService } from 'app/settings/settings.service';
|
||||
import { Dates } from 'app/core/utils/dates';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { Dates } from 'app/core/utils/dates';
|
||||
import { SettingsService } from 'app/settings/settings.service';
|
||||
|
||||
@Component({
|
||||
selector: 'mifosx-fixed-deposit-product-interest-rate-chart-step',
|
||||
@@ -284,7 +283,7 @@ export class FixedDepositProductInterestRateChartStepComponent implements OnInit
|
||||
}
|
||||
|
||||
editChartSlab(chartSlabs: UntypedFormArray, chartSlabIndex: number) {
|
||||
const data = { ...this.getData('Slab', chartSlabs.at(chartSlabIndex).value), layout: { addButtonText: 'Edit' } };
|
||||
const data = { ...this.getData('Slab', chartSlabs.at(chartSlabIndex).value), layout: { addButtonText: this.translateService.instant('labels.text.this') } };
|
||||
const dialogRef = this.dialog.open(FormDialogComponent, { data });
|
||||
dialogRef.afterClosed().subscribe((response: any) => {
|
||||
if (response.data) {
|
||||
@@ -294,7 +293,7 @@ export class FixedDepositProductInterestRateChartStepComponent implements OnInit
|
||||
}
|
||||
|
||||
editIncentive(incentives: UntypedFormArray, incentiveIndex: number) {
|
||||
const data = { ...this.getData('Incentive', incentives.at(incentiveIndex).value), layout: { addButtonText: 'Edit' } };
|
||||
const data = { ...this.getData('Incentive', incentives.at(incentiveIndex).value), layout: { addButtonText: this.translateService.instant('labels.text.this') } };
|
||||
const dialogRef = this.dialog.open(DepositProductIncentiveFormDialogComponent, { data });
|
||||
dialogRef.afterClosed().subscribe((response: any) => {
|
||||
if (response.data) {
|
||||
@@ -305,7 +304,7 @@ export class FixedDepositProductInterestRateChartStepComponent implements OnInit
|
||||
|
||||
delete(formArray: UntypedFormArray, index: number) {
|
||||
const dialogRef = this.dialog.open(DeleteDialogComponent, {
|
||||
data: { deleteContext: `this` }
|
||||
data: { deleteContext: this.translateService.instant('labels.text.this') }
|
||||
});
|
||||
dialogRef.afterClosed().subscribe((response: any) => {
|
||||
if (response.delete) {
|
||||
|
||||
@@ -42,8 +42,8 @@
|
||||
</div>
|
||||
|
||||
<ng-template #templateButtonCreateFixedProduct let-popover="popover">
|
||||
<h2>Create fixed deposit product</h2>
|
||||
<p class="mw300">This option allows you to create new fixed deposit product.</p>
|
||||
<h2>{{'labels.buttons.Create Fixed Deposit Product' | translate}}</h2>
|
||||
<p class="mw300">{{'labels.text.Allows you to create new fixed deposit product' | translate}}</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{'labels.buttons.Close' | translate}}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();previousStep()">{{'labels.buttons.Back' | translate}}</button>
|
||||
@@ -52,7 +52,7 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateFilter let-popover="popover">
|
||||
<h4>Search bar to filter fixed deposit products.</h4>
|
||||
<h4>{{'labels.text.Search bar to filter fixed deposit products.' | translate}}</h4>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{'labels.buttons.Close' | translate}}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateButtonCreateFixedProduct,buttonCreateFixedProduct , 'bottom', true)">{{'labels.buttons.Back' | translate}}</button>
|
||||
@@ -61,7 +61,7 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateFixedProductsTable let-popover="popover">
|
||||
<h4 class="mw300">List of fixed deposit products in the organization. For more details click: <a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/102629544/Fixed+Deposit+Products" target="_blank">{{'labels.inputs.Fixed Deposit Products' | translate}}</a></h4>
|
||||
<h4 class="mw300">{{'labels.text.List of fixed deposit products in the organization' | translate}}: <a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/102629544/Fixed+Deposit+Products" target="_blank">{{'labels.inputs.Fixed Deposit Products' | translate}}</a></h4>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{'labels.buttons.Close' | translate}}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateFilter,filter, 'bottom', true)">{{'labels.buttons.Back' | translate}}</button>
|
||||
|
||||
+11
-12
@@ -9,20 +9,19 @@
|
||||
<div fxLayout="row wrap" fxLayout.lt-md="column" fxLayoutGap="4%">
|
||||
|
||||
<mat-form-field fxFlex="30%">
|
||||
<mat-label>Floating Rate Name</mat-label>
|
||||
<mat-label>{{'labels.inputs.Floating Rate Name' | translate}}</mat-label>
|
||||
<input matInput required matTooltip="Unique name for the floating rate scheme." formControlName="name">
|
||||
<mat-error *ngIf="floatingRateForm.controls.name.hasError('required')">
|
||||
Floating Rate Name is <strong>required</strong>
|
||||
{{'labels.inputs.Floating Rate Name' | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<div class="checkbox-wrapper" fxFlex="30%">
|
||||
<mat-checkbox formControlName="isBaseLendingRate" matTooltip="Check if this floating rate scheme is to be considered base lending rate for the organisation" class="checkbox" labelPosition="before">Is Base Lending
|
||||
Rate?</mat-checkbox>
|
||||
<mat-checkbox formControlName="isBaseLendingRate" matTooltip="Check if this floating rate scheme is to be considered base lending rate for the organisation" class="checkbox" labelPosition="before">{{'labels.inputs.Is Base Lending Rate' | translate}}?</mat-checkbox>
|
||||
</div>
|
||||
|
||||
<div class="checkbox-wrapper" fxFlex="30%">
|
||||
<mat-checkbox formControlName="isActive" matTooltip="Check if this floating rate scheme to be activated" class="checkbox" labelPosition="before">Active</mat-checkbox>
|
||||
<mat-checkbox formControlName="isActive" matTooltip="Check if this floating rate scheme to be activated" class="checkbox" labelPosition="before">{{'labels.inputs.Active' | translate}}</mat-checkbox>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -35,7 +34,7 @@
|
||||
|
||||
<div fxLayout="row wrap" fxLayoutGap="70%" fxLayoutGap.lt-md="0px" class="m-b-10" fxLayout.lt-md="column">
|
||||
|
||||
<p fxFlex="25%" class="mat-title">Floating Rate Periods <i class="fas fa-question" matTooltip="Floating interest rate and start date for this floating rate scheme"></i></p>
|
||||
<p fxFlex="25%" class="mat-title">{{'labels.inputs.Floating Rate Periods' | translate}} <i class="fas fa-question" matTooltip="Floating interest rate and start date for this floating rate scheme"></i></p>
|
||||
|
||||
<button mat-mini-fab type="button" color="primary" (click)="addFloatingRatePeriod()">
|
||||
<fa-icon icon="plus"></fa-icon>
|
||||
@@ -46,17 +45,17 @@
|
||||
<table mat-table [dataSource]="dataSource" matSort>
|
||||
|
||||
<ng-container matColumnDef="fromDate">
|
||||
<th mat-header-cell *matHeaderCellDef matTooltip="Interest effective from date" mat-sort-header> From Date </th>
|
||||
<th mat-header-cell *matHeaderCellDef matTooltip="Interest effective from date" mat-sort-header> {{'labels.inputs.From Date' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let floatingRatePeriod"> {{ floatingRatePeriod.fromDate | dateFormat }} </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="interestRate">
|
||||
<th mat-header-cell *matHeaderCellDef matTooltip="Annualised Interest rate" mat-sort-header> Interest Rate </th>
|
||||
<th mat-header-cell *matHeaderCellDef matTooltip="Annualised Interest rate" mat-sort-header> {{'labels.inputs.Interest Rate' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let floatingRatePeriod"> {{ floatingRatePeriod.interestRate | formatNumber }} </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="isDifferential">
|
||||
<th mat-header-cell *matHeaderCellDef matTooltip="If checked, Interest rate mentioned is added to base lending rate as of the from date of this period, absolute otherwise" mat-sort-header> Is Differential? </th>
|
||||
<th mat-header-cell *matHeaderCellDef matTooltip="If checked, Interest rate mentioned is added to base lending rate as of the from date of this period, absolute otherwise" mat-sort-header> {{'labels.inputs.Is Differential' | translate}}? </th>
|
||||
<td mat-cell *matCellDef="let floatingRate">
|
||||
<fa-icon *ngIf="floatingRate.isDifferentialToBaseLendingRate" icon="check-circle" size="lg"
|
||||
class="is-differential" matTooltip="Yes" matTooltipPosition="right"></fa-icon>
|
||||
@@ -66,7 +65,7 @@
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="actions">
|
||||
<th mat-header-cell *matHeaderCellDef> Actions </th>
|
||||
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Actions' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let floatingRatePeriod" fxLayoutGap="15%">
|
||||
<button type="button" fxFlex="8%" color="primary" mat-icon-button matTooltip="Edit Period" matTooltipPosition="left"
|
||||
(click)="editFloatingRatePeriod(floatingRatePeriod)">
|
||||
@@ -89,8 +88,8 @@
|
||||
</mat-card-content>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../']">Cancel</button>
|
||||
<button mat-raised-button type="submit" color="primary" [disabled]="!floatingRateForm.valid" *mifosxHasPermission="'CREATE_FLOATINGRATE'">Submit</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../']">{{'labels.buttons.Cancel' | translate}}</button>
|
||||
<button mat-raised-button type="submit" color="primary" [disabled]="!floatingRateForm.valid" *mifosxHasPermission="'CREATE_FLOATINGRATE'">{{'labels.buttons.Submit' | translate}}</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</form>
|
||||
|
||||
+10
-8
@@ -1,21 +1,21 @@
|
||||
/** Angular Imports */
|
||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { Router, ActivatedRoute } from '@angular/router';
|
||||
import { UntypedFormBuilder, UntypedFormGroup, Validators, FormArray } from '@angular/forms';
|
||||
import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { MatPaginator } from '@angular/material/paginator';
|
||||
import { MatSort } from '@angular/material/sort';
|
||||
import { MatTableDataSource } from '@angular/material/table';
|
||||
import { TooltipPosition } from '@angular/material/tooltip';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
|
||||
/** Custom Services */
|
||||
import { ProductsService } from '../../products.service';
|
||||
import { SettingsService } from 'app/settings/settings.service';
|
||||
import { ProductsService } from '../../products.service';
|
||||
|
||||
/** Custom Components */
|
||||
import { FloatingRatePeriodDialogComponent } from '../floating-rate-period-dialog/floating-rate-period-dialog.component';
|
||||
import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { Dates } from 'app/core/utils/dates';
|
||||
import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component';
|
||||
import { FloatingRatePeriodDialogComponent } from '../floating-rate-period-dialog/floating-rate-period-dialog.component';
|
||||
|
||||
/**
|
||||
* Create Floating Rate Component.
|
||||
@@ -53,6 +53,7 @@ export class CreateFloatingRateComponent implements OnInit {
|
||||
* @param {Dates} dateUtils Date Utils.
|
||||
* @param {MatDialog} dialog Dialog reference.
|
||||
* @param {SettingsService} settingsService Settings Service.
|
||||
* @param {TranslateService} translateService Translate Service.
|
||||
*/
|
||||
constructor(private router: Router,
|
||||
private formBuilder: UntypedFormBuilder,
|
||||
@@ -60,7 +61,8 @@ export class CreateFloatingRateComponent implements OnInit {
|
||||
private route: ActivatedRoute,
|
||||
private dateUtils: Dates,
|
||||
private dialog: MatDialog,
|
||||
private settingsService: SettingsService) { }
|
||||
private settingsService: SettingsService,
|
||||
private translateService:TranslateService) { }
|
||||
|
||||
/**
|
||||
* Sets the floating rate periods table.
|
||||
@@ -158,7 +160,7 @@ export class CreateFloatingRateComponent implements OnInit {
|
||||
*/
|
||||
deleteFloatingRatePeriod(ratePeriod: any) {
|
||||
const deleteFloatingRatePeriodRef = this.dialog.open(DeleteDialogComponent, {
|
||||
data: { deleteContext: `floating rate period with from date as ${ratePeriod.fromDate}` }
|
||||
data: { deleteContext: this.translateService.instant('labels.inputs.floating rate period with from date as') + ' ' + ratePeriod.fromDate }
|
||||
});
|
||||
deleteFloatingRatePeriodRef.afterClosed().subscribe((response: any) => {
|
||||
if (response.delete) {
|
||||
|
||||
+11
-11
@@ -9,22 +9,22 @@
|
||||
<div fxLayout="row wrap" fxLayout.lt-md="column" fxLayoutGap="15%">
|
||||
|
||||
<mat-form-field fxFlex="25%">
|
||||
<mat-label>Floating Rate Name</mat-label>
|
||||
<mat-label>{{'labels.inputs.Floating Rate Name' | translate}}</mat-label>
|
||||
<input matInput required matTooltip="Unique name for the floating rate scheme." formControlName="name">
|
||||
<mat-error *ngIf="floatingRateForm.controls.name.hasError('required')">
|
||||
Floating Rate Name is <strong>required</strong>
|
||||
{{'labels.inputs.Floating Rate Name' | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<div class="checkbox-wrapper" fxFlex="25%">
|
||||
<mat-checkbox formControlName="isBaseLendingRate" matTooltip="Check if this floating rate scheme is to be considered base lending rate for the organisation" class="checkbox" labelPosition="before">
|
||||
Is Base Lending Rate?
|
||||
{{'labels.inputs.Is Base Lending Rate' | translate}}?
|
||||
</mat-checkbox>
|
||||
</div>
|
||||
|
||||
<div class="checkbox-wrapper" fxFlex="15%">
|
||||
<mat-checkbox formControlName="isActive" matTooltip="Check if this floating rate scheme to be activated" class="checkbox" labelPosition="before">
|
||||
Active
|
||||
{{'labels.inputs.Active' | translate}}
|
||||
</mat-checkbox>
|
||||
</div>
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
<div fxLayout="row wrap" fxLayoutGap="70%" fxLayoutGap.lt-md="0px" class="m-b-10" fxLayout.lt-md="column">
|
||||
|
||||
<p fxFlex="25%" class="mat-title">Floating Rate Periods <i class="fas fa-question" matTooltip="Floating interest rate and start date for this floating rate scheme"></i></p>
|
||||
<p fxFlex="25%" class="mat-title">{{'labels.inputs.Floating Rate Periods' | translate}} <i class="fas fa-question" matTooltip="Floating interest rate and start date for this floating rate scheme"></i></p>
|
||||
|
||||
<button mat-mini-fab type="button" color="primary" (click)="addFloatingRatePeriod()">
|
||||
<fa-icon icon="plus"></fa-icon>
|
||||
@@ -49,17 +49,17 @@
|
||||
<table mat-table [dataSource]="dataSource" matSort>
|
||||
|
||||
<ng-container matColumnDef="fromDate">
|
||||
<th mat-header-cell *matHeaderCellDef matTooltip="Interest effective from date" mat-sort-header> From Date </th>
|
||||
<th mat-header-cell *matHeaderCellDef matTooltip="Interest effective from date" mat-sort-header> {{'labels.inputs.From Date' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let floatingRatePeriod"> {{ floatingRatePeriod.fromDate | dateFormat }} </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="interestRate">
|
||||
<th mat-header-cell *matHeaderCellDef matTooltip="Annualised Interest rate" mat-sort-header> Interest Rate </th>
|
||||
<th mat-header-cell *matHeaderCellDef matTooltip="Annualised Interest rate" mat-sort-header> {{'labels.inputs.Interest Rate' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let floatingRatePeriod"> {{ floatingRatePeriod.interestRate }} </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="isDifferential">
|
||||
<th mat-header-cell *matHeaderCellDef matTooltip="If checked, Interest rate mentioned is added to base lending rate as of the from date of this period, absolute otherwise" mat-sort-header> Is Differential? </th>
|
||||
<th mat-header-cell *matHeaderCellDef matTooltip="If checked, Interest rate mentioned is added to base lending rate as of the from date of this period, absolute otherwise" mat-sort-header> {{'labels.inputs.Is Differential' | translate}}? </th>
|
||||
<td mat-cell *matCellDef="let floatingRate">
|
||||
<fa-icon *ngIf="floatingRate.isDifferentialToBaseLendingRate" icon="check-circle" size="lg"
|
||||
class="is-differential" matTooltip="Yes" matTooltipPosition="right"></fa-icon>
|
||||
@@ -69,7 +69,7 @@
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="actions">
|
||||
<th mat-header-cell *matHeaderCellDef> Actions </th>
|
||||
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Actions' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let floatingRatePeriod">
|
||||
<button type="button" color="primary" mat-icon-button
|
||||
(click)="editFloatingRatePeriod(floatingRatePeriod)">
|
||||
@@ -92,9 +92,9 @@
|
||||
</mat-card-content>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../']">Cancel</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../']">{{'labels.buttons.Cancel' | translate}}</button>
|
||||
<button mat-raised-button type="submit" color="primary" [disabled]="!floatingRateForm.valid || floatingRateForm.pristine && isFloatingRateFormPristine">
|
||||
Submit
|
||||
{{'labels.buttons.Submit' | translate}}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
/** Angular Imports */
|
||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { Router, ActivatedRoute } from '@angular/router';
|
||||
import { UntypedFormBuilder, UntypedFormGroup, Validators, FormArray } from '@angular/forms';
|
||||
import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { MatPaginator } from '@angular/material/paginator';
|
||||
import { MatSort } from '@angular/material/sort';
|
||||
import { MatTableDataSource } from '@angular/material/table';
|
||||
import { TooltipPosition } from '@angular/material/tooltip';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
|
||||
/** Custom Services */
|
||||
import { ProductsService } from '../../products.service';
|
||||
import { SettingsService } from 'app/settings/settings.service';
|
||||
import { ProductsService } from '../../products.service';
|
||||
|
||||
/** Custom Components */
|
||||
import { FloatingRatePeriodDialogComponent } from '../floating-rate-period-dialog/floating-rate-period-dialog.component';
|
||||
import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { Dates } from 'app/core/utils/dates';
|
||||
import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component';
|
||||
import { FloatingRatePeriodDialogComponent } from '../floating-rate-period-dialog/floating-rate-period-dialog.component';
|
||||
|
||||
/**
|
||||
* Edit Floating Rate Component.
|
||||
@@ -58,6 +58,7 @@ export class EditFloatingRateComponent implements OnInit {
|
||||
* @param {Dates} dateUtils Date Utils.
|
||||
* @param {MatDialog} dialog Dialog reference.
|
||||
* @param {SettingsService} settingsService Settings Service.
|
||||
* @param {TranslateService} translateService Translate Service.
|
||||
*/
|
||||
constructor(private router: Router,
|
||||
private formBuilder: UntypedFormBuilder,
|
||||
@@ -65,7 +66,8 @@ export class EditFloatingRateComponent implements OnInit {
|
||||
private route: ActivatedRoute,
|
||||
private dateUtils: Dates,
|
||||
private dialog: MatDialog,
|
||||
private settingsService: SettingsService) {
|
||||
private settingsService: SettingsService,
|
||||
private translateService:TranslateService) {
|
||||
this.route.data.subscribe((data: { floatingRate: any }) => {
|
||||
this.floatingRateData = data.floatingRate;
|
||||
this.floatingRatePeriodsData = data.floatingRate.ratePeriods ? data.floatingRate.ratePeriods : [];
|
||||
@@ -155,7 +157,7 @@ export class EditFloatingRateComponent implements OnInit {
|
||||
*/
|
||||
deleteFloatingRatePeriod(ratePeriod: any) {
|
||||
const deleteFloatingRatePeriodRef = this.dialog.open(DeleteDialogComponent, {
|
||||
data: { deleteContext: `floating rate period with from date as ${ratePeriod.fromDate}` }
|
||||
data: { deleteContext: this.translateService.instant('labels.inputs.floating rate period with from date as') + ' ' + ratePeriod.fromDate }
|
||||
});
|
||||
deleteFloatingRatePeriodRef.afterClosed().subscribe((response: any) => {
|
||||
if (response.delete) {
|
||||
|
||||
+8
-8
@@ -1,4 +1,4 @@
|
||||
<h1 mat-dialog-title>Floating Rate Period</h1>
|
||||
<h1 mat-dialog-title>{{'labels.inputs.Floating Rate Periods' | translate}}</h1>
|
||||
|
||||
<mat-dialog-content>
|
||||
|
||||
@@ -7,25 +7,25 @@
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field (click)="fromDatePicker.open()">
|
||||
<mat-label>From Date</mat-label>
|
||||
<mat-label>{{'labels.inputs.From Date' | translate}}</mat-label>
|
||||
<input required matInput formControlName="fromDate" [min]="minDate" [matDatepicker]="fromDatePicker">
|
||||
<mat-datepicker-toggle matSuffix [for]="fromDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #fromDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="floatingRatePeriodForm.controls.fromDate.hasError('required')">
|
||||
From Date is <strong>required</strong>
|
||||
{{'labels.inputs.From Date' | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>Interest Rate</mat-label>
|
||||
<mat-label>{{'labels.inputs.Interest Rate' | translate}}</mat-label>
|
||||
<input matInput type="number" required formControlName="interestRate">
|
||||
<mat-error *ngIf="floatingRatePeriodForm.controls.interestRate.hasError('required')">
|
||||
Interest Rate is <strong>required</strong>
|
||||
{{'labels.inputs.Interest Rate' | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-checkbox class="is-differential" formControlName="isDifferentialToBaseLendingRate" labelPosition="after">
|
||||
Is Differential?
|
||||
{{'labels.inputs.Is Differential' | translate}}?
|
||||
</mat-checkbox>
|
||||
|
||||
</div>
|
||||
@@ -35,7 +35,7 @@
|
||||
</mat-dialog-content>
|
||||
|
||||
<mat-dialog-actions align="end">
|
||||
<button mat-button mat-dialog-close>Cancel</button>
|
||||
<button mat-button mat-dialog-close>{{'labels.buttons.Cancel' | translate}}</button>
|
||||
<button mat-raised-button color="primary"
|
||||
[disabled]="!floatingRatePeriodForm.valid || floatingRatePeriodForm.pristine" (click)="submit()">Submit</button>
|
||||
[disabled]="!floatingRatePeriodForm.valid || floatingRatePeriodForm.pristine" (click)="submit()">{{'labels.buttons.Submit' | translate}}</button>
|
||||
</mat-dialog-actions>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<div class="container m-b-20" fxLayout="row" fxLayoutAlign="end" fxLayoutGap="20px">
|
||||
<button mat-raised-button color="primary" [routerLink]="['create']" *mifosxHasPermission="'CREATE_FLOATINGRATE'">
|
||||
<fa-icon icon="plus" class="m-r-10"></fa-icon>
|
||||
Create Floating Rate
|
||||
{{'labels.buttons.Create Floating Rate' | translate}}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -19,17 +19,17 @@
|
||||
<table mat-table [dataSource]="dataSource" matSort>
|
||||
|
||||
<ng-container matColumnDef="name">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Name </th>
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{'labels.inputs.Name' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let floatingRate"> {{ floatingRate.name }} </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="createdBy">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Created By </th>
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{'labels.inputs.Created By' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let floatingRate"> {{ floatingRate.createdBy }} </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="isBaseLendingRate">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Is base lending rate? </th>
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{'labels.inputs.Is Base Lending Rate' | translate}}? </th>
|
||||
<td mat-cell *matCellDef="let floatingRate">
|
||||
<fa-icon *ngIf="floatingRate.isBaseLendingRate" icon="check-circle" size="lg" class="is-base-lending-rate-or-active" matTooltip="Yes" matTooltipPosition="right"></fa-icon>
|
||||
<fa-icon *ngIf="!floatingRate.isBaseLendingRate" icon="times-circle" size="lg" class="not-is-base-lending-rate-or-active" matTooltip="No" matTooltipPosition="right"></fa-icon>
|
||||
@@ -37,7 +37,7 @@
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="isActive">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Active </th>
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{'labels.catalogs.Active' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let floatingRate">
|
||||
<fa-icon *ngIf="floatingRate.isActive" icon="check-circle" size="lg" class="is-base-lending-rate-or-active" matTooltip="Yes" matTooltipPosition="right"></fa-icon>
|
||||
<fa-icon *ngIf="!floatingRate.isActive" icon="times-circle" size="lg" class="not-is-base-lending-rate-or-active" matTooltip="No" matTooltipPosition="right"></fa-icon>
|
||||
|
||||
+8
-8
@@ -2,7 +2,7 @@
|
||||
|
||||
<button mat-raised-button color="primary" [routerLink]="['edit']" *mifosxHasPermission="'UPDATE_FLOATINGRATE'">
|
||||
<fa-icon icon="edit" class="m-r-10"></fa-icon>
|
||||
Edit
|
||||
{{'labels.buttons.Edit' | translate}}
|
||||
</button>
|
||||
|
||||
</div>
|
||||
@@ -16,7 +16,7 @@
|
||||
<div fxLayout="row wrap" class="content" fxLayout.lt-md="column">
|
||||
|
||||
<div fxFlex="18%" class="mat-body-strong">
|
||||
Floating Rate Name:
|
||||
{{'labels.inputs.Floating Rate Name' | translate}}:
|
||||
</div>
|
||||
|
||||
<div fxFlex="18%">
|
||||
@@ -24,7 +24,7 @@
|
||||
</div>
|
||||
|
||||
<div fxFlex="20%" class="mat-body-strong">
|
||||
Is Base Lending Rate:
|
||||
{{'labels.inputs.Is Base Lending Rate' | translate}}:
|
||||
</div>
|
||||
|
||||
<div fxFlex="10%">
|
||||
@@ -32,7 +32,7 @@
|
||||
</div>
|
||||
|
||||
<div fxFlex="14%" class="mat-body-strong">
|
||||
Is Active:
|
||||
{{'labels.inputs.Is Active' | translate}}:
|
||||
</div>
|
||||
|
||||
<div fxFlex="10%">
|
||||
@@ -47,24 +47,24 @@
|
||||
|
||||
<br>
|
||||
|
||||
<p class="mat-title">Floating Rate Periods</p>
|
||||
<p class="mat-title">{{'labels.inputs.Floating Rate Periods' | translate}}</p>
|
||||
|
||||
<div class="mat-elevation-z8">
|
||||
|
||||
<table mat-table [dataSource]="dataSource" matSort>
|
||||
|
||||
<ng-container matColumnDef="fromDate">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> From Date </th>
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{'labels.inputs.From Date' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let floatingRate"> {{ floatingRate.fromDate | dateFormat }} </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="interestRate">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Interest Rate </th>
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{'labels.inputs.Interest Rate' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let floatingRate"> {{ floatingRate.interestRate | number }} </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="isDifferential">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Is Differential? </th>
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{'labels.inputs.Is Differential' | translate}}? </th>
|
||||
<td mat-cell *matCellDef="let floatingRate">
|
||||
<fa-icon *ngIf="floatingRate.isDifferentialToBaseLendingRate" icon="check-circle" size="lg"
|
||||
class="is-differential" matTooltip="Yes" matTooltipPosition="right"></fa-icon>
|
||||
|
||||
+12
-12
@@ -289,7 +289,7 @@
|
||||
<span fxFlex="47%">{{ 'labels.inputs.Repay Every' | translate}}:</span>
|
||||
<span fxFlex="53%">{{ loanProduct.repaymentEvery }} {{ loanProduct.repaymentFrequencyType.value | translateCatalog }}</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div fxFlexFill *ngIf="loanProduct.fixedLength">
|
||||
<span fxFlex="47%">{{ 'labels.inputs.Fixed Length' | translate}}:</span>
|
||||
<span fxFlex="53%">{{ loanProduct.fixedLength }} {{ loanProduct.repaymentFrequencyType.value | translateCatalog }}</span>
|
||||
@@ -537,7 +537,7 @@
|
||||
<span fxFlex="47%">{{ 'labels.inputs.Frequency Interval for recalculation' | translate}}:</span>
|
||||
<span fxFlex="53%">{{ loanProduct.interestRecalculationData.recalculationRestFrequencyInterval }}</span>
|
||||
<div fxFlexFill *ngIf="loanProduct.recalculationRestFrequencyDate">
|
||||
<span fxFlex="47%">Rest Frequency Date:</span>
|
||||
<span fxFlex="47%">{{ 'labels.inputs.Rest Frequency Date' | translate}}:</span>
|
||||
<span fxFlex="53%">{{ loanProduct.interestRecalculationData.recalculationRestFrequencyDate }}</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -811,27 +811,27 @@
|
||||
*ngIf="isAdvancedAccountingEnabled()"
|
||||
fxFlexFill fxLayout="row wrap" fxLayout.lt-md="column">
|
||||
|
||||
<h3 class="mat-h3" fxFlexFill>Advanced Accounting Rules</h3>
|
||||
<h3 class="mat-h3" fxFlexFill>{{'labels.heading.Advanced Accounting Rules' | translate}}</h3>
|
||||
|
||||
<mat-divider [inset]="true"></mat-divider>
|
||||
|
||||
<div *ngIf="paymentChannelToFundSourceMappings.length" fxFlexFill fxLayout="row wrap"
|
||||
fxLayout.lt-md="column">
|
||||
|
||||
<h4 class="mat-h4" fxFlexFill>Fund Sources for Payment Channels</h4>
|
||||
<h4 class="mat-h4" fxFlexFill>{{'labels.heading.Configure Fund Sources for Payment Channels' | translate}}</h4>
|
||||
|
||||
<table fxFlexFill class="mat-elevation-z1" mat-table
|
||||
[dataSource]="paymentChannelToFundSourceMappings">
|
||||
|
||||
<ng-container matColumnDef="paymentTypeId">
|
||||
<th mat-header-cell *matHeaderCellDef> Payment Type </th>
|
||||
<th mat-header-cell *matHeaderCellDef> {{'labels.heading.Payment Type' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let paymentFundSource">
|
||||
{{ paymentFundSource.paymentType.name }}
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="fundSourceAccountId">
|
||||
<th mat-header-cell *matHeaderCellDef> Fund Source </th>
|
||||
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Fund Source' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let paymentFundSource">
|
||||
{{ paymentFundSource.fundSourceAccount.name }}
|
||||
</td>
|
||||
@@ -847,19 +847,19 @@
|
||||
<div *ngIf="feeToIncomeAccountMappings.length" fxFlexFill fxLayout="row wrap"
|
||||
fxLayout.lt-md="column">
|
||||
|
||||
<h4 class="mat-h4" fxFlexFill>Fees to Specific Income Accounts</h4>
|
||||
<h4 class="mat-h4" fxFlexFill>{{'labels.heading.Map Fees to Specific Income Accounts' | translate}}</h4>
|
||||
|
||||
<table fxFlexFill class="mat-elevation-z1" mat-table [dataSource]="feeToIncomeAccountMappings">
|
||||
|
||||
<ng-container matColumnDef="chargeId">
|
||||
<th mat-header-cell *matHeaderCellDef> Fees </th>
|
||||
<th mat-header-cell *matHeaderCellDef> {{'labels.catalogs.Fees' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let feesIncome">
|
||||
{{ feesIncome.charge.name }}
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="incomeAccountId">
|
||||
<th mat-header-cell *matHeaderCellDef> Income Account </th>
|
||||
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Income Account' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let feesIncome">
|
||||
<span *ngIf="feesIncome.incomeAccount">
|
||||
{{ feesIncome.incomeAccount.name }}
|
||||
@@ -877,19 +877,19 @@
|
||||
<div *ngIf="penaltyToIncomeAccountMappings.length" fxFlexFill fxLayout="row wrap"
|
||||
fxLayout.lt-md="column">
|
||||
|
||||
<h4 class="mat-h4" fxFlexFill>Penalties to Specific Income Accounts</h4>
|
||||
<h4 class="mat-h4" fxFlexFill>{{'labels.heading.Map Penalties to Specific Income Accounts' | translate}}</h4>
|
||||
|
||||
<table fxFlexFill class="mat-elevation-z1" mat-table [dataSource]="penaltyToIncomeAccountMappings">
|
||||
|
||||
<ng-container matColumnDef="chargeId">
|
||||
<th mat-header-cell *matHeaderCellDef> Penalty </th>
|
||||
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Penalty' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let penaltyIncome">
|
||||
{{ penaltyIncome.charge.name }}
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="incomeAccountId">
|
||||
<th mat-header-cell *matHeaderCellDef> Income Account </th>
|
||||
<th mat-header-cell *matHeaderCellDef> {{'labels.inputs.Income Account' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let penaltyIncome">
|
||||
{{ penaltyIncome.incomeAccount.name }}
|
||||
</td>
|
||||
|
||||
+7
-5
@@ -1,10 +1,11 @@
|
||||
import { Component, OnInit, Input } from '@angular/core';
|
||||
import { UntypedFormGroup, UntypedFormBuilder, UntypedFormArray, Validators, UntypedFormControl } from '@angular/forms';
|
||||
import { Component, Input, OnInit } from '@angular/core';
|
||||
import { UntypedFormArray, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
|
||||
import { FormDialogComponent } from 'app/shared/form-dialog/form-dialog.component';
|
||||
import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component';
|
||||
import { FormDialogComponent } from 'app/shared/form-dialog/form-dialog.component';
|
||||
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { FormfieldBase } from 'app/shared/form-dialog/formfield/model/formfield-base';
|
||||
import { SelectBase } from 'app/shared/form-dialog/formfield/model/select-base';
|
||||
|
||||
@@ -35,7 +36,8 @@ export class LoanProductAccountingStepComponent implements OnInit {
|
||||
feesPenaltyIncomeDisplayedColumns: string[] = ['chargeId', 'incomeAccountId', 'actions'];
|
||||
|
||||
constructor(private formBuilder: UntypedFormBuilder,
|
||||
public dialog: MatDialog) {
|
||||
public dialog: MatDialog,
|
||||
private translateService: TranslateService) {
|
||||
this.createLoanProductAccountingForm();
|
||||
this.setConditionalControls();
|
||||
}
|
||||
@@ -218,7 +220,7 @@ export class LoanProductAccountingStepComponent implements OnInit {
|
||||
|
||||
delete(formArray: UntypedFormArray, index: number) {
|
||||
const dialogRef = this.dialog.open(DeleteDialogComponent, {
|
||||
data: { deleteContext: `this` }
|
||||
data: { deleteContext: this.translateService.instant('labels.text.this') }
|
||||
});
|
||||
dialogRef.afterClosed().subscribe((response: any) => {
|
||||
if (response.delete) {
|
||||
|
||||
+6
-5
@@ -1,8 +1,8 @@
|
||||
import { Component, OnInit, Input } from '@angular/core';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { Component, Input, OnInit } from '@angular/core';
|
||||
import { UntypedFormControl } from '@angular/forms';
|
||||
import { TooltipPosition } from '@angular/material/tooltip';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component';
|
||||
|
||||
@Component({
|
||||
@@ -24,7 +24,8 @@ export class LoanProductChargesStepComponent implements OnInit {
|
||||
|
||||
pristine = true;
|
||||
|
||||
constructor(public dialog: MatDialog) {
|
||||
constructor(public dialog: MatDialog,
|
||||
private translateService: TranslateService) {
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
@@ -48,7 +49,7 @@ export class LoanProductChargesStepComponent implements OnInit {
|
||||
|
||||
deleteCharge(charge: any) {
|
||||
const deleteChargeDialogRef = this.dialog.open(DeleteDialogComponent, {
|
||||
data: { deleteContext: `charge ${charge.name}` }
|
||||
data: { deleteContext: this.translateService.instant('labels.inputs.Charge') + ' ' + charge.name }
|
||||
});
|
||||
deleteChargeDialogRef.afterClosed().subscribe((response: any) => {
|
||||
if (response.delete) {
|
||||
|
||||
+8
-6
@@ -1,10 +1,11 @@
|
||||
import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';
|
||||
import { AdvancedCreditAllocation, AdvancedPaymentAllocation, AdvancedPaymentStrategy, CreditAllocationOrder, FutureInstallmentAllocationRule, PaymentAllocationOrder, PaymentAllocationTransactionType } from '../payment-allocation-model';
|
||||
import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';
|
||||
import { MatTable } from '@angular/material/table';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';
|
||||
import { UntypedFormControl, Validators } from '@angular/forms';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { MatTable } from '@angular/material/table';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component';
|
||||
import { AdvancedCreditAllocation, AdvancedPaymentAllocation, AdvancedPaymentStrategy, CreditAllocationOrder, FutureInstallmentAllocationRule, PaymentAllocationOrder, PaymentAllocationTransactionType } from '../payment-allocation-model';
|
||||
|
||||
@Component({
|
||||
selector: 'mifosx-advance-payment-allocation-tab',
|
||||
@@ -30,7 +31,8 @@ export class AdvancePaymentAllocationTabComponent implements OnInit {
|
||||
@ViewChild('table') table: MatTable<any>;
|
||||
|
||||
constructor(private dialog: MatDialog,
|
||||
private advancedPaymentStrategy: AdvancedPaymentStrategy) { }
|
||||
private advancedPaymentStrategy: AdvancedPaymentStrategy,
|
||||
private translateService:TranslateService) { }
|
||||
|
||||
ngOnInit(): void {
|
||||
if (this.advancedCreditAllocation) {
|
||||
@@ -88,7 +90,7 @@ export class AdvancePaymentAllocationTabComponent implements OnInit {
|
||||
transaction.credit = true;
|
||||
}
|
||||
const dialogRef = this.dialog.open(DeleteDialogComponent, {
|
||||
data: { deleteContext: ` the Transaction Type ${transaction.value}` }
|
||||
data: { deleteContext: this.translateService.instant('labels.dialogContext.the Transaction Type') + ' ' + transaction.value }
|
||||
});
|
||||
dialogRef.afterClosed().subscribe((response: any) => {
|
||||
if (response.delete) {
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@
|
||||
<mat-tab disabled>
|
||||
<ng-template mat-tab-label>
|
||||
<button mat-icon-button (click)="addTransaction()">
|
||||
<mat-icon>add</mat-icon>
|
||||
<mat-icon>{{ 'labels.buttons.Add' | translate}}</mat-icon>
|
||||
</button>
|
||||
</ng-template>
|
||||
</mat-tab>
|
||||
|
||||
+8
-8
@@ -8,7 +8,7 @@
|
||||
<mat-label>{{'labels.inputs.Minimum' | translate}}</mat-label>
|
||||
<input type="number" matInput formControlName="minPrincipal" [min]="0">
|
||||
<mat-error>
|
||||
Minimum Value must be <strong>greater equal to than 0</strong>
|
||||
{{'labels.commons.Minimum Value must be' | translate}} <strong>{{'labels.commons.greater equal to than 0' | translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<mat-label>{{'labels.inputs.Maximum' | translate}}</mat-label>
|
||||
<input type="number" matInput formControlName="maxPrincipal" [min]="0">
|
||||
<mat-error>
|
||||
Maximum Value must be <strong>greater equal to than 0</strong> and must be greater than <strong>Minimum Principal</strong>
|
||||
{{'labels.commons.Minimum Value must be' | translate}} <strong>{{'labels.commons.greater equal to than 0' | translate}}</strong> {{'labels.commons.and must be greater than' | translate}} <strong>{{'labels.commons.Minimum Principal' | translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
<mat-label>{{'labels.inputs.Minimum' | translate}}</mat-label>
|
||||
<input type="number" matInput formControlName="minNumberOfRepayments" [min]="1">
|
||||
<mat-error>
|
||||
Minimum Value must be <strong>greater equal to than 0</strong>
|
||||
{{'labels.commons.Minimum Value must be' | translate}} <strong>{{'labels.commons.greater equal to than 0' | translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
<mat-label>{{'labels.inputs.Maximum' | translate}}</mat-label>
|
||||
<input type="number" matInput formControlName="maxNumberOfRepayments" [min]="0">
|
||||
<mat-error>
|
||||
{{'labels.inputs.Maximum' | translate}} Value must be <strong>greater equal to than 0</strong> and must be greater than <strong>Minimum Principal</strong>
|
||||
{{'labels.commons.Maximum Value must be' | translate}} <strong>{{'labels.commons.greater equal to than 0' | translate}}</strong> {{'labels.commons.and must be greater than' | translate}} <strong>{{'labels.commons.Minimum Principal' | translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
<mat-label>{{'labels.inputs.Minimum' | translate}}</mat-label>
|
||||
<input type="number" matInput formControlName="minInterestRatePerPeriod" [min]="0" [attr.disabled]="isZeroInterest()">
|
||||
<mat-error>
|
||||
Minimum Value must be <strong>greater than 0</strong>
|
||||
{{'labels.commons.Minimum Value must be' | translate}} <strong>{{'labels.commons.greater equal to than 0' | translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
<mat-label>{{'labels.inputs.Maximum' | translate}}</mat-label>
|
||||
<input type="number" matInput formControlName="maxInterestRatePerPeriod" [min]="0" [attr.disabled]="isZeroInterest()">
|
||||
<mat-error>
|
||||
{{'labels.inputs.Maximum' | translate}} Value must be <strong>greater equal to than 0</strong> and must be greater than <strong>Minimum Principal</strong>
|
||||
{{'labels.commons.Maximum Value must be' | translate}} <strong>{{'labels.commons.greater equal to than 0' | translate}}</strong> {{'labels.commons.and must be greater than' | translate}} <strong>{{'labels.commons.Minimum Principal' | translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
@@ -416,7 +416,7 @@
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<h4 fxFlex="33%" class="mat-h4" *ngIf="allowFixedLength()">{{'labels.inputs.Fixed Length' | translate}} <i class="fas fa-question"
|
||||
<h4 fxFlex="33%" class="mat-h4" *ngIf="allowFixedLength()">{{'labels.inputs.Fixed Length' | translate}} <i class="fas fa-question"
|
||||
matTooltip="Due to regulatory requirements in some countries, the loans cannot exceed X days, the Fineract SOR needs to be extended to support defining that a loan has a maximum length and the maximum length of that loan defines the length of the last installment which will be a shorter period than the first installments."></i></h4>
|
||||
|
||||
<mat-form-field fxFlex="30%" *ngIf="allowFixedLength()">
|
||||
@@ -424,7 +424,7 @@
|
||||
<input type="number" matInput formControlName="fixedLength">
|
||||
</mat-form-field>
|
||||
<span fxFlex="30%" *ngIf="allowFixedLength()" class="label-field">{{ loanProductTermsForm.value.repaymentFrequencyType | find:repaymentFrequencyTypeData:'id':'value' | translateCatalog }}</span>
|
||||
|
||||
|
||||
<mat-form-field fxFlex="48%">
|
||||
<mat-label>{{'labels.inputs.Minimum days between disbursal and first repayment date' | translate}}</mat-label>
|
||||
<input type="number" matInput formControlName="minimumDaysBetweenDisbursalAndFirstRepayment">
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
<ng-template #templateButtonCreateLoanProduct let-popover="popover">
|
||||
<h2>{{'labels.heading.Create Loan Product' | translate}}t</h2>
|
||||
<p class="mw300">This option allows you to create new loan product.</p>
|
||||
<p class="mw300">{{'labels.text.This option allows you to create new loan product.' | translate}}</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{'labels.buttons.Close' | translate}}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();previousStep()">{{'labels.buttons.Back' | translate}}</button>
|
||||
@@ -75,7 +75,7 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateLoanProductsTable let-popover="popover">
|
||||
<h4 class="mw300">List of loan products in the organization. For more details click: <a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/102039585/Loan+Products" target="_blank">Loan Products</a></h4>
|
||||
<h4 class="mw300">{{'labels.heading.List of loan products in the organization' | translate}}: <a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/102039585/Loan+Products" target="_blank">Loan Products</a></h4>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{'labels.buttons.Close' | translate}}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateFilter,filter, 'bottom', true)">{{'labels.buttons.Back' | translate}}</button>
|
||||
|
||||
+10
-10
@@ -9,44 +9,44 @@
|
||||
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
|
||||
<mat-form-field fxFlex="100%">
|
||||
<mat-label>Name</mat-label>
|
||||
<mat-label>{{"labels.inputs.Name" | translate}}</mat-label>
|
||||
<input matInput required formControlName="name">
|
||||
<mat-error *ngIf="bucketForm.controls.name.hasError('required')">
|
||||
Name is <strong>required</strong>
|
||||
{{"labels.inputs.Name" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<h3 fxFlex="40%" class="mat-h3">Delinquency Ranges</h3>
|
||||
<h3 fxFlex="40%" class="mat-h3">{{'labels.heading.Delinquency Ranges' | translate }}</h3>
|
||||
|
||||
<div fxFlex="40%" fxLayout="row" fxLayoutAlign="start center">
|
||||
<button type="button" mat-raised-button color="primary" (click)="addDelinquencyRange()">
|
||||
<fa-icon icon="plus" class="m-r-10"></fa-icon>
|
||||
Add
|
||||
{{"labels.buttons.Add" | translate}}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<table mat-table [dataSource]="rangesDataSource" [hidden]="rangesDataSource.length === 0">
|
||||
|
||||
<ng-container matColumnDef="classification">
|
||||
<th mat-header-cell *matHeaderCellDef> Classification </th>
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Classification" | translate}} </th>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
{{ row.rangeId | find: delinquencyRangesData:'id':'classification'}} </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="minimumAgeDays">
|
||||
<th mat-header-cell *matHeaderCellDef> Days From </th>
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Days From" | translate}} </th>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
{{ row.rangeId | find: delinquencyRangesData:'id':'minimumAgeDays'}} </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="maximumAgeDays">
|
||||
<th mat-header-cell *matHeaderCellDef> Days Till </th>
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Days Till" | translate}} </th>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
{{ row.rangeId | find: delinquencyRangesData:'id':'maximumAgeDays'}} </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="actions">
|
||||
<th mat-header-cell *matHeaderCellDef> Actions </th>
|
||||
<th mat-header-cell *matHeaderCellDef> {{ 'labels.inputs.Actions' | translate }} </th>
|
||||
<td mat-cell *matCellDef="let row; let rowIndex = index">
|
||||
<button type="button" mat-icon-button color="warn"
|
||||
(click)="deleteDelinquencyRange(rowIndex)" matTooltip="Delete"
|
||||
@@ -66,8 +66,8 @@
|
||||
</mat-card-content>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../']">Cancel</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!bucketForm.valid" *mifosxHasPermission="'CREATE_DELINQUENCY_BUCKET'">Submit</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../']">{{'labels.buttons.Cancel' | translate }}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!bucketForm.valid" *mifosxHasPermission="'CREATE_DELINQUENCY_BUCKET'">{{'labels.buttons.Submit' | translate }}</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</form>
|
||||
|
||||
+4
-2
@@ -2,6 +2,7 @@ import { Component, OnInit } from '@angular/core';
|
||||
import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { ProductsService } from 'app/products/products.service';
|
||||
import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component';
|
||||
import { FormDialogComponent } from 'app/shared/form-dialog/form-dialog.component';
|
||||
@@ -31,7 +32,8 @@ export class CreateBucketComponent implements OnInit {
|
||||
private productsService: ProductsService,
|
||||
private router: Router,
|
||||
private route: ActivatedRoute,
|
||||
public dialog: MatDialog) {
|
||||
public dialog: MatDialog,
|
||||
private translateService:TranslateService) {
|
||||
this.route.data.subscribe((data: { delinquencyRanges: any }) => {
|
||||
this.delinquencyRangesData = data.delinquencyRanges;
|
||||
this.delinquencyRangesData = this.delinquencyRangesData.sort(
|
||||
@@ -92,7 +94,7 @@ export class CreateBucketComponent implements OnInit {
|
||||
*/
|
||||
deleteDelinquencyRange(index: number) {
|
||||
const dialogRef = this.dialog.open(DeleteDialogComponent, {
|
||||
data: { deleteContext: `this` }
|
||||
data: { deleteContext: this.translateService.instant('labels.text.this')}
|
||||
});
|
||||
dialogRef.afterClosed().subscribe((response: any) => {
|
||||
if (response.delete) {
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
<div class="container m-b-20" fxLayout="row" fxLayoutAlign="end" fxLayoutGap="20px">
|
||||
<button mat-raised-button color="primary" [routerLink]="['create']" *mifosxHasPermission="'CREATE_DELINQUENCY_BUCKET'">
|
||||
<fa-icon icon="plus" class="m-r-10"></fa-icon>
|
||||
Create Delinquency Bucket
|
||||
{{'labels.buttons.Create Delinquency Bucket' | translate }}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<table mat-table [dataSource]="dataSource" matSort>
|
||||
|
||||
<ng-container matColumnDef="name">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Name </th>
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Name" | translate}} </th>
|
||||
<td mat-cell *matCellDef="let delinquencyBucket"> {{ delinquencyBucket.name }} </td>
|
||||
</ng-container>
|
||||
|
||||
|
||||
+10
-10
@@ -9,47 +9,47 @@
|
||||
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
|
||||
<mat-form-field fxFlex="100%">
|
||||
<mat-label>Name</mat-label>
|
||||
<mat-label>{{"labels.inputs.Name" | translate}}</mat-label>
|
||||
<input matInput required formControlName="name">
|
||||
<mat-error *ngIf="bucketForm.controls.name.hasError('required')">
|
||||
Name is <strong>required</strong>
|
||||
{{"labels.inputs.Name" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" |translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<h3 fxFlex="40%" class="mat-h3">Delinquency Ranges</h3>
|
||||
<h3 fxFlex="40%" class="mat-h3">{{'labels.heading.Delinquency Ranges' | translate }}</h3>
|
||||
|
||||
<div fxFlex="40%" fxLayout="row" fxLayoutAlign="start center">
|
||||
<button type="button" mat-raised-button color="primary" (click)="addDelinquencyRange()">
|
||||
<fa-icon icon="plus" class="m-r-10"></fa-icon>
|
||||
Add
|
||||
{{"labels.buttons.Add" | translate}}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<table mat-table [dataSource]="rangesDataSource" [hidden]="rangesDataSource.length === 0">
|
||||
|
||||
<ng-container matColumnDef="classification">
|
||||
<th mat-header-cell *matHeaderCellDef> Classification </th>
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Classification" | translate}} </th>
|
||||
<td mat-cell *matCellDef="let row"> {{ row.classification }}</td>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
{{ row.rangeId | find: delinquencyRangesData:'id':'classification'}} </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="minimumAgeDays">
|
||||
<th mat-header-cell *matHeaderCellDef> Days From </th>
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Days From" | translate}}</th>
|
||||
<td mat-cell *matCellDef="let row"> {{ row.minimumAgeDays }}</td>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
{{ row.rangeId | find: delinquencyRangesData:'id':'minimumAgeDays'}} </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="maximumAgeDays">
|
||||
<th mat-header-cell *matHeaderCellDef> Days Till </th>
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Days Till" | translate}} </th>
|
||||
<td mat-cell *matCellDef="let row"> {{ row.maximumAgeDays }}</td>
|
||||
<td mat-cell *matCellDef="let row">
|
||||
{{ row.rangeId | find: delinquencyRangesData:'id':'maximumAgeDays'}} </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="actions">
|
||||
<th mat-header-cell *matHeaderCellDef> Actions </th>
|
||||
<th mat-header-cell *matHeaderCellDef> {{ 'labels.inputs.Actions' | translate }} </th>
|
||||
<td mat-cell *matCellDef="let row; let rowIndex = index">
|
||||
<button type="button" mat-icon-button color="warn"
|
||||
(click)="deleteDelinquencyRange(rowIndex)" matTooltip="Delete"
|
||||
@@ -69,8 +69,8 @@
|
||||
</mat-card-content>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../']">Cancel</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!dataWasChanged" *mifosxHasPermission="'UPDATE_DELINQUENCY_BUCKET'">Submit</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../']">{{'labels.buttons.Cancel' | translate }}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!dataWasChanged" *mifosxHasPermission="'UPDATE_DELINQUENCY_BUCKET'">{{'labels.buttons.Submit' | translate }}</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</form>
|
||||
|
||||
+4
-2
@@ -2,6 +2,7 @@ import { Component, OnInit } from '@angular/core';
|
||||
import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { ProductsService } from 'app/products/products.service';
|
||||
import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component';
|
||||
import { FormDialogComponent } from 'app/shared/form-dialog/form-dialog.component';
|
||||
@@ -37,7 +38,8 @@ export class EditBucketComponent implements OnInit {
|
||||
private productsService: ProductsService,
|
||||
private router: Router,
|
||||
private route: ActivatedRoute,
|
||||
public dialog: MatDialog) {
|
||||
public dialog: MatDialog,
|
||||
private translateService:TranslateService) {
|
||||
this.route.data.subscribe((data: { delinquencyBucket: any, delinquencyRanges: any }) => {
|
||||
this.delinquencyRangesData = data.delinquencyRanges;
|
||||
this.rangesDataSource = [];
|
||||
@@ -109,7 +111,7 @@ export class EditBucketComponent implements OnInit {
|
||||
*/
|
||||
deleteDelinquencyRange(index: number) {
|
||||
const dialogRef = this.dialog.open(DeleteDialogComponent, {
|
||||
data: { deleteContext: `this` }
|
||||
data: { deleteContext: this.translateService.instant('labels.text.this') }
|
||||
});
|
||||
dialogRef.afterClosed().subscribe((response: any) => {
|
||||
if (response.delete) {
|
||||
|
||||
+6
-6
@@ -1,11 +1,11 @@
|
||||
<div class="container m-b-20" fxLayout="row" fxLayout.lt-md="column" fxLayoutAlign="end" fxLayoutGap="2%">
|
||||
<button mat-raised-button color="primary" [routerLink]="['edit']" *mifosxHasPermission="'UPDATE_DELINQUENCY_BUCKET'">
|
||||
<fa-icon icon="edit" class="m-r-10"></fa-icon>
|
||||
Edit
|
||||
{{'labels.buttons.Edit' | translate }}
|
||||
</button>
|
||||
<button mat-raised-button color="warn" (click)="deleteDelinquencyBucket()" *mifosxHasPermission="'DELETE_DELINQUENCY_BUCKET'">
|
||||
<fa-icon icon="trash" class="m-r-10"></fa-icon>
|
||||
Delete
|
||||
{{'labels.buttons.Delete' | translate }}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<div fxLayout="row wrap" class="content">
|
||||
|
||||
<div fxFlex="50%" class="mat-body-strong">
|
||||
Name
|
||||
{{"labels.inputs.Name" | translate}}
|
||||
</div>
|
||||
|
||||
<div fxFlex="50%">
|
||||
@@ -26,15 +26,15 @@
|
||||
</div>
|
||||
|
||||
<div fxFlex="50%" class="mat-body-strong">
|
||||
Classification Name
|
||||
{{"labels.inputs.Classification" | translate}} {{"labels.inputs.Name" | translate}}
|
||||
</div>
|
||||
|
||||
<div fxFlex="25%" class="mat-body-strong">
|
||||
Days From
|
||||
{{"labels.inputs.Days From" | translate}}
|
||||
</div>
|
||||
|
||||
<div fxFlex="25%" class="mat-body-strong">
|
||||
Days Till
|
||||
{{"labels.inputs.Days Till" | translate}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
+7
-7
@@ -9,23 +9,23 @@
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>Classification</mat-label>
|
||||
<mat-label>{{"labels.inputs.Classification" | translate}}</mat-label>
|
||||
<input matInput required formControlName="classification">
|
||||
<mat-error *ngIf="delinquencyRangeForm.controls.classification.hasError('required')">
|
||||
Classification is <strong>required</strong>
|
||||
{{"labels.inputs.Classification" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>Days From</mat-label>
|
||||
<mat-label>{{"labels.inputs.Days From" | translate}}</mat-label>
|
||||
<input matInput type="number" required formControlName="minimumAgeDays">
|
||||
<mat-error *ngIf="delinquencyRangeForm.controls.minimumAgeDays.hasError('required')">
|
||||
Days From is <strong>required</strong>
|
||||
{{"labels.inputs.Days From" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>Days Till</mat-label>
|
||||
<mat-label>{{"labels.inputs.Days Till" | translate}}</mat-label>
|
||||
<input matInput type="number" formControlName="maximumAgeDays">
|
||||
</mat-form-field>
|
||||
|
||||
@@ -34,8 +34,8 @@
|
||||
</mat-card-content>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../']">Cancel</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!delinquencyRangeForm.valid" *mifosxHasPermission="'CREATE_DELINQUENCY_RANGE'">Submit</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../']">{{'labels.buttons.Cancel' | translate }}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!delinquencyRangeForm.valid" *mifosxHasPermission="'CREATE_DELINQUENCY_RANGE'">{{'labels.buttons.Submit' | translate }}</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</form>
|
||||
|
||||
+4
-4
@@ -1,7 +1,7 @@
|
||||
<div class="container m-b-20" fxLayout="row" fxLayoutAlign="end" fxLayoutGap="20px">
|
||||
<button mat-raised-button color="primary" [routerLink]="['create']" *mifosxHasPermission="'CREATE_DELINQUENCY_RANGE'">
|
||||
<fa-icon icon="plus" class="m-r-10"></fa-icon>
|
||||
Create Delinquency Range
|
||||
{{'labels.text.Create Delinquency Range' | translate }}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -19,17 +19,17 @@
|
||||
<table mat-table [dataSource]="dataSource" matSort>
|
||||
|
||||
<ng-container matColumnDef="classification">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header="classification"> Classification </th>
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header="classification"> {{"labels.inputs.Classification" | translate}} </th>
|
||||
<td mat-cell *matCellDef="let delinquencyRange"> {{ delinquencyRange.classification }} </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="minimumAgeDays">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header="minimumAgeDays"> Days From </th>
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header="minimumAgeDays">{{"labels.inputs.Days From" | translate}} </th>
|
||||
<td mat-cell *matCellDef="let delinquencyRange"> {{ delinquencyRange.minimumAgeDays }} </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="maximumAgeDays">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header="maximumAgeDays"> Days Till </th>
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header="maximumAgeDays"> {{"labels.inputs.Days Till" | translate}} </th>
|
||||
<td mat-cell *matCellDef="let delinquencyRange"> {{ delinquencyRange.maximumAgeDays }} </td>
|
||||
</ng-container>
|
||||
|
||||
|
||||
+7
-7
@@ -9,23 +9,23 @@
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>Classification</mat-label>
|
||||
<mat-label>{{"labels.inputs.Classification" | translate}}</mat-label>
|
||||
<input matInput required formControlName="classification">
|
||||
<mat-error *ngIf="delinquencyRangeForm.controls.classification.hasError('required')">
|
||||
Classification is <strong>required</strong>
|
||||
{{"labels.inputs.Classification" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>Days From</mat-label>
|
||||
<mat-label>{{"labels.inputs.Days From" | translate}}</mat-label>
|
||||
<input matInput type="number" required formControlName="minimumAgeDays">
|
||||
<mat-error *ngIf="delinquencyRangeForm.controls.minimumAgeDays.hasError('required')">
|
||||
Days From is <strong>required</strong>
|
||||
{{"labels.inputs.Days From" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>Days Till</mat-label>
|
||||
<mat-label>{{"labels.inputs.Days Till" | translate}}</mat-label>
|
||||
<input matInput type="number" formControlName="maximumAgeDays">
|
||||
</mat-form-field>
|
||||
|
||||
@@ -34,8 +34,8 @@
|
||||
</mat-card-content>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../']">Cancel</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!delinquencyRangeForm.valid" *mifosxHasPermission="'UPDATE_DELINQUENCY_RANGE'">Submit</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../']">{{'labels.buttons.Cancel' | translate }}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!delinquencyRangeForm.valid" *mifosxHasPermission="'UPDATE_DELINQUENCY_RANGE'">{{'labels.buttons.Submit' | translate }}</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</form>
|
||||
|
||||
+5
-5
@@ -1,11 +1,11 @@
|
||||
<div class="container m-b-20" fxLayout="row" fxLayout.lt-md="column" fxLayoutAlign="end" fxLayoutGap="2%">
|
||||
<button mat-raised-button color="primary" [routerLink]="['edit']" *mifosxHasPermission="'UPDATE_DELINQUENCY_RANGE'">
|
||||
<fa-icon icon="edit" class="m-r-10"></fa-icon>
|
||||
Edit
|
||||
{{'labels.buttons.Edit' | translate }}
|
||||
</button>
|
||||
<button mat-raised-button color="warn" (click)="deleteDelinquencyRange()" *mifosxHasPermission="'DELETE_DELINQUENCY_RANGE'">
|
||||
<fa-icon icon="trash" class="m-r-10"></fa-icon>
|
||||
Delete
|
||||
{{'labels.buttons.Delete' | translate }}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<div fxLayout="row wrap" class="content">
|
||||
|
||||
<div fxFlex="50%" class="mat-body-strong">
|
||||
Classification
|
||||
{{"labels.inputs.Classification" | translate}}
|
||||
</div>
|
||||
|
||||
<div fxFlex="50%">
|
||||
@@ -26,7 +26,7 @@
|
||||
</div>
|
||||
|
||||
<div fxFlex="50%" class="mat-body-strong">
|
||||
Days From
|
||||
{{"labels.inputs.Days From" | translate}}
|
||||
</div>
|
||||
|
||||
<div fxFlex="50%">
|
||||
@@ -34,7 +34,7 @@
|
||||
</div>
|
||||
|
||||
<div fxFlex="50%" class="mat-body-strong">
|
||||
Days Till
|
||||
{{"labels.inputs.Days Till" | translate}}
|
||||
</div>
|
||||
|
||||
<div fxFlex="50%">
|
||||
|
||||
+4
-4
@@ -12,8 +12,8 @@
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="building" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<h4 matLine>Manage Delinquency Ranges</h4>
|
||||
<p matLine>Define delinquency day ranges</p>
|
||||
<h4 matLine>{{'labels.heading.Manage Delinquency Ranges' | translate}}</h4>
|
||||
<p matLine>{{'labels.text.Define delinquency day ranges' | translate}}</p>
|
||||
</mat-list-item>
|
||||
|
||||
</mat-nav-list>
|
||||
@@ -28,8 +28,8 @@
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="building" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<h4 matLine>Manage Delinquency Buckets</h4>
|
||||
<p matLine>Define delinquency bucket as set of ranges</p>
|
||||
<h4 matLine>{{'labels.heading.Manage Delinquency Buckets' | translate}}</h4>
|
||||
<p matLine>{{'labels.text.Define delinquency bucket as set of ranges' | translate}}</p>
|
||||
</mat-list-item>
|
||||
|
||||
</mat-nav-list>
|
||||
|
||||
+2
-2
@@ -26,7 +26,7 @@
|
||||
</mat-error>
|
||||
<mat-error *ngIf="taxComponentForm.controls.percentage.hasError('pattern') ||
|
||||
taxComponentForm.controls.percentage.hasError('max')">
|
||||
{{'labels.inputs.Percentage' | translate}} <strong>should</strong> be larger than 0 and at most 100
|
||||
{{'labels.inputs.Percentage' | translate}} <strong>{{'labels.commons.should' | translate}}</strong> {{'labels.commons.be larger than 0 and at most 100' | translate}}
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
@@ -84,4 +84,4 @@
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,20 +1,21 @@
|
||||
/** Angular Imports */
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { UntypedFormGroup, UntypedFormBuilder, Validators, FormControl, FormArray } from '@angular/forms';
|
||||
import { Router, ActivatedRoute } from '@angular/router';
|
||||
import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
|
||||
/** Custom Services */
|
||||
import { ProductsService } from '../../products.service';
|
||||
import { SettingsService } from 'app/settings/settings.service';
|
||||
import { ProductsService } from '../../products.service';
|
||||
|
||||
/** Dialog Components */
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { Dates } from 'app/core/utils/dates';
|
||||
import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component';
|
||||
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 { SelectBase } from 'app/shared/form-dialog/formfield/model/select-base';
|
||||
import { DatepickerBase } from 'app/shared/form-dialog/formfield/model/datepicker-base';
|
||||
import { FormDialogComponent } from 'app/shared/form-dialog/form-dialog.component';
|
||||
import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component';
|
||||
import { Dates } from 'app/core/utils/dates';
|
||||
|
||||
/**
|
||||
* Edit Tax Group component.
|
||||
@@ -51,6 +52,7 @@ export class EditTaxGroupComponent implements OnInit {
|
||||
* @param {Dates} dateUtils Date Utils to format date.
|
||||
* @param {MatDialog} dialog Dialog reference.
|
||||
* @param {SettingsService} settingsService Settings Service.
|
||||
* @param {TranslateService} translateService translate Service.
|
||||
*/
|
||||
constructor(private formBuilder: UntypedFormBuilder,
|
||||
private productsService: ProductsService,
|
||||
@@ -58,7 +60,8 @@ export class EditTaxGroupComponent implements OnInit {
|
||||
private router: Router,
|
||||
private dateUtils: Dates,
|
||||
public dialog: MatDialog,
|
||||
private settingsService: SettingsService) {
|
||||
private settingsService: SettingsService,
|
||||
private translateService:TranslateService) {
|
||||
this.route.data.subscribe((data: { taxGroup: any }) => {
|
||||
this.taxGroupData = data.taxGroup;
|
||||
this.taxComponentOptions = this.taxGroupData.taxComponents;
|
||||
@@ -182,7 +185,7 @@ export class EditTaxGroupComponent implements OnInit {
|
||||
*/
|
||||
delete(index: number) {
|
||||
const dialogRef = this.dialog.open(DeleteDialogComponent, {
|
||||
data: { deleteContext: `this` }
|
||||
data: { deleteContext: this.translateService.instant('labels.text.this') }
|
||||
});
|
||||
dialogRef.afterClosed().subscribe((response: any) => {
|
||||
if (response.delete) {
|
||||
|
||||
@@ -9,26 +9,26 @@
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>Product</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Product' | translate }}</mat-label>
|
||||
<mat-select required formControlName="productId">
|
||||
<mat-option *ngFor="let productOption of productOptionData" [value]="productOption.id">
|
||||
{{ productOption.name }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="productMixForm.controls.productId.hasError('required')">
|
||||
Product is <strong>required</strong>
|
||||
{{ 'labels.inputs.Product' | translate }} {{'labels.commons.is' | translate}} <strong>{{'labels.commons.required' | translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field *ngIf="productData">
|
||||
<mat-label>Restricted products</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Restricted products' | translate }}</mat-label>
|
||||
<mat-select required formControlName="restrictedProducts" multiple>
|
||||
<mat-option *ngFor="let product of productData" [value]="product.id">
|
||||
{{ product.name }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="productMixForm.controls.restrictedProducts.hasError('required')" >
|
||||
At least one restricted product <strong>must be selected</strong>
|
||||
{{'labels.commons.At least one restricted product' | translate }} <strong>{{'labels.commons.must be selected' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
@@ -36,8 +36,8 @@
|
||||
</mat-card-content>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../']">Cancel</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!productMixForm.valid" *mifosxHasPermission="'CREATE_PRODUCTMIX'">Submit</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../']">{{'labels.buttons.Cancel' | translate }}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!productMixForm.valid" *mifosxHasPermission="'CREATE_PRODUCTMIX'">{{'labels.buttons.Submit' | translate }}</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</form>
|
||||
|
||||
@@ -9,19 +9,19 @@
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>Product</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Product' | translate }}</mat-label>
|
||||
<input matInput formControlName="productId">
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field *ngIf="productData">
|
||||
<mat-label>Restricted products</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Restricted products' | translate }}</mat-label>
|
||||
<mat-select required formControlName="restrictedProducts" multiple>
|
||||
<mat-option *ngFor="let product of productData" [value]="product.id">
|
||||
{{ product.name }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="productMixForm.controls.restrictedProducts.hasError('required')">
|
||||
At least one restricted product <strong>must be selected</strong>
|
||||
{{'labels.commons.At least one restricted product' | translate }} <strong>{{'labels.commons.must be selected' |translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
@@ -29,8 +29,8 @@
|
||||
</mat-card-content>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../']">Cancel</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!productMixForm.valid" *mifosxHasPermission="'UPDATE_PRODUCTMIX'">Submit</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../']">{{'labels.buttons.Cancel' | translate }}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!productMixForm.valid" *mifosxHasPermission="'UPDATE_PRODUCTMIX'">{{'labels.buttons.Submit' | translate }}</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</form>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<div fxLayout="row" fxLayoutAlign="end" class="container m-b-20">
|
||||
<button mat-raised-button color="primary" [routerLink]="['create']" *mifosxHasPermission="'CREATE_PRODUCTMIX'">
|
||||
<fa-icon icon="plus" class="m-r-10"></fa-icon>Add
|
||||
<fa-icon icon="plus" class="m-r-10"></fa-icon>{{'labels.buttons.Add' | translate}}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<table mat-table [dataSource]="dataSource" matSort>
|
||||
|
||||
<ng-container matColumnDef="productName">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Product Name </th>
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{ 'labels.inputs.Product Name' | translate }} </th>
|
||||
<td mat-cell *matCellDef="let productMix"> {{ productMix.productName }} </td>
|
||||
</ng-container>
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<div class="container m-b-20" fxLayout="row" fxLayout.lt-md="column" fxLayoutAlign="end" fxLayoutGap="20px">
|
||||
<button mat-raised-button color="primary" [routerLink]="['edit']" *mifosxHasPermission="'UPDATE_PRODUCTMIX'">
|
||||
<fa-icon icon="edit" class="m-r-10"></fa-icon>
|
||||
Edit
|
||||
{{ 'labels.buttons.Edit' | translate}}
|
||||
</button>
|
||||
<button mat-raised-button color="warn" (click)="delete()" *mifosxHasPermission="'DELETE_PRODUCTMIX'">
|
||||
<fa-icon icon="trash" class="m-r-10"></fa-icon>
|
||||
Delete
|
||||
{{ 'labels.buttons.Delete' | translate}}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<table mat-table [dataSource]="allowedProductsDatasource" matSort>
|
||||
|
||||
<ng-container matColumnDef="name">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header [ngClass]="'customWidthClass'"> Allowed Products </th>
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header [ngClass]="'customWidthClass'">{{ 'labels.inputs.Allowed Products' | translate}}</th>
|
||||
<td mat-cell *matCellDef="let product" [ngClass]="'customWidthClass'"> {{ product.name }} </td>
|
||||
</ng-container>
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
<table mat-table [dataSource]="restrictedProductsDatasource" matSort>
|
||||
|
||||
<ng-container matColumnDef="name">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Restricted Products </th>
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{ 'labels.inputs.Restricted products' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let product"> {{ product.name }} </td>
|
||||
</ng-container>
|
||||
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
/** Angular Imports */
|
||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { MatPaginator } from '@angular/material/paginator';
|
||||
import { MatSort } from '@angular/material/sort';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { MatPaginator } from '@angular/material/paginator';
|
||||
import { MatSort } from '@angular/material/sort';
|
||||
import { MatTableDataSource } from '@angular/material/table';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component';
|
||||
|
||||
/** Custom Services */
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { ProductsService } from 'app/products/products.service';
|
||||
|
||||
/**
|
||||
@@ -43,11 +44,13 @@ export class ViewProductMixComponent implements OnInit {
|
||||
/**
|
||||
* Retrieves the product mix data from `resolve`.
|
||||
* @param {ActivatedRoute} route Activated Route.
|
||||
* @param {TranslateService} translateService Translate Service.
|
||||
*/
|
||||
constructor(private route: ActivatedRoute,
|
||||
private dialog: MatDialog,
|
||||
private productsService: ProductsService,
|
||||
private router: Router ) {
|
||||
private router: Router,
|
||||
private translateService:TranslateService ) {
|
||||
this.route.data.subscribe((data: { productMix: any }) => {
|
||||
this.productMixData = data.productMix;
|
||||
});
|
||||
@@ -84,7 +87,7 @@ export class ViewProductMixComponent implements OnInit {
|
||||
*/
|
||||
delete() {
|
||||
const deleteProductMixDialogRef = this.dialog.open(DeleteDialogComponent, {
|
||||
data: { deleteContext: `the productmix component with id ${this.productMixData.productId}` }
|
||||
data: { deleteContext: this.translateService.instant('labels.dialogContext.the productmix component with id') + ' ' + this.productMixData.productId}
|
||||
});
|
||||
deleteProductMixDialogRef.afterClosed().subscribe((response: any) => {
|
||||
if (response.delete) {
|
||||
|
||||
@@ -127,61 +127,61 @@
|
||||
</div>
|
||||
|
||||
<ng-template #templateCharges let-popover="popover">
|
||||
<h2>Charges</h2>
|
||||
<p class="mw400">Mifos supports two types of charges—fees and penalties.Fees are charged for services—for example, membership fees, loan disbursement fees, withdrawal fees. Penalties are charged to discourage clients from deviating from the terms of a product</p>
|
||||
<h2>{{'labels.heading.Charges' | translate}}</h2>
|
||||
<p class="mw400">{{'labels.text.Two types of charges—fees and penalties' | translate}}</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">Close</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();previousStepCharges()">Back</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();nextStepCharges()">Next</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();previousStepCharges()">{{'labels.buttons.Back' | translate}}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();nextStepCharges()">{{'labels.buttons.Next' | translate }}</button>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateLoanProducts let-popover="popover">
|
||||
<h2>Loan Products</h2>
|
||||
<p class="mw400">Loan products define the rules, default settings, and constraints for a financial institution's lending offerings. A loan product provides a template for multiple loan accounts for the financial institution's clients.</p>
|
||||
<h2>{{'labels.heading.Loan Products' | translate}}</h2>
|
||||
<p class="mw400">{{'labels.text.Loan products define the rules, default settings' | translate}}</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">Close</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();previousStepLoanProducts()">Back</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();nextStepLoanProducts()">Next</button>
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{'labels.buttons.Close' | translate }}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();previousStepLoanProducts()">{{'labels.buttons.Back' | translate}}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();nextStepLoanProducts()">{{'labels.buttons.Next' | translate }}</button>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateSavingsProducts let-popover="popover">
|
||||
<h2>Savings Products</h2>
|
||||
<p class="mw400">Savings products define the rules, default settings, and constraints for a financial institution's current/checking and passbook savings accounts. A saving product provides a template for multiple accounts that are or will be held by the financial institution's clients, groups and centers.</p>
|
||||
<h2>{{'labels.heading.Savings Products' | translate}}</h2>
|
||||
<p class="mw400">{{'labels.text.Savings products define the rules, default settings' | translate}}</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">Close</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();previousStepSavingsProducts()">Back</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();nextStepSavingsProducts()">Next</button>
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{'labels.buttons.Close' | translate }}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();previousStepSavingsProducts()">{{'labels.buttons.Back' | translate}}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();nextStepSavingsProducts()">{{'labels.buttons.Next' | translate }}</button>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateShareProducts let-popover="popover">
|
||||
<h2>Share Products</h2>
|
||||
<p class="mw400">Share products define the rules, default settings, and constraints for a financial institution's Shares and dividends. A share product provides a template for multiple accounts that are or will be held by the financial institution's clients.</p>
|
||||
<h2>{{'labels.heading.Share Products' | translate}}</h2>
|
||||
<p class="mw400">{{'labels.text.Share products define the rules, default settings' | translate}}</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">Close</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();previousStepShareProducts()">Back</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();nextStepShareProducts()">Next</button>
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{'labels.buttons.Close' | translate }}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();previousStepShareProducts()">{{'labels.buttons.Back' | translate}}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();nextStepShareProducts()">{{'labels.buttons.Next' | translate }}</button>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateFixedDepositProducts let-popover="popover">
|
||||
<h2>Fixed Deposit Products</h2>
|
||||
<p class="mw400">Fixed Deposit Products defines the rules, default settings, and constraints for a financial institution's <br> fixed deposit offerings (also referred to as term deposits). A fixed deposit product provides a template for multiple fixed deposit accounts for the financial institution's clients.</p>
|
||||
<h2>{{'labels.heading.Fixed Deposit Products' | translate}}</h2>
|
||||
<p class="mw400">{{'labels.text.Fixed Deposit Products defines the rules, default settings' | translate}}</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">Close</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();previousStepFixedDepositProducts()">Back</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();nextStepFixedDepositProducts()">Next</button>
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{'labels.buttons.Close' | translate }}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();previousStepFixedDepositProducts()">{{'labels.buttons.Back' | translate}}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();nextStepFixedDepositProducts()">{{'labels.buttons.Next' | translate }}</button>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateRecurringDepositProducts let-popover="popover">
|
||||
<h2>Recurring Deposit Products</h2>
|
||||
<p class="mw400">Recurring Deposit products define the rules, default settings, and constraints for a financial institution's recurring deposit offerings (a type of term deposit with recurring deposits). A recurring deposit product provides a template for multiple recurring deposit accounts for the financial institution's clients.</p>
|
||||
<h2>{{'labels.heading.Recurring Deposit Products' | translate}}</h2>
|
||||
<p class="mw400">{{'labels.text.Recurring Deposit products define the rules, default settings' | translate}}</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">Close</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();previousStepRecurringDepositProducts()">Back</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();nextStepRecurringDepositProducts()">Next</button>
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{'labels.buttons.Close' | translate }}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();previousStepRecurringDepositProducts()">{{'labels.buttons.Back' | translate}}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();nextStepRecurringDepositProducts()">{{'labels.buttons.Next' | translate }}</button>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
+6
-4
@@ -1,7 +1,8 @@
|
||||
import { Component, OnInit, Input } from '@angular/core';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { Component, Input, OnInit } from '@angular/core';
|
||||
import { UntypedFormControl } from '@angular/forms';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component';
|
||||
|
||||
@Component({
|
||||
@@ -19,7 +20,8 @@ export class RecurringDepositProductChargesStepComponent implements OnInit {
|
||||
chargesDataSource: {}[];
|
||||
displayedColumns: string[] = ['name', 'chargeCalculationType', 'amount', 'chargeTimeType', 'action'];
|
||||
|
||||
constructor(public dialog: MatDialog) {
|
||||
constructor(public dialog: MatDialog,
|
||||
private translateService: TranslateService) {
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
@@ -39,7 +41,7 @@ export class RecurringDepositProductChargesStepComponent implements OnInit {
|
||||
|
||||
deleteCharge(charge: any) {
|
||||
const deleteChargeDialogRef = this.dialog.open(DeleteDialogComponent, {
|
||||
data: { deleteContext: `charge ${charge.name}` }
|
||||
data: { deleteContext: this.translateService.instant('labels.inputs.Charge') + ' ' + charge.name }
|
||||
});
|
||||
deleteChargeDialogRef.afterClosed().subscribe((response: any) => {
|
||||
if (response.delete) {
|
||||
|
||||
+4
-4
@@ -43,8 +43,8 @@
|
||||
</div>
|
||||
|
||||
<ng-template #templateButtonCreateRecurringProduct let-popover="popover">
|
||||
<h2>Create recurring deposit product</h2>
|
||||
<p class="mw300">This option allows you to create new recurring product.</p>
|
||||
<h2>{{'labels.heading.Create recurring deposit product' | translate}}</h2>
|
||||
<p class="mw300">{{'labels.text.This option allows you to create new recurring product.' | translate}}</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{'labels.buttons.Close' | translate}}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();previousStep()">{{'labels.buttons.Back' | translate}}</button>
|
||||
@@ -53,7 +53,7 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateFilter let-popover="popover">
|
||||
<h4>Search bar to filter recurring deposit products.</h4>
|
||||
<h4>{{'labels.heading.Search bar to filter recurring deposit products.' | translate}}</h4>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{'labels.buttons.Close' | translate}}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateButtonCreateRecurringProduct,buttonCreateRecurringProduct , 'bottom', true)">{{'labels.buttons.Back' | translate}}</button>
|
||||
@@ -62,7 +62,7 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateRecurringProductsTable let-popover="popover">
|
||||
<h4 class="mw300">List of recurring deposit products in the organization. For more details click: <a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/102629552/Recurring+Deposit" target="_blank">{{'labels.heading.Recurring Deposit Products' | translate}}</a></h4>
|
||||
<h4 class="mw300">{{'labels.heading.List of recurring deposit products in the organization' | translate}}: <a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/102629552/Recurring+Deposit" target="_blank">{{'labels.heading.Recurring Deposit Products' | translate}}</a></h4>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{'labels.buttons.Close' | translate}}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateFilter,filter, 'bottom', true)">{{'labels.buttons.Back' | translate}}</button>
|
||||
|
||||
+5
-4
@@ -1,7 +1,8 @@
|
||||
import { Component, OnInit, Input } from '@angular/core';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { Component, Input, OnInit } from '@angular/core';
|
||||
import { UntypedFormControl } from '@angular/forms';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component';
|
||||
|
||||
@Component({
|
||||
@@ -21,7 +22,7 @@ export class SavingProductChargesStepComponent implements OnInit {
|
||||
|
||||
pristine = true;
|
||||
|
||||
constructor(public dialog: MatDialog) {
|
||||
constructor(public dialog: MatDialog, private translateService:TranslateService) {
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
@@ -41,7 +42,7 @@ export class SavingProductChargesStepComponent implements OnInit {
|
||||
|
||||
deleteCharge(charge: any) {
|
||||
const deleteChargeDialogRef = this.dialog.open(DeleteDialogComponent, {
|
||||
data: { deleteContext: `charge ${charge.name}` }
|
||||
data: { deleteContext: this.translateService.instant('labels.inputs.Charge') + ' ' + charge.name }
|
||||
});
|
||||
deleteChargeDialogRef.afterClosed().subscribe((response: any) => {
|
||||
if (response.delete) {
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
|
||||
<ng-template #templateButtonSavingProduct let-popover="popover">
|
||||
<h2>{{'labels.text.Create Savings Product' | translate}}</h2>
|
||||
<p class="mw300">This option allows you to create new savings product.</p>
|
||||
<p class="mw300">{{'labels.text.This option allows you to create new savings product.' | translate}}</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{'labels.buttons.Close' | translate}}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();previousStep()">{{'labels.buttons.Back' | translate}}</button>
|
||||
@@ -61,7 +61,7 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateSavingProductTable let-popover="popover">
|
||||
<h4 class="mw300">List of saving products in the organization. For more details click: <a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/102629497/Savings+Products" target="_blank">{{'labels.heading.Savings Products' | translate}}</a></h4>
|
||||
<h4 class="mw300">{{'labels.heading.List of saving products in the organization' | translate}}: <a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/102629497/Savings+Products" target="_blank">{{'labels.heading.Savings Products' | translate}}</a></h4>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{'labels.buttons.Close' | translate}}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateFilter,filter, 'bottom', true)">{{'labels.buttons.Back' | translate}}</button>
|
||||
|
||||
@@ -9,30 +9,30 @@
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field (click)="startDatePicker.open()">
|
||||
<mat-label>Dividend Period Start Date</mat-label>
|
||||
<mat-label>{{'labels.inputs.Dividend Period Start Date' | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="startDatePicker" required formControlName="dividendPeriodStartDate">
|
||||
<mat-datepicker-toggle matSuffix [for]="startDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #startDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="createDividendForm.controls.dividendPeriodStartDate.hasError('required')">
|
||||
Starting date <strong>is required</strong>
|
||||
{{'labels.inputs.Starting Date' | translate}} {{'labels.commons.is' | translate}} <strong>{{'labels.commons.required' | translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field (click)="endDatePicker.open()">
|
||||
<mat-label>Dividend Period End Date</mat-label>
|
||||
<mat-label>{{'labels.inputs.Dividend Period End Date' | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="endDatePicker" required formControlName="dividendPeriodEndDate">
|
||||
<mat-datepicker-toggle matSuffix [for]="endDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #endDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="createDividendForm.controls.dividendPeriodEndDate.hasError('required')">
|
||||
End date <strong>is required</strong>
|
||||
{{'labels.inputs.End Date' | translate}} {{'labels.commons.is' | translate}} <strong>{{'labels.commons.required' | translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>Dividend Amount</mat-label>
|
||||
<mat-label>{{'labels.inputs.Dividend Amount' | translate}}</mat-label>
|
||||
<input matInput required formControlName="dividendAmount">
|
||||
<mat-error *ngIf="createDividendForm.controls.dividendAmount.hasError('required')">
|
||||
Amount is <strong>required</strong>
|
||||
{{ 'labels.inputs.Amount' | translate }} {{'labels.commons.is' | translate}} <strong>{{'labels.commons.required' | translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
@@ -41,8 +41,8 @@
|
||||
</mat-card-content>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../']">Cancel</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!createDividendForm.valid">Submit</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../']">{{'labels.buttons.Cancel' | translate }}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!createDividendForm.valid">{{'labels.buttons.Submit' | translate }}</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</form>
|
||||
|
||||
@@ -19,27 +19,27 @@
|
||||
<table mat-table [dataSource]="dataSource" matSort>
|
||||
|
||||
<ng-container matColumnDef="name">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Name </th>
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{'labels.inputs.Name' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let dividend">{{ dividend.productData.name }}</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="dividendPeriodStartDate">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Dividend Period Start Date </th>
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{'labels.inputs.Dividend Period Start Date' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let dividend">{{ dividend.dividendPeriodStartDate | dateFormat }}</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="dividendPeriodEndDate">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Dividend Period End Date </th>
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{'labels.inputs.Dividend Period End Date' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let dividend">{{ dividend.dividendPeriodEndDate | dateFormat }}</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="amount">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Amount </th>
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{ 'labels.inputs.Amount' | translate }} </th>
|
||||
<td mat-cell *matCellDef="let dividend"> {{ dividend.amount }}</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="status">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Status </th>
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{ 'labels.inputs.Status' | translate }} </th>
|
||||
<td mat-cell *matCellDef="let dividend">{{ dividend.status.value }}</td>
|
||||
</ng-container>
|
||||
|
||||
|
||||
+6
-5
@@ -1,8 +1,8 @@
|
||||
import { Component, OnInit, Input } from '@angular/core';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { Component, Input, OnInit } from '@angular/core';
|
||||
import { UntypedFormControl } from '@angular/forms';
|
||||
import { TooltipPosition } from '@angular/material/tooltip';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component';
|
||||
|
||||
@Component({
|
||||
@@ -22,7 +22,8 @@ export class ShareProductChargesStepComponent implements OnInit {
|
||||
|
||||
pristine = true;
|
||||
|
||||
constructor(public dialog: MatDialog) {
|
||||
constructor(public dialog: MatDialog,
|
||||
private translateService: TranslateService) {
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
@@ -42,7 +43,7 @@ export class ShareProductChargesStepComponent implements OnInit {
|
||||
|
||||
deleteCharge(charge: any) {
|
||||
const deleteChargeDialogRef = this.dialog.open(DeleteDialogComponent, {
|
||||
data: { deleteContext: `charge ${charge.name}` }
|
||||
data: { deleteContext: this.translateService.instant('labels.inputs.Charge') + ' ' + charge.name }
|
||||
});
|
||||
deleteChargeDialogRef.afterClosed().subscribe((response: any) => {
|
||||
if (response.delete) {
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
|
||||
<ng-template #templateButtonCreateShareProduct let-popover="popover">
|
||||
<h2>{{ 'labels.buttons.Create Share Product' | translate }}</h2>
|
||||
<p class="mw300">This option allows you to create new share product.</p>
|
||||
<p class="mw300">{{'labels.text.This option allows you to create new share product.' | translate}}</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{ 'labels.buttons.Close' | translate }}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();previousStep()">{{ 'labels.buttons.Back' | translate }}</button>
|
||||
@@ -57,7 +57,7 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateFilter let-popover="popover">
|
||||
<h4>Search bar to filter share products.</h4>
|
||||
<h4>{{'labels.heading.Search bar to filter share products.' | translate}}</h4>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{ 'labels.buttons.Close' | translate }}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateButtonCreateShareProduct,buttonCreateShareProduct , 'bottom', true)">{{ 'labels.buttons.Back' | translate }}</button>
|
||||
@@ -66,7 +66,7 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateShareProductsTable let-popover="popover">
|
||||
<h4 class="mw300">List of share products in the organization. For more details click: <a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/129531946/Share+products" target="_blank">{{ 'labels.buttons.Share Products' | translate }}</a></h4>
|
||||
<h4 class="mw300">{{'labels.heading.List of share products in the organization' | translate}}: <a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/129531946/Share+products" target="_blank">{{ 'labels.buttons.Share Products' | translate }}</a></h4>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{ 'labels.buttons.Close' | translate }}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateFilter,filter, 'bottom', true)">{{ 'labels.buttons.Back' | translate }}</button>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<div class="container m-b-20" fxLayout="row" fxLayoutAlign="end" fxLayoutGap="20px" *ngIf="!isdividendPosted">
|
||||
<button mat-raised-button color="primary" *mifosxHasPermission='"POST_DIVIDENDS"' (click)="postDividends()">
|
||||
<fa-icon icon="plus" class="m-r-10"></fa-icon>
|
||||
Post Dividend
|
||||
{{'labels.buttons.buttons' | translate}}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -19,22 +19,22 @@
|
||||
<table mat-table [dataSource]="dataSource" matSort>
|
||||
|
||||
<ng-container matColumnDef="clientName">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Client Name </th>
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{ 'labels.inputs.Client Name' | translate }} </th>
|
||||
<td mat-cell *matCellDef="let dividend"> {{ dividend.accountData.clientName }} </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="shareAccount">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Share Account </th>
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{'labels.inputs.Share Account' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let dividend"> {{ dividend.accountData.accountNo }} </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="dividendAmount">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Dividend Amount </th>
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{'labels.inputs.Dividend Amount' | translate}} </th>
|
||||
<td mat-cell *matCellDef="let dividend"> {{ dividend.amount }} </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="status">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Status </th>
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{ 'labels.inputs.Status' | translate }} </th>
|
||||
<td mat-cell *matCellDef="let dividend"> {{ dividend.status.value }} </td>
|
||||
</ng-container>
|
||||
|
||||
|
||||
@@ -1502,6 +1502,7 @@
|
||||
"Fixed EMI amount": "Pevná částka EMI",
|
||||
"Fixed Length": "Pevná délka",
|
||||
"Principal Percentage Per Installment": "Pevné procento jistiny na splátku",
|
||||
"floating rate period with from date as": "období s plovoucí sazbou s od data jako",
|
||||
"Floating Interest Rate": "Pohyblivá úroková sazba",
|
||||
"Floating Interest Rate Calculation Allowed": "Výpočet pohyblivé úrokové sazby povolen",
|
||||
"Floating Interest Rates": "Pohyblivé úrokové sazby",
|
||||
@@ -1935,7 +1936,7 @@
|
||||
"Period To": "Období do",
|
||||
"Period Type": "Typ období",
|
||||
"Amount Range From": "Rozsah částky Od",
|
||||
"Amount Range To": "Rozsah částky do",
|
||||
"Amount Range To": "Rozsah částky do",
|
||||
"Person": "Osoba",
|
||||
"Phone Number": "Telefonní číslo",
|
||||
"Place Guarantee Funds On-Hold": "Pozastavení záručních fondů",
|
||||
@@ -2482,7 +2483,9 @@
|
||||
"Are you sure you want to Approve Loan": "Jste si jisti, že chcete schválit půjčku",
|
||||
"Are you sure you want to Disburse Loan": "Jste si jisti, že chcete vyplatit půjčku",
|
||||
"Are you sure you want to": "Jste si jisti, že chcete",
|
||||
"the Reschedule Loan": "přeplánovat půjčku"
|
||||
"the productmix component with id": "komponenta productmix s id",
|
||||
"the Reschedule Loan": "přeplánovat půjčku",
|
||||
"the Transaction Type": "typ transakce"
|
||||
},
|
||||
"text": {
|
||||
"A": "A",
|
||||
@@ -2569,6 +2572,7 @@
|
||||
"Configurations page allows you to further customize": "Stránka Konfigurace vám umožňuje dále přizpůsobit způsob, jakým vaše organizace používá systém Mifos.",
|
||||
"Configure Maker Checker Tasks": "Konfigurace úloh Maker Checker",
|
||||
"Copy": "kopírovat",
|
||||
"Create": "Vytvořit",
|
||||
"Copy Account Number": "Zkopírovat číslo účtu",
|
||||
"Create Account Number Preference": "Vytvořit předvolbu čísla účtu",
|
||||
"Create Accounting Closure": "Vytvořte účetní uzávěrku",
|
||||
@@ -2654,6 +2658,8 @@
|
||||
"Define what currencies interactions within the Mifos X system": "Tato část umožňuje organizaci definovat, jaké měny budou používány během jejich interakcí v rámci systému Mifos X.",
|
||||
"Defines rules for taking multiple rules": "Definuje pravidla pro přijímání více pravidel",
|
||||
"Delete clients signature": "Jste si jisti, že chcete smazat tento klientský podpis?",
|
||||
"Delinquency Buckets": "Delikvence kbelíky",
|
||||
"Delinquency Ranges": "Rozsahy delikvence",
|
||||
"Documents": "Dokumenty",
|
||||
"Dropdown self service user administrative portal": "Rozbalovací nabídka poskytuje přístup k samoobslužnému portálu pro správu uživatelů, konfiguraci aplikací a správě úloh.",
|
||||
"Dropdown system reports": "Rozbalovací nabídka poskytuje přístup ke všem typům systémových zpráv včetně výchozích zpráv poskytovaných Migos a systémových zpráv, které budou vyvíjeny organizací.",
|
||||
@@ -2935,6 +2941,7 @@
|
||||
"The report request": "Požadavek na zprávu byl odeslán a zpráva bude exportována do úložiště souborů",
|
||||
"The usage of stronger passwords": "Definujte standardy pro vynucení používání silnějších hesel",
|
||||
"These are predefined postings": "Jedná se o předdefinované příspěvky",
|
||||
"this": "tento",
|
||||
"This allows you to manage funds associated with loans.": "To vám umožní spravovat finanční prostředky spojené s půjčkami.",
|
||||
"This option allows you to create new loan product.": "Tato možnost umožňuje vytvořit nový úvěrový produkt.",
|
||||
"This option allows you to create new recurring product.": "Tato možnost umožňuje vytvořit nový opakující se produkt.",
|
||||
|
||||
@@ -1502,6 +1502,7 @@
|
||||
"Fixed EMI amount": "Fester EMI-Betrag",
|
||||
"Fixed Length": "Feste Länge",
|
||||
"Principal Percentage Per Installment": "Fester Kapitalprozentsatz pro Rate",
|
||||
"floating rate period with from date as": "Variable Zinsperiode mit Ab-Datum als",
|
||||
"Floating Interest Rate": "Variabler Zinssatz",
|
||||
"Floating Interest Rate Calculation Allowed": "Variable Zinssatzberechnung zulässig",
|
||||
"Floating Interest Rates": "Variable Zinssätze",
|
||||
@@ -1935,7 +1936,7 @@
|
||||
"Period To": "Zeitraum bis",
|
||||
"Period Type": "Periodentyp",
|
||||
"Amount Range From": "Betragsbereich von",
|
||||
"Amount Range To": "Betragsbereich bis",
|
||||
"Amount Range To": "Betragsbereich bis",
|
||||
"Person": "Person",
|
||||
"Phone Number": "Telefonnummer",
|
||||
"Place Guarantee Funds On-Hold": "Stellen Sie Garantiefonds auf Eis",
|
||||
@@ -2482,7 +2483,9 @@
|
||||
"Are you sure you want to Approve Loan": "Sind Sie sicher, dass Sie das Darlehen genehmigen möchten",
|
||||
"Are you sure you want to Disburse Loan": "Sind Sie sicher, dass Sie das Darlehen auszahlen möchten",
|
||||
"Are you sure you want to": "Sind Sie sicher, dass Sie möchten",
|
||||
"the Reschedule Loan": "das Darlehen umplanen"
|
||||
"the productmix component with id": "die Productmix-Komponente mit der ID",
|
||||
"the Reschedule Loan": "das Darlehen umplanen",
|
||||
"the Transaction Type": "der Transaktionstyp"
|
||||
},
|
||||
"text": {
|
||||
"A": "A",
|
||||
@@ -2568,6 +2571,7 @@
|
||||
"Configurations page allows you to further customize": "Auf der Seite „Konfigurationen“ können Sie die Art und Weise, wie Ihre Organisation das Mifos-System nutzt, weiter anpassen.",
|
||||
"Configure Maker Checker Tasks": "Konfigurieren Sie Maker Checker-Aufgaben",
|
||||
"Copy": "Kopieren",
|
||||
"Create": "Erstellen",
|
||||
"Copy Account Number": "Kontonummer kopieren",
|
||||
"Create Account Number Preference": "Kontonummernpräferenz erstellen",
|
||||
"Create Accounting Closure": "Erstellen Sie einen Buchhaltungsabschluss",
|
||||
@@ -2653,6 +2657,8 @@
|
||||
"Define what currencies interactions within the Mifos X system": "In diesem Abschnitt kann eine Organisation definieren, welche Währungen während ihrer Interaktionen innerhalb des Mifos X-Systems verwendet werden.",
|
||||
"Defines rules for taking multiple rules": "Definiert Regeln für die Übernahme mehrerer Regeln",
|
||||
"Delete clients signature": "Sind Sie sicher, dass Sie die Signatur dieses Kunden löschen möchten?",
|
||||
"Delinquency Buckets": "Kriminalitätseimer",
|
||||
"Delinquency Ranges": "Zahlungsverzugsbereiche",
|
||||
"Documents": "Unterlagen",
|
||||
"Dropdown self service user administrative portal": "Dropdown bietet Zugriff auf das Self-Service-Benutzerverwaltungsportal, die App-Konfiguration und die Aufgabenverwaltung.",
|
||||
"Dropdown system reports": "Dropdown bietet Zugriff auf alle Arten von Systemberichten, einschließlich der von den Migos bereitgestellten Standardberichte und Systemberichte, die von der Organisation entwickelt werden.",
|
||||
@@ -2934,6 +2940,7 @@
|
||||
"The report request": "Die Berichtsanforderung wurde gesendet und der Bericht wird in das Datei-Repository exportiert",
|
||||
"The usage of stronger passwords": "Definieren Sie Standards zur Durchsetzung der Verwendung stärkerer Passwörter",
|
||||
"These are predefined postings": "Dabei handelt es sich um vordefinierte Buchungen",
|
||||
"this": "Das",
|
||||
"This allows you to manage funds associated with loans.": "Auf diese Weise können Sie die mit Krediten verbundenen Mittel verwalten.",
|
||||
"This option allows you to create new loan product.": "Mit dieser Option können Sie ein neues Kreditprodukt erstellen.",
|
||||
"This option allows you to create new recurring product.": "Mit dieser Option können Sie ein neues wiederkehrendes Produkt erstellen.",
|
||||
|
||||
@@ -644,7 +644,7 @@
|
||||
"THURSDAY": "THURSDAY",
|
||||
"FRIDAY": "FRIDAY",
|
||||
"SATURDAY": "SATURDAY",
|
||||
"Interest posting": "Interest posting",
|
||||
"Interest posting": "Interest posting",
|
||||
"Amount on hold": "Amount on hold",
|
||||
"Percentage": "Percentage",
|
||||
"Fixed Amount": "Fixed Amount",
|
||||
@@ -1503,6 +1503,7 @@
|
||||
"Fixed EMI amount": "Fixed EMI amount",
|
||||
"Fixed Length": "Fixed Length",
|
||||
"Principal Percentage Per Installment": "Principal Percentage Per Installment",
|
||||
"floating rate period with from date as":"floating rate period with from date as",
|
||||
"Floating Interest Rate": "Floating Interest Rate",
|
||||
"Floating Interest Rate Calculation Allowed": "Floating Interest Rate Calculation Allowed",
|
||||
"Floating Interest Rates": "Floating Interest Rates",
|
||||
@@ -2132,7 +2133,7 @@
|
||||
"Start Date": "Start Date",
|
||||
"Start Time": "Start Time",
|
||||
"Started On": "Started On",
|
||||
"Starting date": "Starting date",
|
||||
"Starting Date": "Starting Date",
|
||||
"State / Province": "State / Province",
|
||||
"Status": "Status",
|
||||
"Step Name": "Step Name",
|
||||
@@ -2483,7 +2484,9 @@
|
||||
"Are you sure you want to Approve Loan": "Are you sure you want to Approve Loan",
|
||||
"Are you sure you want to Disburse Loan": "Are you sure you want to Disburse Loan",
|
||||
"Are you sure you want to": "Are you sure you want to ",
|
||||
"the Reschedule Loan": " the Reschedule Loan"
|
||||
"the productmix component with id": "the productmix component with id",
|
||||
"the Reschedule Loan": " the Reschedule Loan",
|
||||
"the Transaction Type":"the Transaction Type"
|
||||
},
|
||||
"text": {
|
||||
"A": "A",
|
||||
@@ -2571,6 +2574,7 @@
|
||||
"Configure Maker Checker Tasks": "Configure Maker Checker Tasks",
|
||||
"Copy": "Copy",
|
||||
"Copy Account Number": "Copy Account Number",
|
||||
"Create": "Create",
|
||||
"Create Account Number Preference": "Create Account Number Preference",
|
||||
"Create Accounting Closure": "Create Accounting Closure",
|
||||
"Create Accounting Rule": "Create Accounting Rule",
|
||||
@@ -2655,6 +2659,8 @@
|
||||
"Define what currencies interactions within the Mifos X system": "This section allows an organization to define what currencies will be used throughout their interactions within the Mifos X system.",
|
||||
"Defines rules for taking multiple rules": "Defines rules for taking multiple rules",
|
||||
"Delete clients signature": "Are you sure you want to delete this clients signature",
|
||||
"Delinquency Buckets": "Delinquency Buckets",
|
||||
"Delinquency Ranges": "Delinquency Ranges",
|
||||
"Documents": "Documents",
|
||||
"Dropdown self service user administrative portal": "Dropdown provides access to self service user administrative portal, app configuration and task management.",
|
||||
"Dropdown system reports": "Dropdown provides access to all types of system reports including the default reports provided by the Migos and system reports that will be developed by the organization.",
|
||||
@@ -2937,6 +2943,7 @@
|
||||
"The report request": "The report request has been sent and the report will be exported to file repository",
|
||||
"The usage of stronger passwords": "Define standards for enforcing the usage of stronger passwords",
|
||||
"These are predefined postings": "These are predefined postings",
|
||||
"this":"this",
|
||||
"This allows you to manage funds associated with loans.": "This allows you to manage funds associated with loans.",
|
||||
"This option allows you to create new loan product.": "This option allows you to create new loan product.",
|
||||
"This option allows you to create new recurring product.": "This option allows you to create new recurring product.",
|
||||
@@ -3245,4 +3252,4 @@
|
||||
"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."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -656,7 +656,7 @@
|
||||
"THURSDAY": "JUEVES",
|
||||
"FRIDAY": "VIERNES",
|
||||
"SATURDAY": "SÁBADO",
|
||||
"Interest posting": "Intereses",
|
||||
"Interest posting": "Intereses",
|
||||
"Amount on hold": "Retención",
|
||||
"Percentage": "Porcentaje",
|
||||
"Fixed Amount": "Cantidad fija",
|
||||
@@ -1501,6 +1501,7 @@
|
||||
"Fixed EMI amount": "Monto fijo de Cuota",
|
||||
"Fixed Length": "Longitud fija",
|
||||
"Principal Percentage Per Installment": "Porcentaje de capital por cuota",
|
||||
"floating rate period with from date as": "período de tasa flotante con fecha desde como",
|
||||
"Floating Interest Rate": "Tasa de interés variable",
|
||||
"Floating Interest Rate Calculation Allowed": "Se permite el cálculo de la tasa de interés variable",
|
||||
"Floating Interest Rates": "Tasas de interés variables",
|
||||
@@ -2481,7 +2482,9 @@
|
||||
"Are you sure you want to Approve Loan": "¿Estás seguro de que deseas aprobar el Crédito?",
|
||||
"Are you sure you want to Disburse Loan": "¿Estás seguro de que deseas desembolsar el Crédito?",
|
||||
"Are you sure you want to": "¿Estás seguro de que deseas",
|
||||
"the Reschedule Loan": "la Recandelarización del Crédito"
|
||||
"the productmix component with id": "el componente productmix con id",
|
||||
"the Reschedule Loan": "la Recandelarización del Crédito",
|
||||
"the Transaction Type": "el tipo de transacción"
|
||||
},
|
||||
"text": {
|
||||
"A": "A",
|
||||
@@ -2568,6 +2571,7 @@
|
||||
"Configurations page allows you to further customize": "La página Configuraciones le permite personalizar aún más la forma en que su organización utiliza el sistema Mifos.",
|
||||
"Configure Maker Checker Tasks": "Configurar tareas de Realizador Aprobador",
|
||||
"Copy": "Copiar",
|
||||
"Create": "Crear",
|
||||
"Copy Account Number": "Copiar número de cuenta",
|
||||
"Create Account Number Preference": "Crear preferencia de número de cuenta",
|
||||
"Create Accounting Closure": "Crear cierre contable",
|
||||
@@ -2653,6 +2657,8 @@
|
||||
"Define what currencies interactions within the Mifos X system": "Esta sección permite a una organización definir qué monedas se utilizarán durante sus interacciones dentro del sistema Mifos X.",
|
||||
"Defines rules for taking multiple rules": "Define reglas para tomar múltiples reglas.",
|
||||
"Delete clients signature": "¿Está seguro de que desea eliminar la firma de este cliente?",
|
||||
"Delinquency Buckets": "Cubos de morosidad",
|
||||
"Delinquency Ranges": "Rangos de morosidad",
|
||||
"Documents": "Documentos",
|
||||
"Dropdown self service user administrative portal": "El menú desplegable proporciona acceso al portal administrativo de usuario de autoservicio, configuración de aplicaciones y gestión de tareas.",
|
||||
"Dropdown system reports": "Menu brinda acceso a todo tipo de reportes del sistema, incluidos los reportes predeterminados proporcionados por Migos y los reportes del sistema que desarrollará la organización.",
|
||||
@@ -2934,6 +2940,7 @@
|
||||
"The report request": "La solicitud de reporte ha sido enviada y el reporte se exportará al repositorio de archivos.",
|
||||
"The usage of stronger passwords": "Definir estándares para hacer cumplir el uso de contraseñas más seguras",
|
||||
"These are predefined postings": "Estas son publicaciones predefinidas",
|
||||
"this": "este",
|
||||
"This allows you to manage funds associated with loans.": "Esto le permite administrar fondos asociados con Créditos.",
|
||||
"This option allows you to create new loan product.": "Esta opción le permite crear un nuevo producto de Crédito.",
|
||||
"This option allows you to create new recurring product.": "Esta opción le permite crear un nuevo producto recurrente.",
|
||||
@@ -3242,4 +3249,4 @@
|
||||
"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."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1502,6 +1502,7 @@
|
||||
"Fixed EMI amount": "Montant EMI fixe",
|
||||
"Fixed Length": "Longueur fixe",
|
||||
"Principal Percentage Per Installment": "Pourcentage de capital fixe par versement",
|
||||
"floating rate period with from date as": "période à taux variable avec la date de début comme",
|
||||
"Floating Interest Rate": "Taux d'intérêt flottant",
|
||||
"Floating Interest Rate Calculation Allowed": "Calcul du taux d'intérêt flottant autorisé",
|
||||
"Floating Interest Rates": "Taux d'intérêt flottants",
|
||||
@@ -1935,7 +1936,7 @@
|
||||
"Period To": "Période jusqu'à",
|
||||
"Period Type": "Type de période",
|
||||
"Amount Range From": "Fourchette de montant",
|
||||
"Amount Range To": "Fourchette de montant à",
|
||||
"Amount Range To": "Fourchette de montant à",
|
||||
"Person": "Personne",
|
||||
"Phone Number": "Numéro de téléphone",
|
||||
"Place Guarantee Funds On-Hold": "Mettre les fonds de garantie en attente",
|
||||
@@ -2482,7 +2483,9 @@
|
||||
"Are you sure you want to Approve Loan": "Êtes-vous sûr de vouloir approuver le prêt",
|
||||
"Are you sure you want to Disburse Loan": "Êtes-vous sûr de vouloir débloquer le prêt",
|
||||
"Are you sure you want to": "Êtes-vous sûr de vouloir",
|
||||
"the Reschedule Loan": "la révision du prêt"
|
||||
"the productmix component with id": "le composant productmix avec l'identifiant",
|
||||
"the Reschedule Loan": "la révision du prêt",
|
||||
"the Transaction Type": "le type de transaction"
|
||||
},
|
||||
"text": {
|
||||
"A": "UN",
|
||||
@@ -2569,6 +2572,7 @@
|
||||
"Configurations page allows you to further customize": "La page Configurations vous permet de personnaliser davantage la façon dont votre organisation utilise le système Mifos.",
|
||||
"Configure Maker Checker Tasks": "Configurer les tâches de Maker Checker",
|
||||
"Copy": "Copie",
|
||||
"Create": "Créer",
|
||||
"Copy Account Number": "Copier le numéro de compte",
|
||||
"Create Account Number Preference": "Créer une préférence de numéro de compte",
|
||||
"Create Accounting Closure": "Créer une clôture comptable",
|
||||
@@ -2654,6 +2658,8 @@
|
||||
"Define what currencies interactions within the Mifos X system": "Cette section permet à une organisation de définir quelles devises seront utilisées tout au long de leurs interactions au sein du système Mifos X.",
|
||||
"Defines rules for taking multiple rules": "Définit des règles pour prendre plusieurs règles",
|
||||
"Delete clients signature": "Êtes-vous sûr de vouloir supprimer la signature de ce client ?",
|
||||
"Delinquency Buckets": "Catégories de délinquance",
|
||||
"Delinquency Ranges": "Fourchettes de délinquance",
|
||||
"Documents": "Documents",
|
||||
"Dropdown self service user administrative portal": "Dropdown donne accès au portail d'administration des utilisateurs en libre-service, à la configuration des applications et à la gestion des tâches.",
|
||||
"Dropdown system reports": "Dropdown donne accès à tous les types de rapports système, y compris les rapports par défaut fournis par Migos et les rapports système qui seront développés par l'organisation.",
|
||||
@@ -2935,6 +2941,7 @@
|
||||
"The report request": "La demande de rapport a été envoyée et le rapport sera exporté vers le référentiel de fichiers",
|
||||
"The usage of stronger passwords": "Définir des normes pour imposer l'utilisation de mots de passe plus forts",
|
||||
"These are predefined postings": "Ce sont des publications prédéfinies",
|
||||
"this": "ce",
|
||||
"This allows you to manage funds associated with loans.": "Cela vous permet de gérer les fonds associés aux prêts.",
|
||||
"This option allows you to create new loan product.": "Cette option vous permet de créer un nouveau produit de prêt.",
|
||||
"This option allows you to create new recurring product.": "Cette option vous permet de créer un nouveau produit récurrent.",
|
||||
|
||||
@@ -1502,6 +1502,7 @@
|
||||
"Fixed EMI amount": "Importo EMI fisso",
|
||||
"Fixed Length": "Lunghezza fissa",
|
||||
"Principal Percentage Per Installment": "Percentuale capitale fissa per rata",
|
||||
"floating rate period with from date as": "periodo a tasso variabile con data dal",
|
||||
"Floating Interest Rate": "Tasso di interesse variabile",
|
||||
"Floating Interest Rate Calculation Allowed": "Calcolo del tasso di interesse variabile consentito",
|
||||
"Floating Interest Rates": "Tassi di interesse variabili",
|
||||
@@ -1763,7 +1764,7 @@
|
||||
"Maximum Tranche count": "Conteggio massimo della tranche",
|
||||
"Maximum Value": "Valore massimo",
|
||||
"Maximum allowed outstanding balance": "Saldo residuo massimo consentito",
|
||||
"Maximum gap between Installments": "Intervallo massimo tra le rate",
|
||||
"Maximum gap between Installments": "Intervallo massimo tra le rate",
|
||||
"Maximum number of days a loan may be overdue before becoming a NPA (non performing asset)": "Numero massimo di giorni in cui un prestito può essere scaduto prima di diventare un NPA (attività non performante)",
|
||||
"Meeting Date": "Data della riunione",
|
||||
"Meeting Frequency": "Frequenza delle riunioni",
|
||||
@@ -1935,7 +1936,7 @@
|
||||
"Period To": "Periodo a",
|
||||
"Period Type": "Tipo di periodo",
|
||||
"Amount Range From": "Intervallo di importo da",
|
||||
"Amount Range To": "Intervallo di importo fino a",
|
||||
"Amount Range To": "Intervallo di importo fino a",
|
||||
"Person": "Persona",
|
||||
"Phone Number": "Numero di telefono",
|
||||
"Place Guarantee Funds On-Hold": "Posizionare i fondi di garanzia in sospeso",
|
||||
@@ -2158,7 +2159,7 @@
|
||||
"Table Fields": "Campi della tabella",
|
||||
"Tag": "Etichetta",
|
||||
"Tax Group": "Gruppo fiscale",
|
||||
"Tax Component": "Componente fiscale",
|
||||
"Tax Component": "Componente fiscale",
|
||||
"Tax Components": "Componenti fiscali",
|
||||
"Tax-Component Name": "Nome della componente fiscale",
|
||||
"Teller": "Cassiere",
|
||||
@@ -2482,7 +2483,9 @@
|
||||
"Are you sure you want to Approve Loan": "Sei sicuro di voler approvare il Prestito",
|
||||
"Are you sure you want to Disburse Loan": "Sei sicuro di voler erogare il Prestito",
|
||||
"Are you sure you want to": "Sei sicuro di voler",
|
||||
"the Reschedule Loan": "la Riorganizzazione del Prestito"
|
||||
"the productmix component with id": "il componente productmix con id",
|
||||
"the Reschedule Loan": "la Riorganizzazione del Prestito",
|
||||
"the Transaction Type": "il tipo di transazione"
|
||||
},
|
||||
"text": {
|
||||
"A": "UN",
|
||||
@@ -2569,6 +2572,7 @@
|
||||
"Configurations page allows you to further customize": "La pagina Configurazioni ti consente di personalizzare ulteriormente il modo in cui la tua organizzazione utilizza il sistema Mifos.",
|
||||
"Configure Maker Checker Tasks": "Configura le attività di Maker Checker",
|
||||
"Copy": "copia",
|
||||
"Create": "Creare",
|
||||
"Copy Account Number": "Copia il numero di conto",
|
||||
"Create Account Number Preference": "Crea preferenza numero di conto",
|
||||
"Create Accounting Closure": "Creare la chiusura contabile",
|
||||
@@ -2654,6 +2658,8 @@
|
||||
"Define what currencies interactions within the Mifos X system": "Questa sezione consente a un'organizzazione di definire quali valute verranno utilizzate durante le loro interazioni all'interno del sistema Mifos X.",
|
||||
"Defines rules for taking multiple rules": "Definisce le regole per accettare più regole",
|
||||
"Delete clients signature": "Sei sicuro di voler eliminare la firma di questo cliente?",
|
||||
"Delinquency Buckets": "Benni di delinquenza",
|
||||
"Delinquency Ranges": "Intervalli di insolvenza",
|
||||
"Documents": "Documenti",
|
||||
"Dropdown self service user administrative portal": "Il menu a discesa fornisce l'accesso al portale amministrativo degli utenti self-service, alla configurazione delle app e alla gestione delle attività.",
|
||||
"Dropdown system reports": "Dropdown fornisce l'accesso a tutti i tipi di report di sistema, inclusi i report predefiniti forniti da Migos e i report di sistema che verranno sviluppati dall'organizzazione.",
|
||||
@@ -2935,6 +2941,7 @@
|
||||
"The report request": "La richiesta di report è stata inviata e il report verrà esportato nel repository di file",
|
||||
"The usage of stronger passwords": "Definire standard per imporre l'uso di password più forti",
|
||||
"These are predefined postings": "Questi sono messaggi predefiniti",
|
||||
"this": "Questo",
|
||||
"This allows you to manage funds associated with loans.": "Ciò consente di gestire i fondi associati ai prestiti.",
|
||||
"This option allows you to create new loan product.": "Questa opzione ti consente di creare un nuovo prodotto di prestito.",
|
||||
"This option allows you to create new recurring product.": "Questa opzione ti consente di creare un nuovo prodotto ricorrente.",
|
||||
|
||||
@@ -1503,6 +1503,7 @@
|
||||
"Fixed EMI amount": "고정 EMI 양",
|
||||
"Fixed Length": "고정 길이",
|
||||
"Principal Percentage Per Installment": "할부당 고정 원금 비율",
|
||||
"floating rate period with from date as": "시작 날짜가 다음과 같은 변동 금리 기간",
|
||||
"Floating Interest Rate": "변동금리",
|
||||
"Floating Interest Rate Calculation Allowed": "변동금리 계산 허용",
|
||||
"Floating Interest Rates": "변동금리",
|
||||
@@ -1936,7 +1937,7 @@
|
||||
"Period To": "기간: 까지",
|
||||
"Period Type": "기간 유형",
|
||||
"Amount Range From": "금액 범위: 부터",
|
||||
"Amount Range To": "금액 범위:",
|
||||
"Amount Range To": "금액 범위:",
|
||||
"Person": "사람",
|
||||
"Phone Number": "전화 번호",
|
||||
"Place Guarantee Funds On-Hold": "보증 자금 보류",
|
||||
@@ -2160,7 +2161,7 @@
|
||||
"Tag": "꼬리표",
|
||||
"Tax Group": "세금 그룹",
|
||||
"Tax-Component Name": "세금 구성요소 이름",
|
||||
"Tax Component": "세금 구성요소",
|
||||
"Tax Component": "세금 구성요소",
|
||||
"Tax Components": "세금 구성요소",
|
||||
"Teller": "말하는 사람",
|
||||
"Teller Name": "출납원 이름",
|
||||
@@ -2482,7 +2483,9 @@
|
||||
"Are you sure you want to Approve Loan": "대출을 승인하시겠습니까?",
|
||||
"Are you sure you want to Disburse Loan": "대출을 지급하시겠습니까?",
|
||||
"Are you sure you want to": "확실하게 원하시나요?",
|
||||
"the Reschedule Loan": "대출 재일정"
|
||||
"the productmix component with id": "ID가 있는 productmix 구성요소",
|
||||
"the Reschedule Loan": "대출 재일정",
|
||||
"the Transaction Type": "거래 유형"
|
||||
},
|
||||
"text": {
|
||||
"A": "ㅏ",
|
||||
@@ -2569,6 +2572,7 @@
|
||||
"Configurations page allows you to further customize": "구성 페이지에서는 조직이 Mifos 시스템을 사용하는 방식을 추가로 사용자 정의할 수 있습니다.",
|
||||
"Configure Maker Checker Tasks": "Maker Checker 작업 구성",
|
||||
"Copy": "복사",
|
||||
"Create": "만들다",
|
||||
"Copy Account Number": "계좌번호 복사",
|
||||
"Create Account Number Preference": "계좌 번호 기본 설정 생성",
|
||||
"Create Accounting Closure": "회계 마감 생성",
|
||||
@@ -2654,6 +2658,8 @@
|
||||
"Define what currencies interactions within the Mifos X system": "이 섹션에서는 조직이 Mifos X 시스템 내 상호작용 전반에 걸쳐 어떤 통화를 사용할 것인지 정의할 수 있습니다.",
|
||||
"Defines rules for taking multiple rules": "여러 규칙을 취하기 위한 규칙을 정의합니다.",
|
||||
"Delete clients signature": "정말로 이 클라이언트 서명을 삭제하시겠습니까?",
|
||||
"Delinquency Buckets": "연체 버킷",
|
||||
"Delinquency Ranges": "연체 범위",
|
||||
"Documents": "서류",
|
||||
"Dropdown self service user administrative portal": "드롭다운은 셀프 서비스 사용자 관리 포털, 앱 구성 및 작업 관리에 대한 액세스를 제공합니다.",
|
||||
"Dropdown system reports": "드롭다운은 Migos에서 제공하는 기본 보고서와 조직에서 개발할 시스템 보고서를 포함하여 모든 유형의 시스템 보고서에 대한 액세스를 제공합니다.",
|
||||
@@ -2935,6 +2941,7 @@
|
||||
"The report request": "보고서 요청이 전송되었으며 보고서가 파일 저장소로 내보내집니다.",
|
||||
"The usage of stronger passwords": "더 강력한 비밀번호 사용을 시행하기 위한 표준 정의",
|
||||
"These are predefined postings": "사전 정의된 게시물입니다.",
|
||||
"this": "이것",
|
||||
"This allows you to manage funds associated with loans.": "이를 통해 대출과 관련된 자금을 관리할 수 있습니다.",
|
||||
"This option allows you to create new loan product.": "이 옵션을 사용하면 새로운 대출 상품을 생성할 수 있습니다.",
|
||||
"This option allows you to create new recurring product.": "이 옵션을 사용하면 새로운 반복 제품을 생성할 수 있습니다.",
|
||||
|
||||
@@ -279,7 +279,7 @@
|
||||
"financialActivity": {
|
||||
"assetTransfer": "turto perdavimas",
|
||||
"cashAtMainVault": "grynieji pinigai Pagrindiniame saugykloje",
|
||||
"cashAtTeller": "grynieji „Teller“.",
|
||||
"cashAtTeller": "grynieji „Teller“.",
|
||||
"fundSource": "fondas Šaltinis",
|
||||
"liabilityTransfer": "atsakomybės perdavimas",
|
||||
"openingBalancesTransferContra": "atidarymo likučių pervedimo kontraktas",
|
||||
@@ -1502,6 +1502,7 @@
|
||||
"Fixed EMI amount": "Fiksuota EMI suma",
|
||||
"Fixed Length": "Fiksuotas ilgis",
|
||||
"Principal Percentage Per Installment": "Fiksuota pagrindinės įmokos procentinė dalis",
|
||||
"floating rate period with from date as": "kintamos palūkanų normos laikotarpis nuo datos kaip",
|
||||
"Floating Interest Rate": "Slankioji palūkanų norma",
|
||||
"Floating Interest Rate Calculation Allowed": "Leidžiamas kintamos palūkanų normos skaičiavimas",
|
||||
"Floating Interest Rates": "Kintamos palūkanų normos",
|
||||
@@ -1935,7 +1936,7 @@
|
||||
"Period To": "Laikotarpis iki",
|
||||
"Period Type": "Laikotarpio tipas",
|
||||
"Amount Range From": "Sumos diapazonas nuo",
|
||||
"Amount Range To": "Sumos diapazonas Iki",
|
||||
"Amount Range To": "Sumos diapazonas Iki",
|
||||
"Person": "Asmuo",
|
||||
"Phone Number": "Telefono numeris",
|
||||
"Place Guarantee Funds On-Hold": "Vietos garantijos lėšos yra sulaikytos",
|
||||
@@ -2482,7 +2483,9 @@
|
||||
"Are you sure you want to Approve Loan": "Ar tikrai norite patvirtinti paskolą?",
|
||||
"Are you sure you want to Disburse Loan": "Ar tikrai norite išmokėti paskolą?",
|
||||
"Are you sure you want to": "Ar tikrai norite",
|
||||
"the Reschedule Loan": "skolos tvarkaraštį iš naujo"
|
||||
"the productmix component with id": "Productmix komponentas su id",
|
||||
"the Reschedule Loan": "skolos tvarkaraštį iš naujo",
|
||||
"the Transaction Type": "operacijos tipas"
|
||||
},
|
||||
"text": {
|
||||
"A": "A",
|
||||
@@ -2569,6 +2572,7 @@
|
||||
"Configurations page allows you to further customize": "Puslapyje Konfigūracijos galite toliau tinkinti, kaip jūsų organizacija naudoja „Mifos“ sistemą.",
|
||||
"Configure Maker Checker Tasks": "Konfigūruokite Maker Checker užduotis",
|
||||
"Copy": "Kopijuoti",
|
||||
"Create": "Sukurti",
|
||||
"Copy Account Number": "Nukopijuokite sąskaitos numerį",
|
||||
"Create Account Number Preference": "Sukurkite paskyros numerio nuostatą",
|
||||
"Create Accounting Closure": "Sukurti apskaitos uždarymą",
|
||||
@@ -2654,6 +2658,8 @@
|
||||
"Define what currencies interactions within the Mifos X system": "Šioje skiltyje organizacija gali apibrėžti, kokios valiutos bus naudojamos sąveikaujant Mifos X sistemoje.",
|
||||
"Defines rules for taking multiple rules": "Apibrėžia kelių taisyklių priėmimo taisykles",
|
||||
"Delete clients signature": "Ar tikrai norite ištrinti šį kliento parašą?",
|
||||
"Delinquency Buckets": "Nusikaltimų kaušeliai",
|
||||
"Delinquency Ranges": "Nusikaltimų diapazonai",
|
||||
"Documents": "Dokumentai",
|
||||
"Dropdown self service user administrative portal": "Išskleidžiamasis meniu suteikia prieigą prie savitarnos vartotojo administravimo portalo, programos konfigūracijos ir užduočių valdymo.",
|
||||
"Dropdown system reports": "Išskleidžiamasis meniu suteikia prieigą prie visų tipų sistemos ataskaitų, įskaitant numatytąsias ataskaitas, kurias teikia Migos, ir sistemos ataskaitas, kurias parengs organizacija.",
|
||||
@@ -2935,6 +2941,7 @@
|
||||
"The report request": "Ataskaitos užklausa išsiųsta ir ataskaita bus eksportuota į failų saugyklą",
|
||||
"The usage of stronger passwords": "Apibrėžkite stipresnių slaptažodžių naudojimo standartus",
|
||||
"These are predefined postings": "Tai yra iš anksto nustatyti skelbimai",
|
||||
"this": "tai",
|
||||
"This allows you to manage funds associated with loans.": "Tai leidžia valdyti su paskolomis susijusias lėšas.",
|
||||
"This option allows you to create new loan product.": "Ši parinktis leidžia sukurti naują paskolos produktą.",
|
||||
"This option allows you to create new recurring product.": "Ši parinktis leidžia sukurti naują pasikartojantį produktą.",
|
||||
|
||||
@@ -1502,6 +1502,7 @@
|
||||
"Fixed EMI amount": "Fiksēta EMI summa",
|
||||
"Fixed Length": "Fiksēts garums",
|
||||
"Principal Percentage Per Installment": "Fiksēta pamatprocenti par iemaksu",
|
||||
"floating rate period with from date as": "mainīgās likmes periods ar no datuma as",
|
||||
"Floating Interest Rate": "Peldošā procentu likme",
|
||||
"Floating Interest Rate Calculation Allowed": "Atļauts mainīgās procentu likmes aprēķināšana",
|
||||
"Floating Interest Rates": "Peldošās procentu likmes",
|
||||
@@ -1935,7 +1936,7 @@
|
||||
"Period To": "Periods līdz",
|
||||
"Period Type": "Perioda veids",
|
||||
"Amount Range From": "Summa diapazons no",
|
||||
"Amount Range To": "Summa diapazons Līdz",
|
||||
"Amount Range To": "Summa diapazons Līdz",
|
||||
"Person": "Persona",
|
||||
"Phone Number": "Telefona numurs",
|
||||
"Place Guarantee Funds On-Hold": "Vietas garantijas fondu aizturēšana",
|
||||
@@ -2482,7 +2483,9 @@
|
||||
"Are you sure you want to Approve Loan": "Vai tiešām vēlaties apstiprināt aizdevumu?",
|
||||
"Are you sure you want to Disburse Loan": "Vai tiešām vēlaties izsniegt aizdevumu?",
|
||||
"Are you sure you want to": "Vai tiešām vēlaties",
|
||||
"the Reschedule Loan": "aizdevuma pārkārtošanu"
|
||||
"the productmix component with id": "Productmix komponents ar id",
|
||||
"the Reschedule Loan": "aizdevuma pārkārtošanu",
|
||||
"the Transaction Type": "Darījuma veids"
|
||||
},
|
||||
"text": {
|
||||
"A": "A",
|
||||
@@ -2569,6 +2572,7 @@
|
||||
"Configurations page allows you to further customize": "Lapa Konfigurācijas ļauj vēl vairāk pielāgot veidu, kā jūsu organizācija izmanto Mifos sistēmu.",
|
||||
"Configure Maker Checker Tasks": "Konfigurējiet Maker Checker uzdevumus",
|
||||
"Copy": "Kopēt",
|
||||
"Create": "Izveidot",
|
||||
"Copy Account Number": "Kopējiet konta numuru",
|
||||
"Create Account Number Preference": "Izveidojiet konta numura preferenci",
|
||||
"Create Accounting Closure": "Izveidojiet grāmatvedības slēgšanu",
|
||||
@@ -2654,6 +2658,8 @@
|
||||
"Define what currencies interactions within the Mifos X system": "Šī sadaļa ļauj organizācijai definēt, kuras valūtas tiks izmantotas to mijiedarbībā Mifos X sistēmā.",
|
||||
"Defines rules for taking multiple rules": "Definē noteikumus vairāku noteikumu pieņemšanai",
|
||||
"Delete clients signature": "Vai tiešām vēlaties dzēst šo klienta parakstu?",
|
||||
"Delinquency Buckets": "Noziedzības spaiņi",
|
||||
"Delinquency Ranges": "Noziedzības diapazoni",
|
||||
"Documents": "Dokumenti",
|
||||
"Dropdown self service user administrative portal": "Nolaižamā izvēlne nodrošina piekļuvi pašapkalpošanās lietotāju administratīvajam portālam, lietotņu konfigurācijai un uzdevumu pārvaldībai.",
|
||||
"Dropdown system reports": "Nolaižamā izvēlne nodrošina piekļuvi visu veidu sistēmas pārskatiem, tostarp noklusējuma ziņojumiem, ko nodrošina Migos, un sistēmas pārskatiem, kurus izstrādās organizācija.",
|
||||
@@ -2935,6 +2941,7 @@
|
||||
"The report request": "Pārskata pieprasījums ir nosūtīts, un pārskats tiks eksportēts uz failu krātuvi",
|
||||
"The usage of stronger passwords": "Definējiet standartus spēcīgāku paroļu izmantošanai",
|
||||
"These are predefined postings": "Tie ir iepriekš noteikti ziņojumi",
|
||||
"this": "šis",
|
||||
"This allows you to manage funds associated with loans.": "Tas ļauj pārvaldīt ar aizdevumiem saistītos līdzekļus.",
|
||||
"This option allows you to create new loan product.": "Šī opcija ļauj izveidot jaunu aizdevuma produktu.",
|
||||
"This option allows you to create new recurring product.": "Šī opcija ļauj izveidot jaunu periodisku produktu.",
|
||||
|
||||
@@ -1502,6 +1502,7 @@
|
||||
"Fixed EMI amount": "निश्चित EMI रकम",
|
||||
"Fixed Length": "निश्चित लम्बाई",
|
||||
"Principal Percentage Per Installment": "निश्चित प्रिन्सिपल प्रतिशत प्रति किस्ता",
|
||||
"floating rate period with from date as": "मिति देखि फ्लोटिंग दर अवधि",
|
||||
"Floating Interest Rate": "फ्लोटिंग ब्याज दर",
|
||||
"Floating Interest Rate Calculation Allowed": "फ्लोटिंग ब्याज दर गणना अनुमति छ",
|
||||
"Floating Interest Rates": "फ्लोटिंग ब्याज दर",
|
||||
@@ -1763,7 +1764,7 @@
|
||||
"Maximum Tranche count": "अधिकतम किस्ता गणना",
|
||||
"Maximum Value": "अधिकतम मान",
|
||||
"Maximum allowed outstanding balance": "अधिकतम अनुमत बकाया ब्यालेन्स",
|
||||
"Maximum gap between Installments": "किस्ताहरू बीचको अधिकतम अन्तर",
|
||||
"Maximum gap between Installments": "किस्ताहरू बीचको अधिकतम अन्तर",
|
||||
"Maximum number of days a loan may be overdue before becoming a NPA (non performing asset)": "एनपीए (नन परफर्मिङ एसेट) बन्नु अघि ऋण तिर्न सक्ने अधिकतम दिनहरू",
|
||||
"Meeting Date": "बैठक मिति",
|
||||
"Meeting Frequency": "बैठक आवृत्ति",
|
||||
@@ -1935,7 +1936,7 @@
|
||||
"Period To": "को अवधि",
|
||||
"Period Type": "अवधि प्रकार",
|
||||
"Amount Range From": "बाट रकम दायरा",
|
||||
"Amount Range To": "रकम दायरा",
|
||||
"Amount Range To": "रकम दायरा",
|
||||
"Person": "व्यक्ति",
|
||||
"Phone Number": "फोन नम्बर",
|
||||
"Place Guarantee Funds On-Hold": "ग्यारेन्टी कोष अन-होल्ड राख्नुहोस्",
|
||||
@@ -2482,7 +2483,9 @@
|
||||
"Are you sure you want to Approve Loan": "के तपाईं निश्चित हुनुहुन्छ कि तपाईं कर्जा पुष्टि गर्न चाहनुहुन्छ?",
|
||||
"Are you sure you want to Disburse Loan": "के तपाईं निश्चित हुनुहुन्छ कि तपाईं कर्जा वितरण गर्न चाहनुहुन्छ?",
|
||||
"Are you sure you want to": "के तपाईं निश्चित हुनुहुन्छ कि तपाईं",
|
||||
"the Reschedule Loan": "कर्जा पुनर्योजना"
|
||||
"the productmix component with id": "आईडीको साथ उत्पादन मिश्रण घटक",
|
||||
"the Reschedule Loan": "कर्जा पुनर्योजना",
|
||||
"the Transaction Type": "लेनदेन प्रकार"
|
||||
},
|
||||
"text": {
|
||||
"A": "ए",
|
||||
@@ -2569,6 +2572,7 @@
|
||||
"Configurations page allows you to further customize": "कन्फिगरेसन पृष्ठले तपाइँलाई तपाइँको संगठनले Mifos प्रणाली प्रयोग गर्ने तरिकालाई थप अनुकूलन गर्न अनुमति दिन्छ।",
|
||||
"Configure Maker Checker Tasks": "मेकर जाँचकर्ता कार्यहरू कन्फिगर गर्नुहोस्",
|
||||
"Copy": "कापी",
|
||||
"Create": "सिर्जना गर्नुहोस्",
|
||||
"Copy Account Number": "खाता नम्बर प्रतिलिपि गर्नुहोस्",
|
||||
"Create Account Number Preference": "खाता नम्बर प्राथमिकता सिर्जना गर्नुहोस्",
|
||||
"Create Accounting Closure": "लेखा बन्द सिर्जना गर्नुहोस्",
|
||||
@@ -2654,6 +2658,8 @@
|
||||
"Define what currencies interactions within the Mifos X system": "यो खण्डले संगठनलाई Mifos X प्रणाली भित्रको अन्तरक्रियामा कुन मुद्राहरू प्रयोग गरिनेछ भनेर परिभाषित गर्न अनुमति दिन्छ।",
|
||||
"Defines rules for taking multiple rules": "धेरै नियमहरू लिने नियमहरू परिभाषित गर्दछ",
|
||||
"Delete clients signature": "के तपाइँ निश्चित हुनुहुन्छ कि तपाइँ यो ग्राहकको हस्ताक्षर मेटाउन चाहनुहुन्छ",
|
||||
"Delinquency Buckets": "अपराधी बाल्टीहरू",
|
||||
"Delinquency Ranges": "अपराध दायराहरू",
|
||||
"Documents": "कागजातहरू",
|
||||
"Dropdown self service user administrative portal": "ड्रपडाउनले स्वयं सेवा प्रयोगकर्ता प्रशासनिक पोर्टल, एप कन्फिगरेसन र कार्य व्यवस्थापनमा पहुँच प्रदान गर्दछ।",
|
||||
"Dropdown system reports": "ड्रपडाउनले Migos द्वारा प्रदान गरिएका पूर्वनिर्धारित रिपोर्टहरू र संस्थाद्वारा विकास गरिने प्रणाली रिपोर्टहरू सहित सबै प्रकारका प्रणाली रिपोर्टहरूमा पहुँच प्रदान गर्दछ।",
|
||||
@@ -2935,6 +2941,7 @@
|
||||
"The report request": "रिपोर्ट अनुरोध पठाइएको छ र रिपोर्ट फाइल भण्डारमा निर्यात गरिनेछ",
|
||||
"The usage of stronger passwords": "बलियो पासवर्डहरूको प्रयोग लागू गर्न मापदण्डहरू परिभाषित गर्नुहोस्",
|
||||
"These are predefined postings": "यी पूर्वनिर्धारित पोस्टहरू हुन्",
|
||||
"this": "यो",
|
||||
"This allows you to manage funds associated with loans.": "यसले तपाईंलाई ऋणसँग सम्बन्धित कोषहरू व्यवस्थापन गर्न अनुमति दिन्छ।",
|
||||
"This option allows you to create new loan product.": "यो विकल्पले तपाईंलाई नयाँ ऋण उत्पादन सिर्जना गर्न अनुमति दिन्छ।",
|
||||
"This option allows you to create new recurring product.": "यो विकल्पले तपाईंलाई नयाँ पुनरावर्ती उत्पादन सिर्जना गर्न अनुमति दिन्छ।",
|
||||
|
||||
@@ -1502,6 +1502,7 @@
|
||||
"Fixed EMI amount": "Valor fixo de EMI",
|
||||
"Fixed Length": "Comprimento fixo",
|
||||
"Principal Percentage Per Installment": "Porcentagem principal fixa por parcela",
|
||||
"floating rate period with from date as": "período de taxa flutuante com data a partir de",
|
||||
"Floating Interest Rate": "Taxa de juros flutuante",
|
||||
"Floating Interest Rate Calculation Allowed": "Cálculo de taxa de juros flutuante permitido",
|
||||
"Floating Interest Rates": "Taxas de juros flutuantes",
|
||||
@@ -1935,7 +1936,7 @@
|
||||
"Period To": "Período até",
|
||||
"Period Type": "Tipo de período",
|
||||
"Amount Range From": "Faixa de valor de",
|
||||
"Amount Range To": "Faixa de valor até",
|
||||
"Amount Range To": "Faixa de valor até",
|
||||
"Person": "Pessoa",
|
||||
"Phone Number": "Número de telefone",
|
||||
"Place Guarantee Funds On-Hold": "Colocar fundos de garantia em espera",
|
||||
@@ -2482,7 +2483,9 @@
|
||||
"Are you sure you want to Approve Loan": "Tem a certeza que deseja aprovar o empréstimo",
|
||||
"Are you sure you want to Disburse Loan": "Tem a certeza que deseja desembolsar o empréstimo",
|
||||
"Are you sure you want to": "Tem a certeza que deseja",
|
||||
"the Reschedule Loan": "o Empréstimo Reagendado"
|
||||
"the productmix component with id": "o componente productmix com id",
|
||||
"the Reschedule Loan": "o Empréstimo Reagendado",
|
||||
"the Transaction Type": "o tipo de transação"
|
||||
},
|
||||
"text": {
|
||||
"A": "A",
|
||||
@@ -2569,6 +2572,7 @@
|
||||
"Configurations page allows you to further customize": "A página Configurações permite personalizar ainda mais a forma como sua organização usa o sistema Mifos.",
|
||||
"Configure Maker Checker Tasks": "Configurar tarefas do Maker Checker",
|
||||
"Copy": "Cópia de",
|
||||
"Create": "Criar",
|
||||
"Copy Account Number": "Copiar número da conta",
|
||||
"Create Account Number Preference": "Criar preferência de número de conta",
|
||||
"Create Accounting Closure": "Criar encerramento contábil",
|
||||
@@ -2654,6 +2658,8 @@
|
||||
"Define what currencies interactions within the Mifos X system": "Esta seção permite que uma organização defina quais moedas serão usadas em suas interações dentro do sistema Mifos X.",
|
||||
"Defines rules for taking multiple rules": "Define regras para adotar múltiplas regras",
|
||||
"Delete clients signature": "Tem certeza de que deseja excluir a assinatura deste cliente",
|
||||
"Delinquency Buckets": "Baldes de inadimplência",
|
||||
"Delinquency Ranges": "Faixas de inadimplência",
|
||||
"Documents": "Documentos",
|
||||
"Dropdown self service user administrative portal": "O menu suspenso fornece acesso ao portal administrativo do usuário de autoatendimento, configuração de aplicativos e gerenciamento de tarefas.",
|
||||
"Dropdown system reports": "O menu suspenso fornece acesso a todos os tipos de relatórios do sistema, incluindo os relatórios padrão fornecidos pelo Migos e os relatórios do sistema que serão desenvolvidos pela organização.",
|
||||
@@ -2935,6 +2941,7 @@
|
||||
"The report request": "A solicitação de relatório foi enviada e o relatório será exportado para o repositório de arquivos",
|
||||
"The usage of stronger passwords": "Defina padrões para impor o uso de senhas mais fortes",
|
||||
"These are predefined postings": "Estas são postagens predefinidas",
|
||||
"this": "esse",
|
||||
"This allows you to manage funds associated with loans.": "Isso permite que você gerencie fundos associados a empréstimos.",
|
||||
"This option allows you to create new loan product.": "Esta opção permite criar um novo produto de empréstimo.",
|
||||
"This option allows you to create new recurring product.": "Esta opção permite criar novos produtos recorrentes.",
|
||||
|
||||
@@ -1502,6 +1502,7 @@
|
||||
"Fixed EMI amount": "Kiasi cha EMI kisichobadilika",
|
||||
"Fixed Length": "Urefu uliowekwa",
|
||||
"Principal Percentage Per Installment": "Asilimia Kuu Iliyowekwa Kwa Kila Awamu",
|
||||
"floating rate period with from date as": "kipindi cha kiwango cha kuelea kuanzia tarehe kama",
|
||||
"Floating Interest Rate": "Kiwango cha Riba kinachoelea",
|
||||
"Floating Interest Rate Calculation Allowed": "Ukokotoaji wa Kiwango cha Riba Unaoelea Unaruhusiwa",
|
||||
"Floating Interest Rates": "Viwango vya Riba vinavyoelea",
|
||||
@@ -1932,9 +1933,9 @@
|
||||
"Percentage to Base": "Asilimia kwa Msingi",
|
||||
"Period": "Kipindi",
|
||||
"Period From": "Kipindi Kutoka",
|
||||
"Period To": "Kipindi Kwa",
|
||||
"Period Type": "Aina ya Kipindi",
|
||||
"Amount Range From": "Kiwango cha kuanzia",
|
||||
"Period To": "Kipindi Kwa",
|
||||
"Period Type": "Aina ya Kipindi",
|
||||
"Amount Range From": "Kiwango cha kuanzia",
|
||||
"Amount Range To": "Kiasi cha Masafa Kwa",
|
||||
"Person": "Mtu",
|
||||
"Phone Number": "Nambari ya simu",
|
||||
@@ -2482,7 +2483,9 @@
|
||||
"Are you sure you want to Approve Loan": "Je, una uhakika unataka kuidhinisha mkopo",
|
||||
"Are you sure you want to Disburse Loan": "Je, una uhakika unataka kutoa mkopo",
|
||||
"Are you sure you want to": "Je, una uhakika unataka",
|
||||
"the Reschedule Loan": "kupanga upya mkopo"
|
||||
"the productmix component with id": "sehemu ya mchanganyiko wa bidhaa na kitambulisho",
|
||||
"the Reschedule Loan": "kupanga upya mkopo",
|
||||
"the Transaction Type": "Aina ya Muamala"
|
||||
},
|
||||
"text": {
|
||||
"A": "A",
|
||||
@@ -2569,6 +2572,7 @@
|
||||
"Configurations page allows you to further customize": "Ukurasa wa Mipangilio hukuruhusu kubinafsisha zaidi jinsi shirika lako linavyotumia mfumo wa Mifos.",
|
||||
"Configure Maker Checker Tasks": "Sanidi Majukumu ya Kikagua Kitengeneza",
|
||||
"Copy": "Nakili",
|
||||
"Create": "Unda",
|
||||
"Copy Account Number": "Nakili Nambari ya Akaunti",
|
||||
"Create Account Number Preference": "Unda Upendeleo wa Nambari ya Akaunti",
|
||||
"Create Accounting Closure": "Unda Kufungwa kwa Uhasibu",
|
||||
@@ -2654,6 +2658,8 @@
|
||||
"Define what currencies interactions within the Mifos X system": "Sehemu hii inaruhusu shirika kufafanua ni sarafu gani zitatumika katika mwingiliano wao ndani ya mfumo wa Mifos X.",
|
||||
"Defines rules for taking multiple rules": "Inafafanua sheria za kuchukua sheria nyingi",
|
||||
"Delete clients signature": "Je, una uhakika unataka kufuta sahihi hii ya mteja",
|
||||
"Delinquency Buckets": "Ndoo za Uhalifu",
|
||||
"Delinquency Ranges": "Safu za Uhalifu",
|
||||
"Documents": "Nyaraka",
|
||||
"Dropdown self service user administrative portal": "Kunjuzi hutoa ufikiaji wa tovuti ya usimamizi ya mtumiaji wa huduma binafsi, usanidi wa programu na udhibiti wa kazi.",
|
||||
"Dropdown system reports": "Kunjuzi hutoa ufikiaji wa aina zote za ripoti za mfumo ikiwa ni pamoja na ripoti chaguomsingi zinazotolewa na Migos na ripoti za mfumo zitakazoundwa na shirika.",
|
||||
@@ -2935,6 +2941,7 @@
|
||||
"The report request": "Ombi la ripoti limetumwa na ripoti itasafirishwa hadi kwenye hazina ya faili",
|
||||
"The usage of stronger passwords": "Bainisha viwango vya kutekeleza utumiaji wa manenosiri yenye nguvu zaidi",
|
||||
"These are predefined postings": "Haya ni machapisho yaliyofafanuliwa awali",
|
||||
"this": "hii",
|
||||
"This allows you to manage funds associated with loans.": "Hii inakuwezesha kudhibiti fedha zinazohusiana na mikopo.",
|
||||
"This option allows you to create new loan product.": "Chaguo hili hukuruhusu kuunda bidhaa mpya ya mkopo.",
|
||||
"This option allows you to create new recurring product.": "Chaguo hili hukuruhusu kuunda bidhaa mpya ya mara kwa mara.",
|
||||
|
||||
Reference in New Issue
Block a user