Account transfer module translation (#1778)

* Added Tooltips to Create Recurring Deposit screens

* recommended changes

* Added French languaguge support to user interface

* feat: Account-transfers module translation script

* feat: Updates regarding account transfer
This commit is contained in:
RADHA THAKARE
2023-09-15 13:55:12 -06:00
committed by GitHub
parent c8703adbc1
commit f997f39094
18 changed files with 344 additions and 262 deletions
@@ -9,202 +9,202 @@
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
<mat-form-field fxFlex="48%">
<mat-label>Name</mat-label>
<mat-label>{{ "labels.inputs.name" | translate}}</mat-label>
<input matInput required formControlName="name">
<mat-error *ngIf="createStandingInstructionsForm.controls.name.hasError('required')">
Name is <strong>required</strong>
{{ "labels.inputs.name" | translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.inputs.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Applicant</mat-label>
<mat-label>{{"labels.inputs.Applicant" | translate}}</mat-label>
<input matInput formControlName="applicant">
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Type</mat-label>
<mat-label>{{ "labels.inputs.Type" | translate}}</mat-label>
<mat-select required formControlName="transferType" (selectionChange)="changeEvent()">
<mat-option *ngFor="let transferType of transferTypeData" [value]="transferType.id">
{{ transferType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.transferType.hasError('required')">
Transfer Type is <strong>required</strong>
{{ "labels.inputs.Transfer Type" | translate}} {{"labels.commons.is" |translate}} <strong>{{ "labels.inputs.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Priority</mat-label>
<mat-label>{{ "labels.inputs.Priority"| translate}}</mat-label>
<mat-select required formControlName="priority">
<mat-option *ngFor="let priorityType of priorityTypeData" [value]="priorityType.id">
{{ priorityType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.priority.hasError('required')">
Priority is <strong>required</strong>
{{ "labels.inputs.Priority"| translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Status</mat-label>
<mat-label>{{ "labels.inputs.Status" | translate}}</mat-label>
<mat-select required formControlName="status">
<mat-option *ngFor="let statusType of statusTypeData" [value]="statusType.id">
{{ statusType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.status.hasError('required')">
Status is <strong>required</strong>
{{ "labels.inputs.Status" | translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>From Account Type</mat-label>
<mat-label>{{"labels.inputs.From Account Type"| translate}}</mat-label>
<mat-select required formControlName="fromAccountType" (selectionChange)="changeEvent()">
<mat-option *ngFor="let fromAccountType of fromAccountTypeData" [value]="fromAccountType.id">
{{ fromAccountType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.fromAccountType.hasError('required')">
From Account Type is <strong>required</strong>
{{"labels.inputs.From Account Type"| translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>From Account</mat-label>
<mat-label>{{"labels.inputs.From Account" | translate}}</mat-label>
<mat-select required formControlName="fromAccountId" (selectionChange)="changeEvent()">
<mat-option *ngFor="let fromAccount of fromAccountData" [value]="fromAccount.id">
{{ fromAccount.productName }} - {{ fromAccount.accountNo }}
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.fromAccountId.hasError('required')">
From Account is <strong>required</strong>
{{"labels.inputs.From Account" | translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Destination</mat-label>
<mat-label>{{"labels.inputs.Destination"| translate}}</mat-label>
<mat-select required formControlName="destination">
<mat-option *ngFor="let destinationType of destinationTypeData" [value]="destinationType.id">
{{ destinationType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.destination.hasError('required')">
Destination is <strong>required</strong>
{{"labels.inputs.Destination"| translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>To Office</mat-label>
<mat-label>{{"labels.inputs.To Office"| translate}}</mat-label>
<mat-select required formControlName="toOfficeId" (selectionChange)="changeEvent()">
<mat-option *ngFor="let toOfficeType of toOfficeTypeData" [value]="toOfficeType.id">
{{ toOfficeType.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.toOfficeId.hasError('required')">
To Office is <strong>required</strong>
{{"labels.inputs.To Office"| translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Beneficiary</mat-label>
<mat-label>{{ "labels.inputs.Beneficiary"| translate}}</mat-label>
<mat-select required formControlName="toClientId" (selectionChange)="changeEvent()">
<mat-option *ngFor="let toClientType of toClientTypeData" [value]="toClientType.id">
{{ toClientType.displayName }}
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.toClientId.hasError('required')">
Beneficiary is <strong>required</strong>
{{ "labels.inputs.Beneficiary"| translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>To Account Type</mat-label>
<mat-label>{{"labels.inputs.To Account Type" | translate}}</mat-label>
<mat-select required formControlName="toAccountType" (selectionChange)="changeEvent()">
<mat-option *ngFor="let toAccountType of toAccountTypeData" [value]="toAccountType.id">
{{ toAccountType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.toAccountType.hasError('required')">
To Account Type is <strong>required</strong>
{{"labels.inputs.To Account Type" | translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>To Account</mat-label>
<mat-label>{{"labels.inputs.To Account" | translate}}</mat-label>
<mat-select required formControlName="toAccountId" (selectionChange)="changeEvent()">
<mat-option *ngFor="let toAccount of toAccountData" [value]="toAccount.id">
{{ toAccount.productName }} - {{ toAccount.accountNo }}
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.toAccountId.hasError('required')">
To Account is <strong>required</strong>
{{"labels.inputs.To Account" | translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Standing Instruction Type</mat-label>
<mat-label>{{ "labels.inputs.Standing Instruction Type" | translate}}</mat-label>
<mat-select formControlName="instructionType">
<mat-option *ngFor="let instructionsType of instructionTypeData" [value]="instructionsType.id">
{{ instructionsType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.instructionType.hasError('required')">
Standing Instruction Type is <strong>required</strong>
{{ "labels.inputs.Standing Instruction Type" | translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Amount</mat-label>
<mat-label>{{"labels.inputs.Amount" | translate}}</mat-label>
<input type="number" matInput required formControlName="amount">
<mat-error *ngIf="createStandingInstructionsForm.controls.amount.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>
<mat-form-field fxFlex="48%" (click)="validFromDatePicker.open()">
<mat-label>Validity From</mat-label>
<mat-label>{{"labels.inputs.Validity from" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="validFromDatePicker" required
formControlName="validFrom">
<mat-datepicker-toggle matSuffix [for]="validFromDatePicker"></mat-datepicker-toggle>
<mat-datepicker #validFromDatePicker></mat-datepicker>
<mat-error *ngIf="createStandingInstructionsForm.controls.validFrom.hasError('required')">
Valid From Date is <strong>required</strong>
{{"labels.inputs.Valid From Date" | translate }} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%" (click)="validTillDatePicker.open()">
<mat-label>Validity To</mat-label>
<mat-label>{{"labels.inputs.Validity To" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="validTillDatePicker" required
formControlName="validTill">
<mat-datepicker-toggle matSuffix [for]="validTillDatePicker"></mat-datepicker-toggle>
<mat-datepicker #validTillDatePicker></mat-datepicker>
<mat-error *ngIf="createStandingInstructionsForm.controls.validTill.hasError('required')">
Valid Till Date is <strong>required</strong>
{{ "labels.inputs.Valid Till Date" | translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Recurrence Type</mat-label>
<mat-label>{{"labels.inputs.Recurrence Type" | translate}}</mat-label>
<mat-select required formControlName="recurrenceType">
<mat-option *ngFor="let recurrenceType of recurrenceTypeData" [value]="recurrenceType.id">
{{ recurrenceType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.recurrenceType.hasError('required')">
Recurrence Type is <strong>required</strong>
{{"labels.inputs.Recurrence Type" | translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Interval</mat-label>
<mat-label>{{"labels.inputs.Interval" | translate}}</mat-label>
<input type="number" matInput required formControlName="recurrenceInterval">
<mat-error *ngIf="createStandingInstructionsForm.controls.recurrenceInterval.hasError('required')">
Recurrence Interval is <strong>required</strong>
{{"labels.inputs.Recurrence Interval" | translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Recurrence Frequency</mat-label>
<mat-label>{{"labels.inputs.Recurrence Frequency" | translate}}</mat-label>
<mat-select required formControlName="recurrenceFrequency">
<mat-option *ngFor="let recurrenceFrequencyType of recurrenceFrequencyTypeData"
[value]="recurrenceFrequencyType.id">
@@ -212,18 +212,18 @@
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.recurrenceFrequency.hasError('required')">
Recurrence Frequency is <strong>required</strong>
{{"labels.inputs.Recurrence Frequency" | translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%" (click)="recurrenceOnMonthDayDatePicker.open()">
<mat-label>On Month Day</mat-label>
<mat-label>{{"labels.inputs.On Month Day" | translate}}</mat-label>
<input required matInput [min]="minDate" [max]="maxDate" [matDatepicker]="recurrenceOnMonthDayDatePicker"
formControlName="recurrenceOnMonthDay">
<mat-datepicker-toggle matSuffix [for]="recurrenceOnMonthDayDatePicker"></mat-datepicker-toggle>
<mat-datepicker #recurrenceOnMonthDayDatePicker></mat-datepicker>
<mat-error *ngIf="createStandingInstructionsForm.controls.recurrenceOnMonthDay.hasError('required')">
On Month Day is <strong>required</strong>
{{"labels.inputs.On Month Day" | translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -232,9 +232,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 color="primary" [disabled]="!createStandingInstructionsForm.valid" *mifosxHasPermission="'CREATE_STANDINGINSTRUCTION'"
(click)="submit()">Submit</button>
(click)="submit()">{{"labels.buttons.Submit | translate}}</button>
</mat-card-actions>
</form>
@@ -9,81 +9,81 @@
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
<mat-form-field fxFlex="48%">
<mat-label>Name</mat-label>
<mat-label>{{ "labels.inputs.name" | translate}}</mat-label>
<input matInput formControlName="name">
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Applicant</mat-label>
<mat-label>{{"labels.inputs.Applicant" | translate}}</mat-label>
<input matInput formControlName="applicant">
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Type</mat-label>
<mat-label>{{ "labels.inputs.Type" | translate}}</mat-label>
<input matInput formControlName="type">
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>From Account Type</mat-label>
<mat-label>{{"labels.inputs.From Account Type"| translate}}</mat-label>
<input matInput formControlName="fromAccountType">
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Priority</mat-label>
<mat-label>{{ "labels.inputs.Priority"| translate}}</mat-label>
<mat-select required formControlName="priority">
<mat-option *ngFor="let priorityType of priorityTypeData" [value]="priorityType.id">
{{ priorityType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="editStandingInstructionsForm.controls.priority.hasError('required')">
Priority is <strong>required</strong>
{{ "labels.inputs.Priority"| translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Status</mat-label>
<mat-label>{{ "labels.inputs.Status" | translate}}</mat-label>
<mat-select required formControlName="status">
<mat-option *ngFor="let statusType of statusTypeData" [value]="statusType.id">
{{ statusType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="editStandingInstructionsForm.controls.status.hasError('required')">
Status is <strong>required</strong>
{{ "labels.inputs.Status" | translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>From Account</mat-label>
<mat-label>{{"labels.inputs.From Account" | translate}}</mat-label>
<input matInput formControlName="fromAccount">
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Destination</mat-label>
<mat-label>{{"labels.inputs.Destination"| translate}}</mat-label>
<input matInput formControlName="destination">
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>To Office</mat-label>
<mat-label>{{"labels.inputs.To Office"| translate}}</mat-label>
<input matInput formControlName="toOffice">
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Beneficiary</mat-label>
<mat-label>{{ "labels.inputs.Beneficiary"| translate}}</mat-label>
<input matInput formControlName="toClientId">
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>To Account Type</mat-label>
<mat-label>{{"labels.inputs.To Account Type" | translate}}</mat-label>
<input matInput formControlName="toAccountType">
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>To Account</mat-label>
<mat-label>{{"labels.inputs.To Account" | translate}}</mat-label>
<input matInput formControlName="toAccount">
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Standing Instruction Type</mat-label>
<mat-label>{{ "labels.inputs.Standing Instruction Type" | translate}}</mat-label>
<mat-select formControlName="instructionType">
<mat-option *ngFor="let instructionsType of instructionTypeData"
[value]="instructionsType.id">
@@ -93,51 +93,51 @@
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Amount</mat-label>
<mat-label>{{"labels.inputs.Amount" | translate}}</mat-label>
<input matInput formControlName="amount">
</mat-form-field>
<mat-form-field fxFlex="48%" (click)="validFromDatePicker.open()">
<mat-label>Validity From</mat-label>
<mat-label>{{"labels.inputs.Validity from" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="validFromDatePicker" required
formControlName="validFrom">
<mat-datepicker-toggle matSuffix [for]="validFromDatePicker"></mat-datepicker-toggle>
<mat-datepicker #validFromDatePicker></mat-datepicker>
<mat-error *ngIf="editStandingInstructionsForm.controls.validFrom.hasError('required')">
Valid From Date is <strong>required</strong>
{{"labels.inputs.Valid From Date" | translate }} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%" (click)="validTillDatePicker.open()">
<mat-label>Validity To</mat-label>
<mat-label>{{"labels.inputs.Validity To" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="validTillDatePicker" required
formControlName="validTill">
<mat-datepicker-toggle matSuffix [for]="validTillDatePicker"></mat-datepicker-toggle>
<mat-datepicker #validTillDatePicker></mat-datepicker>
<mat-error *ngIf="editStandingInstructionsForm.controls.validTill.hasError('required')">
Valid Till Date is <strong>required</strong>
{{ "labels.inputs.Valid Till Date" | translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Recurrence Type</mat-label>
<mat-label>{{"labels.inputs.Recurrence Type" | translate}}</mat-label>
<mat-select required formControlName="recurrenceType">
<mat-option *ngFor="let recurrenceType of recurrenceTypeData" [value]="recurrenceType.id">
{{ recurrenceType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="editStandingInstructionsForm.controls.recurrenceType.hasError('required')">
Recurrence Type is <strong>required</strong>
{{"labels.inputs.Recurrence Type" | translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Interval</mat-label>
<mat-label>{{"labels.inputs.Interval" | translate}}</mat-label>
<input matInput formControlName="recurrenceInterval">
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Recurrence Frequency</mat-label>
<mat-label>{{"labels.inputs.Recurrence Frequency" | translate}}</mat-label>
<mat-select formControlName="recurrenceFrequency">
<mat-option *ngFor="let recurrenceFrequencyType of recurrenceFrequencyTypeData"
[value]="recurrenceFrequencyType.id">
@@ -147,7 +147,7 @@
</mat-form-field>
<mat-form-field fxFlex="48%" (click)="recurrenceOnMonthDayDatePicker.open()">
<mat-label>On Month Day</mat-label>
<mat-label>{{"labels.inputs.On Month Day" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="recurrenceOnMonthDayDatePicker"
formControlName="recurrenceOnMonthDay">
<mat-datepicker-toggle matSuffix [for]="recurrenceOnMonthDayDatePicker"></mat-datepicker-toggle>
@@ -159,9 +159,9 @@
</mat-card-content>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../view']">Cancel</button>
<button type="button" mat-raised-button [routerLink]="['../view']">{{ "labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!editStandingInstructionsForm.valid"
(click)="submit()" *mifosxHasPermission="'UPDATE_STANDINGINSTRUCTION'">Submit</button>
(click)="submit()" *mifosxHasPermission="'UPDATE_STANDINGINSTRUCTION'">{{"labels.buttons.Submit | translate}}</button>
</mat-card-actions>
</form>
@@ -4,7 +4,7 @@
<div fxFlexFill *ngIf="isFromClient">
<span fxFlex="40%">
<h3 class="mat-h3">Client Name</h3>
<h3 class="mat-h3">{{ "labels.heading.Client Type" | translate}}</h3>
</span>
<span fxFlex="60%">
<h3 class="mat-h3">{{ clientName }}</h3>
@@ -23,7 +23,7 @@
<mat-divider [inset]="true"></mat-divider>
<mat-form-field fxFlex="30%">
<mat-label>Type</mat-label>
<mat-label>{{ "labels.inputs.Type" | translate}}</mat-label>
<mat-select [formControl]="transferType">
<mat-option *ngFor="let transferTypeData of transferTypeDatas" [value]="transferTypeData.id">
{{ transferTypeData.value }}
@@ -36,7 +36,7 @@
</mat-form-field>
<button mat-raised-button color="primary" *mifosxHasPermission="'READ_STANDINGINSTRUCTION'" (click)="filterStandingInstructions()" class="filter-button">
&nbsp;&nbsp;Filter
&nbsp;&nbsp;{{ "labels.buttons.filter" | translate}}
</button>
</div>
@@ -44,41 +44,41 @@
<table mat-table #instructionsTable [dataSource]="dataSource">
<ng-container matColumnDef="client">
<th mat-header-cell *matHeaderCellDef> Client </th>
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Client" | translate}} </th>
<td mat-cell *matCellDef="let instruction">{{instruction.fromClient.displayName}}-{{instruction.fromClient.id}}
</td>
</ng-container>
<ng-container matColumnDef="fromAccount">
<th mat-header-cell *matHeaderCellDef> From Account </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.From Account" | translate}} </th>
<td mat-cell *matCellDef="let instruction">{{instruction.fromAccount.accountNo}}
({{instruction.fromAccountType.value}})</td>
</ng-container>
<ng-container matColumnDef="beneficiary">
<th mat-header-cell *matHeaderCellDef> Beneficiary </th>
<th mat-header-cell *matHeaderCellDef>{{ "labels.inputs.Beneficiary"| translate}} </th>
<td mat-cell *matCellDef="let instruction">{{instruction.toClient.displayName}}</td>
</ng-container>
<ng-container matColumnDef="toAccount">
<th mat-header-cell *matHeaderCellDef> To Account </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.To Account" | translate}} </th>
<td mat-cell *matCellDef="let instruction">{{instruction.toAccount.accountNo}}
({{instruction.toAccountType.value}})</td>
</ng-container>
<ng-container matColumnDef="amount">
<th mat-header-cell *matHeaderCellDef> Amount </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Amount" | translate}} </th>
<td mat-cell *matCellDef="let instruction">{{instruction.instructionType.value}}/{{instruction.amount}}</td>
</ng-container>
<ng-container matColumnDef="validity">
<th mat-header-cell *matHeaderCellDef> Validity </th>
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Validity" | translate}} </th>
<td mat-cell *matCellDef="let instruction">{{instruction.validFrom | dateFormat}} to {{instruction.validTill | dateFormat}}
</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 instruction">
<span *ngIf="instruction.status.value!=='Deleted'">
<button class="account-action-button" mat-raised-button color="primary" matTooltip="Edit Standing Instruction"
@@ -7,7 +7,7 @@
<div fxLayout="row wrap" class="content">
<div fxFlex="25%" fxFlex.lt-md="50%" class="header">
From Account
{{"labels.inputs.From Account" | translate}}
</div>
<div fxFlex="25%" fxFlex.lt-md="50%">
@@ -15,7 +15,7 @@
</div>
<div fxFlex="25%" fxFlex.lt-md="50%" class="header">
To Account
{{"labels.inputs.To Account" | translate}}
</div>
<div fxFlex="25%" fxFlex.lt-md="50%">
@@ -23,7 +23,7 @@
</div>
<div fxFlex="25%" fxFlex.lt-md="50%" class="header">
Destination
{{"labels.inputs.Destination"| translate}}
</div>
<div fxFlex="25%" fxFlex.lt-md="50%">
@@ -43,23 +43,23 @@
<table mat-table [dataSource]="dataSource">
<ng-container matColumnDef="transactionDate">
<th mat-header-cell *matHeaderCellDef> Transaction Date </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Transaction Date | translate}} </th>
<td mat-cell *matCellDef="let transaction"> {{ transaction.transferDate | dateFormat }} </td>
</ng-container>
<ng-container matColumnDef="amount">
<th mat-header-cell *matHeaderCellDef> Amount </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Amount" | translate}} </th>
<td mat-cell *matCellDef="let transaction"> {{ transaction.transferAmount }} </td>
</ng-container>
<ng-container matColumnDef="notes">
<th mat-header-cell *matHeaderCellDef> Notes </th>
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Notes | translate}} </th>
<td mat-cell *matCellDef="let transaction"> {{ transaction.transferDescription }} </td>
</ng-container>
<ng-container matColumnDef="reversed">
<th mat-header-cell *matHeaderCellDef> Reversed </th>
<td mat-cell *matCellDef="let transaction"> {{ transaction.reversed ? 'Yes' : 'No' }} </td>
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Reversed"| translate}} </th>
<td mat-cell *matCellDef="let transaction"> {{ transaction.reversed ? 'Yes' : 'No'}}</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
@@ -6,39 +6,39 @@
<div fxLayout="row wrap" fxLayout.lt-md="column">
<h3 class="mat-h3" fxFlexFill>Transferring From Details</h3>
<h3 class="mat-h3" fxFlexFill>{{ "labels.heading.Transferring From Details" | translate}}</h3>
<mat-divider [inset]="true"></mat-divider>
<div fxFlexFill>
<span fxFlex="40%">Applicant</span>
<span fxFlex="40%">{{"labels.inputs.Applicant" | translate}}</span>
<span fxFlex="60%">{{ accountTransferTemplateData.fromClient.displayName }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">Office</span>
<span fxFlex="40%">{{ "labels.inputs.Office"| translate}}</span>
<span fxFlex="60%">{{ accountTransferTemplateData.fromOffice.name }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">From Account</span>
<span fxFlex="40%">{{"labels.inputs.From Account" | translate}}</span>
<span fxFlex="60%">{{ accountTransferTemplateData.fromAccount.productName}}&nbsp;-&nbsp;#{{
accountTransferTemplateData.fromAccount.accountNo }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">From Account Type</span>
<span fxFlex="40%">{{"labels.inputs.From Account Type"| translate}}</span>
<span fxFlex="60%">{{ accountTransferTemplateData.fromAccountType.value }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">Currency</span>
<span fxFlex="40%">{{ "labels.inputs.Currency" | translate }}</span>
<span fxFlex="60%">{{ accountTransferTemplateData.currency.name }}</span>
</div>
</div>
<h3 class="mat-h3" fxFlexFill>Transferring To</h3>
<h3 class="mat-h3" fxFlexFill>{{"labels.heading.Transferred To" | translate}}</h3>
<mat-divider [inset]="true"></mat-divider>
@@ -47,33 +47,33 @@
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
<mat-form-field fxFlex="98%" (click)="transferDatePicker.open()">
<mat-label>Transaction Date</mat-label>
<mat-label>{{"labels.inputs.Transaction Date"| translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="transferDatePicker" required
formControlName="transferDate">
<mat-datepicker-toggle matSuffix [for]="transferDatePicker"></mat-datepicker-toggle>
<mat-datepicker #transferDatePicker></mat-datepicker>
<mat-error *ngIf="makeAccountTransferForm.controls.transferDate.hasError('required')">
Transactions Date is <strong>required</strong>
{{"labels.inputs.Transaction Date"| translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="98%">
<mat-label>Office</mat-label>
<mat-label>{{ "labels.inputs.Office"| translate}}</mat-label>
<mat-select required formControlName="toOfficeId" (selectionChange)="changeEvent()">
<mat-option *ngFor="let toOfficeType of toOfficeTypeData" [value]="toOfficeType.id">
{{ toOfficeType.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="makeAccountTransferForm.controls.toOfficeId.hasError('required')">
Office is <strong>required</strong>
{{ "labels.inputs.Office"| translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="98%">
<mat-label>Client</mat-label>
<mat-label>{{ "labels.inputs.Client"| translate}}</mat-label>
<input matInput formControlName="toClientId" [matAutocomplete]="clientsAutocomplete">
<mat-error *ngIf="makeAccountTransferForm.controls.toClientId.hasError('required')">
Client is <strong>required</strong>
{{ "labels.inputs.Client" | translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -84,43 +84,43 @@
</mat-autocomplete>
<mat-form-field fxFlex="98%">
<mat-label>Account Type</mat-label>
<mat-label>{{ "labels.inputs.Account Type" | translate}}</mat-label>
<mat-select required formControlName="toAccountType" (selectionChange)="changeEvent()">
<mat-option *ngFor="let toAccountType of toAccountTypeData" [value]="toAccountType.id">
{{ toAccountType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="makeAccountTransferForm.controls.toAccountType.hasError('required')">
Account Type is <strong>required</strong>
{{ "labels.inputs.Account Type" | translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="98%">
<mat-label>Account</mat-label>
<mat-label>{{"labels.inputs.Account"| translate}}</mat-label>
<mat-select required formControlName="toAccountId" (selectionChange)="changeEvent()">
<mat-option *ngFor="let toAccount of toAccountData" [value]="toAccount.id">
{{ toAccount.productName }} - {{ toAccount.accountNo }}
</mat-option>
</mat-select>
<mat-error *ngIf="makeAccountTransferForm.controls.toAccountId.hasError('required')">
Account is <strong>required</strong>
{{"labels.inputs.Account"| translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="98%">
<mat-label>Amount</mat-label>
<mat-label>{{"labels.inputs.Amount" | translate}}</mat-label>
<input type="number" matInput required formControlName="transferAmount">
<mat-error *ngIf="makeAccountTransferForm.controls.transferAmount.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>
<mat-form-field fxFlex="98%">
<mat-label>Description</mat-label>
<mat-label>{{"labels.inputs.Destination"| translate}}</mat-label>
<textarea matInput formControlName="transferDescription" cdkTextareaAutosize
cdkAutosizeMinRows="2"></textarea>
<mat-error *ngIf="makeAccountTransferForm.controls.transferDescription.hasError('required')">
Transfer Description is <strong>required</strong>
{{"labels.inputs.Transfer Description" | translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -132,9 +132,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 color="primary" [disabled]="!makeAccountTransferForm.valid"
*mifosxHasPermission="'CREATE_ACCOUNTTRANSFER'" (click)="submit()">Submit</button>
*mifosxHasPermission="'CREATE_ACCOUNTTRANSFER'" (click)="submit()">{{"labels.buttons.Submit | translate}}</button>
</mat-card-actions>
</mat-card>
@@ -6,72 +6,72 @@
<div fxLayout="row wrap" fxLayout.lt-md="column">
<h3 class="mat-h3" fxFlexFill>Transaction Details</h3>
<h3 class="mat-h3" fxFlexFill>{{ "labels.heading.Transaction Details" | translate}}</h3>
<mat-divider [inset]="true"></mat-divider>
<div fxFlexFill>
<span fxFlex="40%">Transaction Amount:</span>
<span fxFlex="40%">{{"labels.inputs.Transaction Amount"| translate}}:</span>
<span fxFlex="60%">{{ viewAccountTransferData.currency.displaySymbol }} {{ viewAccountTransferData.transferAmount | formatNumber }} ({{ viewAccountTransferData.currency.code }})</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">Transaction Date:</span>
<span fxFlex="40%">{{"labels.inputs.Transaction Date"| translate}}:</span>
<span fxFlex="60%">{{ viewAccountTransferData.transferDate | dateFormat }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">Description:</span>
<span fxFlex="40%">{{"labels.inputs.Destination"| translate}}:</span>
<span fxFlex="60%">{{ viewAccountTransferData.transferDescription }}</span>
</div>
<h3 class="mat-h3" fxFlexFill>Transferred From</h3>
<h3 class="mat-h3" fxFlexFill>{{"labels.heading.Transferred From"| translate}}</h3>
<mat-divider [inset]="true"></mat-divider>
<div fxFlexFill>
<span fxFlex="40%">Office:</span>
<span fxFlex="40%">{{ "labels.inputs.Office"| translate}}:</span>
<span fxFlex="60%">{{ viewAccountTransferData.fromOffice.name }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">Client:</span>
<span fxFlex="40%">{{ "labels.inputs.Client"| translate}}:</span>
<span fxFlex="60%">{{ viewAccountTransferData.fromClient.displayName }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">Account Type:</span>
<span fxFlex="40%">{{ "labels.inputs.Account Type"| translate}}:</span>
<span fxFlex="60%">{{ viewAccountTransferData.fromAccountType.value }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">Account No:</span>
<span fxFlex="40%">{{ "labels.inputs.Account No"| translate}}:</span>
<span fxFlex="60%">{{ viewAccountTransferData.fromAccount.accountNo }}</span>
</div>
<h3 class="mat-h3" fxFlexFill>Transferred To</h3>
<h3 class="mat-h3" fxFlexFill>{{"labels.heading.Transferred To" | translate}}</h3>
<mat-divider [inset]="true"></mat-divider>
<div fxFlexFill>
<span fxFlex="40%">Office:</span>
<span fxFlex="40%">{{ "labels.inputs.Office"| translate}}:</span>
<span fxFlex="60%">{{ viewAccountTransferData.toOffice.name }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">Client:</span>
<span fxFlex="40%">{{ "labels.inputs.Client"| translate}}:</span>
<span fxFlex="60%"><a [href]="transferToClient(viewAccountTransferData.toClient)">
{{ viewAccountTransferData.toClient.displayName }}</a>
</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">Account Type:</span>
<span fxFlex="40%">{{ "labels.inputs.Account Type"| translate}}:</span>
<span fxFlex="60%">{{ viewAccountTransferData.toAccountType.value }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">Account No:</span>
<span fxFlex="40%">{{ "labels.inputs.Account No"| translate}}:</span>
<span fxFlex="60%"><a [href]="transferToAccount(viewAccountTransferData.toClient, viewAccountTransferData.toAccount)">
{{ viewAccountTransferData.toAccount.accountNo }}</a>
</span>
@@ -82,7 +82,7 @@
</mat-card-content>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" color="primary" mat-raised-button (click)="goBack()">Back</button>
<button type="button" color="primary" mat-raised-button (click)="goBack()">{{ "labels.buttons.Back" | translate}}</button>
</mat-card-actions>
</mat-card>
@@ -1,10 +1,10 @@
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column" class="container m-b-20">
<button mat-raised-button color="primary" [routerLink]="['../', 'edit']">
<fa-icon icon="edit" class="m-r-10"></fa-icon>
Edit
{{"labels.buttons.Edit" | translate}}
</button>
<button mat-raised-button color="primary" [routerLink]="['../', 'list-account-transactions']" *mifosxHasPermission="'READ_ACCOUNTTRANSFER'">
View Transactions History
{{ "labels.buttons.View Transactions History" | translate}}
</button>
</div>
@@ -21,95 +21,95 @@
<mat-divider [inset]="true"></mat-divider>
<div fxFlexFill>
<span fxFlex="40%">Applicant:</span>
<span fxFlex="40%">{{"labels.inputs.Applicant" | translate}}:</span>
<span fxFlex="60%">{{ standingInstructionsData.fromClient.displayName }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">Type:</span>
<span fxFlex="40%">{{ "labels.inputs.Type" | translate}}:</span>
<span fxFlex="60%">{{ standingInstructionsData.transferType.value }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">Priority:</span>
<span fxFlex="40%">{{ "labels.inputs.Priority"| translate}}:</span>
<span fxFlex="60%">{{ standingInstructionsData.priority.value }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">Status:</span>
<span fxFlex="40%">{{ "labels.inputs.Status" | translate}}:</span>
<span fxFlex="60%">{{ standingInstructionsData.status.value }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">From Account Type:</span>
<span fxFlex="40%">{{"labels.inputs.From Account Type"| translate}}:</span>
<span fxFlex="60%">{{ standingInstructionsData.fromAccountType.value }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">From Account:</span>
<span fxFlex="40%">{{"labels.inputs.From Account" | translate}}:</span>
<span fxFlex="60%">{{ standingInstructionsData.fromAccount.productName }} - {{ standingInstructionsData.fromAccount.accountNo }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">Destination:</span>
<span fxFlex="40%">{{"labels.inputs.Destination"| translate}}:</span>
<span fxFlex="60%">
<span *ngIf="allowclientedit"> Within Bank </span>
<span *ngIf="!allowclientedit"> Own Account </span>
<span *ngIf="allowclientedit"> {{ "labels.inputs.Within Bank"| translate}} </span>
<span *ngIf="!allowclientedit"> {{ "labels.inputs.Own Account"| translate}} </span>
</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">To Office:</span>
<span fxFlex="40%">{{"labels.inputs.To Office"| translate}}:</span>
<span fxFlex="60%">{{ standingInstructionsData.toOffice.name }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">Beneficiary:</span>
<span fxFlex="40%">{{ "labels.inputs.Beneficiary"| translate}}:</span>
<span fxFlex="60%">{{ standingInstructionsData.toClient.displayName }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">To Account Type:</span>
<span fxFlex="40%">{{"labels.inputs.To Account Type" | translate}}:</span>
<span fxFlex="60%">{{ standingInstructionsData.toAccountType.value }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">To Account:</span>
<span fxFlex="40%">{{"labels.inputs.To Account" | translate}}:</span>
<span fxFlex="60%">{{ standingInstructionsData.toAccount.productName }} - {{standingInstructionsData.toAccount.accountNo}}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">Standing Instruction Type:</span>
<span fxFlex="40%">{{ "labels.inputs.Standing Instruction Type" | translate}}:</span>
<span fxFlex="60%">{{ standingInstructionsData.instructionType.value }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">Amount:</span>
<span fxFlex="40%">{{"labels.inputs.Amount" | translate}}:</span>
<span fxFlex="60%">{{ standingInstructionsData.amount }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">Validity:</span>
<span fxFlex="40%">{{"labels.inputs.Validity" | translate}}:</span>
<span fxFlex="60%">{{ standingInstructionsData.validFrom | dateFormat }} - {{ standingInstructionsData.validTill | dateFormat }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">Recurrence type:</span>
<span fxFlex="40%">{{"labels.inputs.Recurrence Type" | translate}}:</span>
<span fxFlex="60%">{{ standingInstructionsData.recurrenceType.value }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">Interval:</span>
<span fxFlex="40%">{{"labels.inputs.Interval" | translate}}:</span>
<span fxFlex="60%">{{ standingInstructionsData.recurrenceInterval }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">Recurrence Frequency:</span>
<span fxFlex="40%">{{"labels.inputs.Recurrence Frequency" | translate}}:</span>
<span fxFlex="60%">{{ standingInstructionsData.recurrenceFrequency.value }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">On Month Day:</span>
<span fxFlex="40%">{{"labels.inputs.On Month Day" | translate}}:</span>
<span fxFlex="60%">{{ standingInstructionsData.recurrenceOnMonthDay | dateFormat }}</span>
</div>
+12
View File
@@ -48,6 +48,11 @@ import { TranslateHttpLoader } from '@ngx-translate/http-loader';
*
* Core module and all feature modules should be imported here in proper order.
*/
export function HttpLoaderFactory(http: HttpClient) {
return new TranslateHttpLoader(http);
}
@NgModule({
imports: [
TranslateModule.forRoot({
@@ -86,6 +91,13 @@ import { TranslateHttpLoader } from '@ngx-translate/http-loader';
TasksModule,
ConfigurationWizardModule,
AppRoutingModule,
// TranslateModule.forRoot({
// loader: {
// provide: TranslateLoader,
// useFactory: HttpLoaderFactory,
// deps: [HttpClient]
// }
// })
],
declarations: [WebAppComponent, NotFoundComponent],
providers: [DatePipe],
@@ -4,12 +4,12 @@
<mat-form-field fxFlex="48%">
<mat-label>Currency</mat-label>
<input type="text" matInput formControlName="currencyCode">
<input type="text" matInput formControlName="currencyCode" >
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Decimal Places</mat-label>
<input type="number" matInput formControlName="decimalPlaces">
<input type="number" matInput formControlName="decimalPlaces" >
</mat-form-field>
<mat-form-field fxFlex="48%">
@@ -4,13 +4,13 @@
<mat-form-field fxFlex="48%">
<mat-label>Currency</mat-label>
<input type="text" matInput formControlName="currencyCode" required>
<input type="text" matInput formControlName="currencyCode" matTooltip="Add Currency" matTooltipPosition="above" required>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Decimal Places</mat-label>
<input type="number" matInput formControlName="decimalPlaces" required>
<input type="number" matInput formControlName="decimalPlaces" required matTooltip="Add Decimal Places" matTooltipPosition="above">
</mat-form-field>
</div>
@@ -26,7 +26,9 @@
<ng-template matStepLabel>DETAILS</ng-template>
<mifosx-recurring-deposit-product-details-step></mifosx-recurring-deposit-product-details-step>
<mifosx-recurring-deposit-product-details-step [recurringDepositProductsTemplate]="recurringDepositProductsTemplate">
</mifosx-recurring-deposit-product-details-step>
</mat-step>
@@ -4,7 +4,7 @@
<mat-form-field fxFlex="48%">
<mat-label>Currency</mat-label>
<mat-select formControlName="currencyCode" required>
<mat-select formControlName="currencyCode" matTooltip = "The currency in which the deposit will be disbursed." required>
<mat-option *ngFor="let currency of currencyData" [value]="currency.code">
{{ currency.name }}
</mat-option>
@@ -16,7 +16,7 @@
<mat-form-field fxFlex="48%">
<mat-label>Decimal Places</mat-label>
<input type="number" matInput formControlName="digitsAfterDecimal" required>
<input type="number" matInput formControlName="digitsAfterDecimal" matTooltip = "The number of decimal places to be used to track and report on deposits." required>
<mat-error>
Decimal Places is <strong>required</strong>
</mat-error>
@@ -24,7 +24,7 @@
<mat-form-field fxFlex="48%">
<mat-label>Currency in multiples of</mat-label>
<input type="number" matInput formControlName="inMultiplesOf" required>
<input type="number" matInput formControlName="inMultiplesOf" matTooltip = "You can enter multiples of currency value. For example, if you put multiples of 100, the currency value will be rounded off to 200, 300, 400, etc." required>
<mat-error>
Currency in multiples of is <strong>required</strong>
</mat-error>
@@ -3,8 +3,8 @@
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
<mat-form-field fxFlex="48%">
<mat-label>Product Name</mat-label>
<input matInput formControlName="name" required>
<mat-label>Product Name </mat-label>
<input matInput formControlName="name" matTooltip="The product name is a unique identifier for the lending product." required>
<mat-error *ngIf="recurringDepositProductDetailsForm.controls.name.hasError('required')">
Product Name is <strong>required</strong>
</mat-error>
@@ -12,7 +12,7 @@
<mat-form-field fxFlex="48%">
<mat-label>Short Name</mat-label>
<input matInput formControlName="shortName" maxlength="4" required>
<input matInput formControlName="shortName" maxlength="4" matTooltip="The short name is a unique identifier for the lending product." required>
<mat-error *ngIf="recurringDepositProductDetailsForm.controls.shortName.hasError('required')">
Short Name is <strong>required</strong>
</mat-error>
@@ -20,7 +20,7 @@
<mat-form-field fxFlex="98%">
<mat-label>Description</mat-label>
<textarea matInput formControlName="description" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
<textarea matInput formControlName="description" matTooltip="The description is used to provide additional information regarding the purpose and characteristics of the recurring deposit product." cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
<mat-error *ngIf="recurringDepositProductDetailsForm.controls.description.hasError('required')">
Description is <strong>required</strong>
</mat-error>
@@ -24,8 +24,8 @@
</div>
<mat-form-field fxFlex="32%">
<mat-label>Name</mat-label>
<input matInput formControlName="name" required>
<mat-label >Name</mat-label>
<input matInput formControlName="name" matTooltip="The name is a unique identifier for the chart." required>
</mat-form-field>
<mat-form-field fxFlex="31%" (click)="validFromDatePicker.open()">
@@ -46,8 +46,8 @@
</mat-form-field>
<mat-form-field fxFlex="65%">
<mat-label>Description</mat-label>
<textarea matInput formControlName="description" required></textarea>
<mat-label >Description</mat-label>
<textarea matInput formControlName="description" matTooltip="The description is used to provide additional information regarding the purpose and characteristics of the chart." required></textarea>
</mat-form-field>
<div fxFlex="31%" fxLayout="row" fxLayoutAlign="space-between center">
@@ -18,7 +18,7 @@
<mat-form-field fxFlex="48%">
<mat-label>Frequency</mat-label>
<input type="number" matInput formControlName="lockinPeriodFrequency">
<input type="number" matInput formControlName="lockinPeriodFrequency" matTooltip="The number at which lock in period occurs." >
</mat-form-field>
<mat-form-field fxFlex="48%">
@@ -35,7 +35,7 @@
<mat-form-field fxFlex="48%">
<mat-label>Frequency</mat-label>
<input type="number" matInput formControlName="minDepositTerm" required>
<input type="number" matInput formControlName="minDepositTerm" matTooltip="The number at which minimum deposit occurs." required>
<mat-error>
Minimum Deposit Term Frequency is <strong>required</strong>
</mat-error>
@@ -57,7 +57,7 @@
<mat-form-field fxFlex="48%">
<mat-label>Frequency</mat-label>
<input type="number" matInput formControlName="inMultiplesOfDepositTerm">
<input type="number" matInput formControlName="inMultiplesOfDepositTerm" matTooltip="The number at which multiple deposits occurs.">
</mat-form-field>
<mat-form-field fxFlex="48%">
@@ -73,7 +73,7 @@
<mat-form-field fxFlex="48%">
<mat-label>Frequency</mat-label>
<input type="number" matInput formControlName="maxDepositTerm">
<input type="number" matInput formControlName="maxDepositTerm" matTooltip="The number at which minimum deposit occurs.">
</mat-form-field>
<mat-form-field fxFlex="48%">
@@ -1,6 +1,7 @@
<div class="container m-b-20" fxLayout="row" fxLayoutAlign="end" fxLayoutGap="20px">
<div #buttonCreateRecurringProduct class="in-block">
<button mat-raised-button color="primary" [routerLink]="['create']" *mifosxHasPermission='"CREATE_RECURRINGDEPOSITPRODUCT"'>
<button mat-raised-button color="primary" [routerLink]="['create']" *mifosxHasPermission='"CREATE_RECURRINGDEPOSITPRODUCT"'
matTooltip="Create Recurring Deposit Product" matTooltipPosition="above">
<fa-icon icon="plus" class="m-r-10"></fa-icon>
Create Recurring Deposit Product
</button>
@@ -12,7 +13,7 @@
<div #filter fxLayout="row" fxLayoutGap="20px">
<mat-form-field fxFlex>
<mat-label>{{ 'labels.inputs.Filter' | translate }}</mat-label>
<input matInput (keyup)="applyFilter($event.target.value)">
<input matInput (keyup)="applyFilter($event.target.value)" matTooltip="Add Filters" matTooltipPosition="left">
</mat-form-field>
</div>
+61 -7
View File
@@ -15,15 +15,30 @@
"buttons": {
"Dashboard": "Dashboard",
"Add": "Add",
"Submit":"Submit",
"Back": "Back",
"Edit":"Edit",
"Close": "Close",
"Next": "Next",
"Login": "Login",
"Create User": "Create User"
"Cancel":"Cancel",
"Create User": "Create User",
"View Transactions History":"View Transactions History"
},
"commons": {
"is":"is",
"required":"required",
"is required": "is required"
},
"heading":{
"Client Type":"Client Type",
"Client":"Client",
"Transferring From Details":"Transferring From Details",
"Transferred To":"Transferred To",
"Transaction Details":"Transaction Details",
"Transferred From":"Transferred From",
},
"inputs": {
"Tenant": "Tenant",
"Language": "Language",
@@ -35,6 +50,45 @@
"Password": "Password",
"Remember me": "Remember me",
"Filter": "Filter",
"Applicant":"Applicant",
"Name":"Name",
"Type":"Type",
"Transfer Type":"Transfer Type",
"Priority":"Priority",
"Status":"Status",
"From Account Type":"From Account Type",
"From Account":"From Account",
"Destination":"Destination",
"Office":"Office",
"To Office":"To Office",
"Beneficiary":"Beneficiary",
"Amount":"Amount",
"To Account Type":"To Account Type",
"To Account":"To Account",
"Standing Instruction Type":"Standing Instruction Type",
"Validity from":"Validity from",
"Valid From Date":"Valid From Date",
"Validity To":"Validity To",
"Valid Till Date":"Valid Till Date",
"Recurrence Type":"Recurrence Type",
"Interval":"Interval",
"Recurrence Interval":"Recurrence Interval",
"Recurrence Frequency":"Recurrence Frequency",
"On Month Day":"On Month Day",
"Client":"Client",
"Validity": "Validity",
"Actions":"Actions",
"Notes":"Notes",
"Transaction Date":"Transaction Date",
"Reversed":"Reversed",
"Currency":"Currency",
"Account Type":"Account Type",
"Account No":"Account No.",
"Account":"Account",
"Transfer Description":"Transfer Description",
"Transaction Amount":"Transaction Amount",
"Within Bank":"Within Bank",
"Own Account":"Own Account",
"products": {
"loan": {
"Amortization": "Amortization",
@@ -46,7 +100,7 @@
}
}
},
"links": {
"link": {
"Contribute": "Contribute",
"Resources": "Resources",
"Community": "Community",
@@ -61,7 +115,7 @@
"Donate": "Donate",
"Forgot Password?": "Forgot Password?"
},
"menus": {
"menu": {
"Institution": "Institution",
"Accounting": "Accounting",
"Breadcrumbs": "Breadcrumbs",
@@ -106,25 +160,25 @@
"Individual Collection Sheet": "Individual Collection Sheet",
"Keyboard Shortcuts": "Keyboard Shortcuts"
},
"placeholders": {
"placeholder": {
"Add new server": "Add new server",
"Search Activity": "Search Activity"
},
"texts": {
"text": {
"Welcome": "Welcome",
"Version": "Version",
"by": "by",
"Login into Tenant": "Login into Tenant"
}
},
"errors": {
"error": {
"inputs": {
"Password is required": "Password is required",
"Username is required": "Username is required",
"Username or password incorrect.": "Username or password incorrect"
}
},
"tooltips": {
"tooltip": {
"Settings": "Settings",
"Sign Out": "Sign Out"
}
+100 -87
View File
@@ -1,118 +1,131 @@
{
"APP_NAME": "Mifos X",
"Logged in as": "Logged in as",
"Remember me": "Remember me",
"not_found_subtitle": "Oups.. Il semble que cette page n'existe pas.",
"Logged in as": "Connecté en tant que",
"Remember me": "Souvenez-vous de moi",
"not_found_subtitle": "Oups.. On dirait que cette page n’existe pas.",
"languages": {
"en-US": "English",
"fr-FR": "French",
"es-MX": "Spanish"
"en-US": "Anglais",
"fr-FR": "Français",
"es-MX": "Espagnol"
},
"labels": {
"breadcrumbs": {
"Home": "Home"
"Home": "Domicile"
},
"buttons": {
"Dashboard": "Dashboard",
"Add": "Add",
"Back": "Back",
"Close": "Close",
"Next": "Next",
"Login": "Login"
"Dashboard": "Tableau de bord",
"Add": "Ajouter",
"Back": "Précédent",
"Close": "Fermer",
"Next": "Prochain",
"Login": "Connectez-vous",
"Create User": "Créer un utilisateur"
},
"commons": {
"is required": "is required"
"is required": "est obligatoire"
},
"inputs": {
"Tenant": "Tenant",
"Language": "Language",
"Server": "Server",
"Url": "Url",
"Login": "Login",
"Logout": "Logout",
"Username": "Username",
"Password": "Password",
"Remember me": "Remember me"
"inputs":{
"Tenant": "Locataire",
"Language": "Langue",
"Server": "Serveur",
"Url": "URL",
"Login": "Connectez-vous",
"Logout": "Se déconnecter",
"Username": "Nom d'utilisateur",
"Password": "Mot de passe",
"Remember me": "Souvenez-vous de moi",
"Filter": "Filtre",
"products": {
"loan": {
"Amortization": "Amortissement",
"amortizationType": {
"Equal installments": "Versements égaux",
"Equal principal payments": "Paiements de principal égaux"
},
"Is Equal Amortization?": "'est-ce qu'un amortissement égal ?"
}
}
},
"links": {
"Contribute": "Contribute",
"Resources": "Resources",
"Community": "Community",
"User Manual": "User Manual",
"Functional Specifications": "Functional Specifications",
"Developer Zone": "Developer Zone",
"User Group": "User Group",
"Developer Group": "Developer Group",
"IRC": "IRC",
"Key Design Principles": "Key Design Principles",
"Working with Code": "Working with Code",
"Donate": "Donate",
"Forgot Password?": "Forgot Password?"
"Contribute": "Contribuer",
"Resources": "Ressources",
"Community": "Communauté",
"User Manual": "Manuel de l'Utilisateur",
"Functional Specifications": "Spécifications fonctionnelles",
"Developer Zone": "Espace développeur",
"User Group": "Groupe d'utilisateurs",
"Developer Group": "Groupe de développeurs",
"IRC": "CRI",
"Key Design Principles": "Principes de conception clés",
"Working with Code": "Travailler avec du code",
"Donate": "Donner",
"Forgot Password?": "Mot de passe oublié?"
},
"menus": {
"Institution": "Institution",
"Accounting": "Accounting",
"Breadcrumbs": "Breadcrumbs",
"Reports": "Reports",
"Admin": "Admin",
"Self Service": "Self Service",
"Configuration Wizard": "Configuration Wizard",
"Accounting": "Comptabilité",
"Breadcrumbs": "Chapelure",
"Reports": "Rapports",
"Admin": "Administrateur",
"Self Service": "En libre service",
"Configuration Wizard": "Assistant de configuration",
"Clients": "Clients",
"Groups": "Groups",
"Centers": "Centers",
"All": "All",
"Loans": "Loans",
"Savings": "Savings",
"Funds": "Funds",
"Groups": "Groupes",
"Centers": "Centres",
"All": "Tous",
"Loans": "Prêts",
"Savings": "Des économies",
"Funds": "Fonds",
"XBRL": "XBRL",
"Users": "Users",
"Organization": "Organization",
"System": "System",
"Products": "Products",
"Templates": "Templates",
"User Management": "User Management",
"App Configuration": "App Configuration",
"Task Management": "Task Management",
"Help": "Help",
"Profile": "Profile",
"Settings": "Settings",
"Sign Out": "Sign Out",
"Global Search": "Global Search",
"Language Selector": "Language Selector",
"Theme Picker": "Theme Picker",
"Application Menu": "Application Menu",
"User Panel": "User Panel",
"Frequently Accessed": "Frequently Accessed",
"Dashboard": "Dashboard",
"Navigation": "Navigation",
"Frequent Postings": "Frequent Postings",
"Create Journal Entry": "Create Journal Entry",
"Chart of Accounts": "Chart of Accounts",
"Notifications": "Notifications",
"Main Items": "Main Items",
"Checker Inbox and Tasks": "Checker Inbox and Tasks",
"Individual Collection Sheet": "Individual Collection Sheet",
"Keyboard Shortcuts": "Keyboard Shortcuts"
"Users": "Utilisateurs",
"Organization": "Organisation",
"System": "Système",
"Products": "Des produits",
"Templates": "Modèles",
"User Management": "Gestion des utilisateurs",
"App Configuration": "Configuration de l'application",
"Task Management": "Gestion des tâches",
"Help": "Aider",
"Profile": "Profil",
"Settings": "Paramètres",
"Sign Out": "Se déconnecter",
"Global Search": "Recherche globale",
"Language Selector": "Sélecteur de langue",
"Theme Picker": "Sélecteur de thème",
"Application Menu": "Menu des applications",
"User Panel": "Panneau d'utilisateur",
"Frequently Accessed": "Fréquemment consulté",
"Dashboard": "Tableau de bord",
"Navigation": "La navigation",
"Frequent Postings": "Publications fréquentes",
"Create Journal Entry": "Créer une entrée de journal",
"Chart of Accounts": "Plan comptable",
"Notifications": "Avis",
"Main Items": "Éléments principaux",
"Checker Inbox and Tasks": "Boîte de réception et tâches du vérificateur",
"Individual Collection Sheet": "Feuille de collecte individuelle",
"Keyboard Shortcuts": "Raccourcis clavier"
},
"placeholders": {
"Add new server": "Add new server",
"Search Activity": "Search Activity"
"Add new server": "Ajouter un nouveau serveur",
"Search Activity": "Activité de recherche"
},
"texts": {
"Welcome": "Welcome",
"Welcome": "Accueillir",
"Version": "Version",
"by": "by"
"by": "par",
"Login into Tenant": "Connectez-vous au locataire"
}
},
"errors": {
"inputs": {
"Password is required": "Password is required",
"Username is required": "Username is required",
"Username or password incorrect.": "Username or password incorrect"
"Password is required": "Mot de passe requis",
"Username is required": "Nom d'utilisateur est nécessaire",
"Username or password incorrect.": "Nom d'utilisateur ou mot de passe incorrect"
}
},
"tooltips": {
"Settings": "Settings",
"Sign Out": "Sign Out"
"Settings": "Paramètres",
"Sign Out": "Se déconnecter"
}
}
}