i18n: Adding new languages: Part 1 (#1882)

Co-authored-by: Jose Alberto Hernandez <alberto@blue-daemon.local>
This commit is contained in:
José Alberto Hernández
2023-10-22 20:18:05 -06:00
committed by GitHub
co-authored by Jose Alberto Hernandez
parent c7fe21e74a
commit 408f004450
432 changed files with 38051 additions and 44613 deletions
@@ -1,21 +1,21 @@
<div class="tab-container mat-typography">
<h3>{{ "labels.heading.Performance History" |translate}}</h3>
<h3>{{"labels.heading.Performance History" | translate}}</h3>
<div fxLayout="row" fxLayoutGap="32px" class="performance-history-container">
<table>
<tbody>
<tr>
<td>
<p>
{{"labels.inputs.No. Of Loan Cycles" |translate}} :{{clientSummary?.loanCycle}} <br />
{{"labels.inputs.No. of Active Loans" |translate}} :{{clientSummary?.activeLoans}} <br />
{{"labels.inputs.Last Loan Amount" |translate}} :{{clientSummary?.lastLoanAmount | formatNumber}} <br />
{{"labels.inputs.No. Of Loan Cycles" | translate}} :{{clientSummary?.loanCycle}} <br />
{{"labels.inputs.No. of Active Loans" | translate}} :{{clientSummary?.activeLoans}} <br />
{{"labels.inputs.Last Loan Amount" | translate}} :{{clientSummary?.lastLoanAmount | formatNumber}} <br />
</p>
</td>
<td>
<p>
{{"labels.inputs.No. of Active Savings" |translate}} :{{clientSummary?.activeSavings}} <br />
{{"labels.inputs.Total Savings" |translate}} :{{clientSummary?.totalSavings | formatNumber}} <br />
{{"labels.inputs.No. of Active Savings" | translate}} :{{clientSummary?.activeSavings}} <br />
{{"labels.inputs.Total Savings" | translate}} :{{clientSummary?.totalSavings | formatNumber}} <br />
</p>
</td>
</tr>
@@ -27,13 +27,13 @@
<div class="heading-content">
<div fxLayout="column" fxFlex="50%">
<div className="heading-name">
<h3>{{ "labels.heading.Upcoming Charges" |translate}}</h3>
<h3>{{"labels.heading.Upcoming Charges" | translate}}</h3>
</div>
</div>
<div fxLayout="column" fxFlex="50%">
<div fxLayout="row" fxLayoutAlign="flex-end">
<button mat-raised-button class="f-right" color="primary" [routerLink]="['../', 'charges', 'overview']" *mifosxHasPermission="'READ_CLIENTCHARGE'">
{{ "labels.buttons.Charges Overview" |translate}}</button>
{{"labels.buttons.Charges Overview" | translate}}</button>
</div>
</div>
</div>
@@ -41,39 +41,39 @@
<table mat-table [dataSource]="upcomingCharges">
<ng-container matColumnDef="Name">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.name" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.name" | translate}} </th>
<td mat-cell *matCellDef="let element"> <i class="fa fa-stop"
[ngClass]="(!(element.isWaived || element.isPaid)) | statusLookup"></i>
{{element.name}} </td>
</ng-container>
<ng-container matColumnDef="Due as of">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Due as of" |translate}}" </th>
<td mat-cell *matCellDef="let element"> {{element.dueDate | dateFormat}} </td>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Due as of" | translate}}" </th>
<td mat-cell *matCellDef="let element"> {{element.dueDate | dateFormat}} </td>
</ng-container>
<ng-container matColumnDef="Due">
<th mat-header-cell class="r-amount" *matHeaderCellDef> {{"labels.inputs.Due" |translate}} </th>
<th mat-header-cell class="r-amount" *matHeaderCellDef> {{"labels.inputs.Due" | translate}} </th>
<td mat-cell class="r-amount" *matCellDef="let element"> {{element.amount | formatNumber}} </td>
</ng-container>
<ng-container matColumnDef="Paid">
<th mat-header-cell class="r-amount" *matHeaderCellDef> {{"labels.inputs.Paid" |translate}} </th>
<th mat-header-cell class="r-amount" *matHeaderCellDef> {{"labels.inputs.Paid" | translate}} </th>
<td mat-cell class="r-amount" *matCellDef="let element"> {{element.amountPaid | formatNumber}} </td>
</ng-container>
<ng-container matColumnDef="Waived">
<th mat-header-cell class="r-amount" *matHeaderCellDef> {{"labels.inputs.Waived" |translate}} </th>
<th mat-header-cell class="r-amount" *matHeaderCellDef> {{"labels.inputs.Waived" | translate}} </th>
<td mat-cell class="r-amount" *matCellDef="let element"> {{element.amountWaived | formatNumber}} </td>
</ng-container>
<ng-container matColumnDef="Outstanding">
<th mat-header-cell class="r-amount" *matHeaderCellDef> {{"labels.inputs.Outstanding" |translate}} </th>
<th mat-header-cell class="r-amount" *matHeaderCellDef> {{"labels.inputs.Outstanding" | translate}} </th>
<td mat-cell class="r-amount" *matCellDef="let element"> {{element.amountOutstanding | formatNumber}} </td>
</ng-container>
<ng-container matColumnDef="Actions">
<th mat-header-cell class="center" *matHeaderCellDef> {{"labels.inputs.Actions" |translate}} </th>
<th mat-header-cell class="center" *matHeaderCellDef> {{"labels.inputs.Actions" | translate}} </th>
<td mat-cell class="center" *matCellDef="let element">
<button class="account-action-button" mat-raised-button color="primary"
(click)="routeEdit($event)" [routerLink]="['../','charges', element.id, 'pay']" *mifosxHasPermission="'PAY_CLIENTCHARGE'">
@@ -96,13 +96,15 @@
<div class="heading-content">
<div fxLayout="column" fxFlex="50%">
<div class="heading-name">
<h3>{{"labels.heading.Loan Accounts" |translate}}</h3>
<h3>{{"labels.heading.Loan Accounts" | translate}}</h3>
</div>
</div>
<div fxLayout="column" fxFlex="50%">
<div fxLayout="row" fxLayoutAlign="flex-end">
<button mat-raised-button class="f-right" color="primary"
(click)="toggleLoanAccountsOverview()">{{showClosedLoanAccounts?'View Active Accounts':'View Closed Accounts'}}</button>
(click)="toggleLoanAccountsOverview()">
{{ viewAccountsLabel(showClosedLoanAccounts) | translate }}
</button>
</div>
</div>
</div>
@@ -110,62 +112,62 @@
<table *ngIf="!showClosedLoanAccounts" mat-table [dataSource]="loanAccounts|accountsFilter:'loan'">
<ng-container matColumnDef="Account No">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account No" |translate}}. </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account No" | translate}}. </th>
<td mat-cell *matCellDef="let element"> <i class="fa fa-stop"
[ngClass]="element.inArrears?'status-active-overdue':(element.status.code|statusLookup)"></i>
{{element.accountNo}}
<mifosx-account-number accountNo="{{element.accountNo}}"></mifosx-account-number>
</td>
</ng-container>
<ng-container matColumnDef="Loan Account">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Loan Account" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Loan Product" | translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.productName}} </td>
</ng-container>
<ng-container matColumnDef="Original Loan">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Original Loan" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Original Loan" | translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.originalLoan}} </td>
</ng-container>
<ng-container matColumnDef="Loan Balance">
<th mat-header-cell class="r-amount" *matHeaderCellDef> {{"labels.inputs.Loan Balance" |translate}} </th>
<th mat-header-cell class="r-amount" *matHeaderCellDef> {{"labels.inputs.Loan Balance" | translate}} </th>
<td mat-cell class="r-amount" *matCellDef="let element"> {{element.loanBalance | formatNumber}} </td>
</ng-container>
<ng-container matColumnDef="Amount Paid">
<th mat-header-cell class="r-amount" *matHeaderCellDef> {{"labels.inputs.Amount Paid" |translate}} </th>
<th mat-header-cell class="r-amount" *matHeaderCellDef> {{"labels.inputs.Amount Paid" | translate}} </th>
<td mat-cell class="r-amount" *matCellDef="let element"> {{element.amountPaid | formatNumber}} </td>
</ng-container>
<ng-container matColumnDef="Type">
<th mat-header-cell class="center" *matHeaderCellDef> {{"labels.inputs.Type" |translate}} </th>
<th mat-header-cell class="center" *matHeaderCellDef> {{"labels.inputs.Type" | translate}} </th>
<td mat-cell class="center" *matCellDef="let element">
<i class="fa fa-large" [ngClass]="(element.loanType.value=== 'Individual')?'fa-user':'fa-group'" matTooltip=" {{ element.loanType.value }}" matTooltipPosition="above"></i>
<i class="fa fa-large" [ngClass]="(element.loanType.value=== 'Individual')?'fa-user':'fa-group'" matTooltip="{{ element.loanType.value }}" matTooltipPosition="above"></i>
</td>
</ng-container>
<ng-container matColumnDef="Actions">
<th mat-header-cell class="center" *matHeaderCellDef> {{"labels.inputs.Actions" |translate}}</th>
<th mat-header-cell class="center" *matHeaderCellDef> {{"labels.inputs.Actions" | translate}}</th>
<td mat-cell class="center" *matCellDef="let element">
<button *ngIf="element.status.active" class="account-action-button" mat-raised-button color="primary" matTooltip="{{ 'tooltips.Make Repayment' | translate }}" matTooltipPosition="above"
<button *ngIf="element.status.active" class="account-action-button" mat-raised-button color="primary" matTooltip="{{ 'tooltips.Make Repayment' | translate}}" matTooltipPosition="above"
(click)="routeEdit($event)" [routerLink]="['../','loans-accounts', element.id, 'actions', 'Make Repayment']">
<i class="fa fa-dollar"></i>
</button>
<span *ngIf="element.status.pendingApproval">
<button class="account-action-button" mat-raised-button color="primary" matTooltip="{{ 'tooltips.Approve' | translate }}"
<button class="account-action-button" mat-raised-button color="primary" matTooltip="{{ 'tooltips.Approve' | translate}}"
matTooltipPosition="above" *mifosxHasPermission="'APPROVE_LOAN'" (click)="routeEdit($event)"
[routerLink]="['../','loans-accounts', element.id, 'actions', 'Approve']">
<i class="fa fa-check"></i>
</button>
</span>
<span *ngIf="!element.status.pendingApproval && !element.status.active && !element.status.overpaid">
<button class="account-action-button" mat-raised-button color="primary" matTooltip="{{ 'tooltips.Disburse' | translate }}"
<button class="account-action-button" mat-raised-button color="primary" matTooltip="{{ 'tooltips.Disburse' | translate}}"
matTooltipPosition="above" *mifosxHasPermission="'DISBURSE_LOAN'"
(click)="routeEdit($event)" [routerLink]="['../','loans-accounts', element.id, 'actions', 'Disburse']">
<i class="fa fa-flag"></i>
</button>
</span>
<span *ngIf="!element.status.pendingApproval && !element.status.active && element.status.overpaid">
<button class="account-action-button" mat-raised-button color="primary" matTooltip="{{ 'tooltips.Transfer Funds' | translate }}"
<button class="account-action-button" mat-raised-button color="primary" matTooltip="{{ 'tooltips.Transfer Funds' | translate}}"
matTooltipPosition="above" *mifosxHasPermission="'DISBURSE_LOAN'"
(click)="routeEdit($event); routeTransferFund(element.id)">
<i class="fa fa-exchange"></i>
@@ -184,43 +186,43 @@
<table *ngIf="showClosedLoanAccounts" mat-table [dataSource]="loanAccounts|accountsFilter:'loan':'closed'">
<ng-container matColumnDef="Account No">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account No" |translate}}. </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account No" | translate}}. </th>
<td mat-cell *matCellDef="let element"> <i class="fa fa-stop"
[ngClass]="element.inArrears?'status-active-overdue':(element.status.code|statusLookup)"></i>
{{element.accountNo}}
<mifosx-account-number accountNo="{{element.accountNo}}"></mifosx-account-number>
</td>
</ng-container>
<ng-container matColumnDef="Loan Account">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Loan Account" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Loan Product" | translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.productName}} </td>
</ng-container>
<ng-container matColumnDef="Original Loan">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Original Loan" |translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.lastActiveTransactionDate | dateFormat}} </td>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Original Loan" | translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.lastActiveTransactionDate | dateFormat}} </td>
</ng-container>
<ng-container matColumnDef="Loan Balance">
<th mat-header-cell class="r-amount" *matHeaderCellDef> {{"labels.inputs.Loan Balance" |translate}} </th>
<th mat-header-cell class="r-amount" *matHeaderCellDef> {{"labels.inputs.Loan Balance" | translate}} </th>
<td mat-cell class="r-amount" *matCellDef="let element"> {{element.loanBalance | formatNumber}} </td>
</ng-container>
<ng-container matColumnDef="Amount Paid">
<th mat-header-cell class="r-amount" *matHeaderCellDef> {{"labels.inputs.Amount Paid" |translate}} </th>
<th mat-header-cell class="r-amount" *matHeaderCellDef> {{"labels.inputs.Amount Paid" | translate}} </th>
<td mat-cell class="r-amount" *matCellDef="let element"> {{element.accountBalance | formatNumber}} </td>
</ng-container>
<ng-container matColumnDef="Type">
<th mat-header-cell class="center" *matHeaderCellDef> {{"labels.inputs.Type" |translate}} </th>
<th mat-header-cell class="center" *matHeaderCellDef> {{"labels.inputs.Type" | translate}} </th>
<td mat-cell class="center" *matCellDef="let element">
<i class="fa fa-large" [ngClass]="(element.loanType.value === 'Individual')?'fa-user':'fa-group'" matTooltip=" {{ element.loanType.value }}" matTooltipPosition="above"></i>
</td>
</ng-container>
<ng-container matColumnDef="Closed Date">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Closed Date" |translate}} </th>
<td mat-cell *matCellDef="let element">{{element.timeline.closedOnDate | dateFormat}}</td>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Closed Date" | translate}} </th>
<td mat-cell *matCellDef="let element">{{element.timeline.closedOnDate | dateFormat}}</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="closedLoansColumns"></tr>
@@ -233,13 +235,15 @@
<div class="heading-content">
<div fxLayout="column" fxFlex="50%">
<div class="heading-name">
<h3>{{"labels.heading.Saving Accounts" |translate}}</h3>
<h3>{{"labels.heading.Saving Accounts" | translate}}</h3>
</div>
</div>
<div fxLayout="column" fxFlex="50%">
<div fxLayout="row" fxLayoutAlign="flex-end">
<button mat-raised-button class="f-right" color="primary"
(click)="toggleSavingAccountsOverview()">{{showClosedSavingAccounts?'View Active Accounts':'View Closed Accounts'}}</button>
(click)="toggleSavingAccountsOverview()">
{{ viewAccountsLabel(showClosedSavingAccounts) | translate }}
</button>
</div>
</div>
</div>
@@ -248,28 +252,29 @@
[dataSource]="savingAccounts|accountsFilter:'saving':'open':'isSavings'">
<ng-container matColumnDef="Account No">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account No" |translate}}. </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account No" | translate}}. </th>
<td mat-cell *matCellDef="let element"> <i class="fa fa-stop" [ngClass]="element.status.code|statusLookup"></i>
{{element.accountNo}} </td>
<mifosx-account-number accountNo="{{element.accountNo}}"></mifosx-account-number>
</td>
</ng-container>
<ng-container matColumnDef="Saving Account">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Saving Account" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Savings Product" | translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.productName}} </td>
</ng-container>
<ng-container matColumnDef="Last Active">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Last Active" |translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.lastActiveTransactionDate | dateFormat}} </td>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Last Active" | translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.lastActiveTransactionDate | dateFormat}} </td>
</ng-container>
<ng-container matColumnDef="Balance">
<th mat-header-cell class="r-amount" *matHeaderCellDef> {{"labels.inputs.Balance" |translate}} </th>
<th mat-header-cell class="r-amount" *matHeaderCellDef> {{"labels.inputs.Balance" | translate}} </th>
<td mat-cell class="r-amount" *matCellDef="let element"> {{element.accountBalance | formatNumber}} </td>
</ng-container>
<ng-container matColumnDef="Actions">
<th mat-header-cell class="center" *matHeaderCellDef> {{"labels.inputs.Actions" |translate}} </th>
<th mat-header-cell class="center" *matHeaderCellDef> {{"labels.inputs.Actions" | translate}} </th>
<td mat-cell class="center" *matCellDef="let element">
<button *ngIf="element.status.active" class="account-action-button" mat-raised-button color="primary"
(click)="routeEdit($event)" [routerLink]="['../','savings-accounts', element.id, 'actions', 'Deposit']">
@@ -307,19 +312,20 @@
[dataSource]="savingAccounts|accountsFilter:'saving':'closed':'isSavings'">
<ng-container matColumnDef="Account No">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account No" |translate}}. </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account No" | translate}}. </th>
<td mat-cell *matCellDef="let element"> <i class="fa fa-stop" [ngClass]="element.status.code|statusLookup"></i>
{{element.accountNo}} </td>
<mifosx-account-number accountNo="{{element.accountNo}}"></mifosx-account-number>
</td>
</ng-container>
<ng-container matColumnDef="Saving Account">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Saving Account" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Saving Product" | translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.productName}} </td>
</ng-container>
<ng-container matColumnDef="Closed Date">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Closed Date" |translate}} </th>
<td mat-cell *matCellDef="let element">{{element.timeline.closedOnDate | dateFormat}}</td>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Closed Date" | translate}} </th>
<td mat-cell *matCellDef="let element">{{element.timeline.closedOnDate | dateFormat}}</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="closedSavingsColumns"></tr>
@@ -331,13 +337,15 @@
<div class="heading-content">
<div fxLayout="column" fxFlex="50%">
<div class="heading-name">
<h3>{{"labels.heading.Fixed Deposit Accounts" |translate}}</h3>
<h3>{{"labels.heading.Fixed Deposit Accounts" | translate}}</h3>
</div>
</div>
<div fxLayout="column" fxFlex="50%">
<div fxLayout="row" fxLayoutAlign="flex-end">
<button mat-raised-button class="f-right" color="primary"
(click)="toggleFixedAccountsOverview()">{{showClosedFixedAccounts?'View Active Accounts':'View Closed Accounts'}}</button>
(click)="toggleFixedAccountsOverview()">
{{ viewAccountsLabel(showClosedFixedAccounts) | translate }}
</button>
</div>
</div>
</div>
@@ -346,28 +354,29 @@
[dataSource]="savingAccounts|accountsFilter:'saving':'open':'isFixed'">
<ng-container matColumnDef="Account No">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account No" |translate}}. </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account No" | translate}}. </th>
<td mat-cell *matCellDef="let element"> <i class="fa fa-stop" [ngClass]="element.status.code|statusLookup"></i>
{{element.accountNo}} </td>
<mifosx-account-number accountNo="{{element.accountNo}}"></mifosx-account-number>
</td>
</ng-container>
<ng-container matColumnDef="Saving Account">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Saving Account" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Fixed Deposit Product" | translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.productName}} </td>
</ng-container>
<ng-container matColumnDef="Last Active">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Last Active" |translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.lastActiveTransactionDate | dateFormat}} </td>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Last Active" | translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.lastActiveTransactionDate | dateFormat}} </td>
</ng-container>
<ng-container matColumnDef="Balance">
<th mat-header-cell class="r-amount" *matHeaderCellDef> {{"labels.inputs.Balance" |translate}} </th>
<th mat-header-cell class="r-amount" *matHeaderCellDef> {{"labels.inputs.Balance" | translate}} </th>
<td mat-cell class="r-amount" *matCellDef="let element"> {{element.accountBalance | formatNumber}} </td>
</ng-container>
<ng-container matColumnDef="Actions">
<th mat-header-cell class="center" *matHeaderCellDef> {{"labels.inputs.Actions" |translate}} </th>
<th mat-header-cell class="center" *matHeaderCellDef> {{"labels.inputs.Actions" | translate}} </th>
<td mat-cell class="center" *matCellDef="let element">
<button *ngIf="element.status.submittedAndPendingApproval" class="account-action-button" mat-raised-button
color="primary" (click)="routeEdit($event)" [routerLink]="['../','fixed-deposits-accounts', element.id, 'actions', 'Approve']">
@@ -398,19 +407,20 @@
[dataSource]="savingAccounts|accountsFilter:'saving':'closed':'isFixed'">
<ng-container matColumnDef="Account No">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account No" |translate}}. </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account No" | translate}}. </th>
<td mat-cell *matCellDef="let element"> <i class="fa fa-stop" [ngClass]="element.status.code|statusLookup"></i>
{{element.accountNo}} </td>
<mifosx-account-number accountNo="{{element.accountNo}}"></mifosx-account-number>
</td>
</ng-container>
<ng-container matColumnDef="Saving Account">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Saving Account" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Fixed Deposit Product" | translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.productName}} </td>
</ng-container>
<ng-container matColumnDef="Closed Date">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Closed Date" |translate}} </th>
<td mat-cell *matCellDef="let element">{{element.timeline.closedOnDate | dateFormat}}</td>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Closed Date" | translate}} </th>
<td mat-cell *matCellDef="let element">{{element.timeline.closedOnDate | dateFormat}}</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="closedSavingsColumns"></tr>
@@ -423,13 +433,15 @@
<div class="heading-content">
<div fxLayout="column" fxFlex="50%">
<div class="heading-name">
<h3>{{"labels.heading.Recurring Deposit Accounts" |translate}}</h3>
<h3>{{"labels.heading.Recurring Deposit Accounts" | translate}}</h3>
</div>
</div>
<div fxLayout="column" fxFlex="50%">
<div fxLayout="row" fxLayoutAlign="flex-end">
<button mat-raised-button class="f-right" color="primary"
(click)="toggleRecurringAccountsOverview()">{{showClosedRecurringAccounts?'View Active Accounts':'View Closed Accounts'}}</button>
(click)="toggleRecurringAccountsOverview()">
{{ viewAccountsLabel(showClosedRecurringAccounts) | translate }}
</button>
</div>
</div>
</div>
@@ -438,28 +450,29 @@
[dataSource]="savingAccounts|accountsFilter:'saving':'open':'isRecurring'">
<ng-container matColumnDef="Account No">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account No" |translate}}. </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account No" | translate}}. </th>
<td mat-cell *matCellDef="let element"> <i class="fa fa-stop" [ngClass]="element.status.code|statusLookup"></i>
{{element.accountNo}} </td>
<mifosx-account-number accountNo="{{element.accountNo}}"></mifosx-account-number>
</td>
</ng-container>
<ng-container matColumnDef="Saving Account">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Saving Account" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Recurring Deposit Product" | translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.productName}} </td>
</ng-container>
<ng-container matColumnDef="Last Active">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Last Active" |translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.lastActiveTransactionDate | dateFormat}} </td>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Last Active" | translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.lastActiveTransactionDate | dateFormat}} </td>
</ng-container>
<ng-container matColumnDef="Balance">
<th mat-header-cell class="r-amount" *matHeaderCellDef> {{"labels.inputs.Balance" |translate}} </th>
<th mat-header-cell class="r-amount" *matHeaderCellDef> {{"labels.inputs.Balance" | translate}} </th>
<td mat-cell class="r-amount" *matCellDef="let element"> {{element.accountBalance | formatNumber}} </td>
</ng-container>
<ng-container matColumnDef="Actions">
<th mat-header-cell class="center" *matHeaderCellDef> {{"labels.inputs.Actions" |translate}} </th>
<th mat-header-cell class="center" *matHeaderCellDef> {{"labels.inputs.Actions" | translate}} </th>
<td mat-cell class="center" *matCellDef="let element">
<ng-container *ngIf="element.status.submittedAndPendingApproval">
<button class="account-action-button" mat-raised-button *mifosxHasPermission="'APPROVE_SAVINGSACCOUNT'"
@@ -494,19 +507,20 @@
[dataSource]="savingAccounts|accountsFilter:'saving':'closed':'isRecurring'">
<ng-container matColumnDef="Account No">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account No" |translate}}. </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account No" | translate}}. </th>
<td mat-cell *matCellDef="let element"> <i class="fa fa-stop" [ngClass]="element.status.code|statusLookup"></i>
{{element.accountNo}} </td>
<mifosx-account-number accountNo="{{element.accountNo}}"></mifosx-account-number>
</td>
</ng-container>
<ng-container matColumnDef="Saving Account">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Saving Account" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Recurring Deposit Product" | translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.productName}} </td>
</ng-container>
<ng-container matColumnDef="Closed Date">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Closed Date" |translate}} </th>
<td mat-cell *matCellDef="let element">{{element.timeline.closedOnDate | dateFormat}}</td>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Closed Date" | translate}} </th>
<td mat-cell *matCellDef="let element">{{element.timeline.closedOnDate | dateFormat}}</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="closedSavingsColumns"></tr>
@@ -518,13 +532,15 @@
<div class="heading-content">
<div fxLayout="column" fxFlex="50%">
<div class="heading-name">
<h3>{{"labels.inputs.Shares Accounts" |translate}}</h3>
<h3>{{"labels.inputs.Shares Accounts" | translate}}</h3>
</div>
</div>
<div fxLayout="column" fxFlex="50%">
<div fxLayout="row" fxLayoutAlign="flex-end">
<button mat-raised-button class="f-right" color="primary"
(click)="toggleShareAccountsOverview()">{{showClosedSavingAccounts?'View Active Accounts':'View Closed Accounts'}}</button>
(click)="toggleShareAccountsOverview()">
{{ viewAccountsLabel(showClosedShareAccounts) | translate }}
</button>
</div>
</div>
</div>
@@ -532,28 +548,29 @@
<table *ngIf="!showClosedShareAccounts" mat-table [dataSource]="shareAccounts|accountsFilter:'share'">
<ng-container matColumnDef="Account No">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account No" |translate}}. </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account No" | translate}}. </th>
<td mat-cell *matCellDef="let element"> <i class="fa fa-stop" [ngClass]="element.status.code|statusLookup"></i>
{{element.accountNo}} </td>
<mifosx-account-number accountNo="{{element.accountNo}}"></mifosx-account-number>
</td>
</ng-container>
<ng-container matColumnDef="Share Account">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Share Account" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Share Product" | translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.productName}} </td>
</ng-container>
<ng-container matColumnDef="Approved Shares">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Approved Shares" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Approved Shares" | translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.totalApprovedShares}} </td>
</ng-container>
<ng-container matColumnDef="Pending For Approval Shares">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Pending For Approval Shares" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Pending For Approval Shares" | translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.totalPendingForApprovalShares}} </td>
</ng-container>
<ng-container matColumnDef="Actions">
<th mat-header-cell class="center" *matHeaderCellDef> {{"labels.inputs.Actions" |translate}} </th>
<th mat-header-cell class="center" *matHeaderCellDef> {{"labels.inputs.Actions" | translate}} </th>
<td mat-cell class="center" *matCellDef="let element">
<button *ngIf="element.status.submittedAndPendingApproval" class="account-action-button" mat-raised-button
color="primary" (click)="routeEdit($event)" [routerLink]="['../','shares-accounts', element.id, 'actions', 'Approve']">
@@ -580,29 +597,30 @@
<table *ngIf="showClosedShareAccounts" mat-table [dataSource]="shareAccounts|accountsFilter:'share':'closed'">
<ng-container matColumnDef="Account No">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account No" |translate}}. </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account No" | translate}}. </th>
<td mat-cell *matCellDef="let element"> <i class="fa fa-stop" [ngClass]="element.status.code|statusLookup"></i>
{{element.accountNo}} </td>
<mifosx-account-number accountNo="{{element.accountNo}}"></mifosx-account-number>
</td>
</ng-container>
<ng-container matColumnDef="Share Account">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Share Account" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Share Product" | translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.productName}} </td>
</ng-container>
<ng-container matColumnDef="Approved Shares">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Approved Shares" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Approved Shares" | translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.totalApprovedShares}} </td>
</ng-container>
<ng-container matColumnDef="Pending For Approval Shares">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Pending For Approval Shares" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Pending For Approval Shares" | translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.totalPendingForApprovalShares}} </td>
</ng-container>
<ng-container matColumnDef="Closed Date">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Closed Date" |translate}} </th>
<td mat-cell *matCellDef="let element">{{element.timeline.closedOnDate | dateFormat}}</td>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Closed Date" | translate}} </th>
<td mat-cell *matCellDef="let element">{{element.timeline.closedOnDate | dateFormat}}</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="closedSharesColumns"></tr>
@@ -614,13 +632,13 @@
<div class="heading-content">
<div fxLayout="column" fxFlex="50%">
<div class="heading-name">
<h3>{{"labels.heading.Collateral Data" |translate}}</h3>
<h3>{{"labels.heading.Collateral Data" | translate}}</h3>
</div>
</div>
<div fxLayout="column" fxFlex="50%">
<div fxLayout="row" fxLayoutAlign="flex-end">
<button mat-raised-button class="f-right" color="primary" disabled>
{{"labels.buttons.View Collaterals" |translate}}
{{"labels.buttons.View Collaterals" | translate}}
</button>
</div>
</div>
@@ -629,27 +647,27 @@
<table mat-table [dataSource]="collaterals">
<ng-container matColumnDef="ID">
<th mat-header-cell *matHeaderCellDef>{{"labels.inputs.ID" |translate}}</th>
<th mat-header-cell *matHeaderCellDef>{{"labels.inputs.ID" | translate}}</th>
<td mat-cell *matCellDef="let element">{{ element.collateralId }}</td>
</ng-container>
<ng-container matColumnDef="Name">
<th mat-header-cell *matHeaderCellDef>{{"labels.inputs.name" |translate}}</th>
<th mat-header-cell *matHeaderCellDef>{{"labels.inputs.name" | translate}}</th>
<td mat-cell *matCellDef="let element">{{ element.name }}</td>
</ng-container>
<ng-container matColumnDef="Quantity">
<th mat-header-cell class="r-amount" *matHeaderCellDef>{{"labels.inputs.Quantity" |translate}}</th>
<th mat-header-cell class="r-amount" *matHeaderCellDef>{{"labels.inputs.Quantity" | translate}}</th>
<td mat-cell class="r-amount" *matCellDef="let element">{{ element.quantity | formatNumber }}</td>
</ng-container>
<ng-container matColumnDef="Total Value">
<th mat-header-cell class="r-amount" *matHeaderCellDef>{{"labels.inputs.Total Value" |translate}}</th>
<th mat-header-cell class="r-amount" *matHeaderCellDef>{{"labels.inputs.Total Value" | translate}}</th>
<td mat-cell class="r-amount" *matCellDef="let element">{{ element.basePrice*element.quantity | formatNumber}}</td>
</ng-container>
<ng-container matColumnDef="Total Collateral Value">
<th mat-header-cell class="r-amount" *matHeaderCellDef>{{"labels.inputs.Total Collateral Value" |translate}}</th>
<th mat-header-cell class="r-amount" *matHeaderCellDef>{{"labels.inputs.Total Collateral Value" | translate}}</th>
<td mat-cell class="r-amount" *matCellDef="let element">{{ element.pctToBase*element.basePrice*element.quantity/100 | formatNumber}}</td>
</ng-container>