build: Use prettier for html
Stop ignoring html files in prettier and fix existing issues.
This commit is contained in:
@@ -1,49 +1,49 @@
|
||||
<div class="container">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="groupsAddRoleForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Client" | translate }}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Client' | translate }}</mat-label>
|
||||
<mat-select formControlName="clientId">
|
||||
<mat-option *ngFor="let client of clientMemberData" [value]="client.id">
|
||||
{{ client.displayName }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="groupsAddRoleForm.controls.clientId.hasError('required')">
|
||||
{{"labels.inputs.Client Member" | translate }} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
|
||||
{{ 'labels.inputs.Client Member' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Role" | translate }}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Role' | translate }}</mat-label>
|
||||
<mat-select formControlName="role">
|
||||
<mat-option *ngFor="let role of roleData" [value]="role.id">
|
||||
{{ role.name }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="groupsAddRoleForm.controls.role.hasError('required')">
|
||||
{{"labels.inputs.Role" | translate }} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
|
||||
{{ 'labels.inputs.Role' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../']">{{"labels.buttons.Cancel" | translate }}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!groupsAddRoleForm.valid"
|
||||
*mifosxHasPermission="'ASSIGNROLE_GROUP'">{{"labels.buttons.Confirm" | translate }}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!groupsAddRoleForm.valid"
|
||||
*mifosxHasPermission="'ASSIGNROLE_GROUP'"
|
||||
>
|
||||
{{ 'labels.buttons.Confirm' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -1,52 +1,57 @@
|
||||
<div class="tab-container mat-typography">
|
||||
|
||||
<div fxLayout="row" fxLayoutAlign="start">
|
||||
<div class="m-b-10">
|
||||
<h3>{{"labels.heading.Client Members" | translate }}</h3>
|
||||
<h3>{{ 'labels.heading.Client Members' | translate }}</h3>
|
||||
</div>
|
||||
<div class="action-button m-b-10" fxLayoutGap="25px" *ngIf="groupStatus !== 'Closed'">
|
||||
<button mat-raised-button class="f-right" color="primary"
|
||||
*mifosxHasPermission="'ASSIGNROLE_GROUP'" [routerLink]="['add-role']">
|
||||
<i class="fa fa-plus"></i> {{"labels.buttons.Add" | translate }}</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
class="f-right"
|
||||
color="primary"
|
||||
*mifosxHasPermission="'ASSIGNROLE_GROUP'"
|
||||
[routerLink]="['add-role']"
|
||||
>
|
||||
<i class="fa fa-plus"></i> {{ 'labels.buttons.Add' | translate }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div *ngIf="groupRolesData">
|
||||
|
||||
<table #rolesTable mat-table [dataSource]="groupRolesData" class="mat-elevation-z1 m-b-25">
|
||||
|
||||
<ng-container matColumnDef="Name">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.name" | translate }} </th>
|
||||
<td mat-cell *matCellDef="let element"> {{element.clientName}} </td>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.name' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let element">{{ element.clientName }}</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="Role">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Role" | translate }} </th>
|
||||
<td mat-cell *matCellDef="let element"> {{element.role.name}} </td>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Role' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let element">{{ element.role.name }}</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="Client Id">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Client Id" | translate }} </th>
|
||||
<td mat-cell *matCellDef="let element"> {{element.clientId}} </td>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Client Id' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let element">{{ element.clientId }}</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="Actions">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Actions" | translate }} </th>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Actions' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let element">
|
||||
<span *ngIf="groupStatus !== 'Closed'">
|
||||
<button class="account-action-button" mat-raised-button color="warn"
|
||||
*mifosxHasPermission="'UNASSIGNROLE_GROUP'" (click)="unassignRole(element.clientId, element.id)">
|
||||
<i class="fa fa-ban" matTooltip="{{ 'tooltips.Unassign' | translate }}"></i>
|
||||
<button
|
||||
class="account-action-button"
|
||||
mat-raised-button
|
||||
color="warn"
|
||||
*mifosxHasPermission="'UNASSIGNROLE_GROUP'"
|
||||
(click)="unassignRole(element.clientId, element.id)"
|
||||
>
|
||||
<i class="fa fa-ban" matTooltip="{{ 'tooltips.Unassign' | translate }}"></i>
|
||||
</button>
|
||||
</span>
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<tr mat-header-row *matHeaderRowDef="groupRolesColumns"></tr>
|
||||
<tr mat-row *matRowDef="let row; columns: groupRolesColumns;"></tr>
|
||||
|
||||
<tr mat-row *matRowDef="let row; columns: groupRolesColumns"></tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
+6
-4
@@ -1,8 +1,10 @@
|
||||
<h1 mat-dialog-title>{{ "labels.heading.Unassign Role" | translate }}</h1>
|
||||
<h1 mat-dialog-title>{{ 'labels.heading.Unassign Role' | translate }}</h1>
|
||||
<div mat-dialog-content>
|
||||
<p>{{"labels.text.Unassign role for client member" |translate}}: {{ data.id }} ?</p>
|
||||
<p>{{ 'labels.text.Unassign role for client member' | translate }}: {{ data.id }} ?</p>
|
||||
</div>
|
||||
<mat-dialog-actions align="end">
|
||||
<button mat-raised-button mat-dialog-close>{{"labels.buttons.Cancel" | translate }}</button>
|
||||
<button mat-raised-button color="warn" [mat-dialog-close]="{ confirm: true }">{{"labels.buttons.Confirm" | translate }}</button>
|
||||
<button mat-raised-button mat-dialog-close>{{ 'labels.buttons.Cancel' | translate }}</button>
|
||||
<button mat-raised-button color="warn" [mat-dialog-close]="{ confirm: true }">
|
||||
{{ 'labels.buttons.Confirm' | translate }}
|
||||
</button>
|
||||
</mat-dialog-actions>
|
||||
|
||||
+6
-4
@@ -1,8 +1,10 @@
|
||||
<h1 mat-dialog-title>{{ "labels.heading.Unassign Role" | translate }}</h1>
|
||||
<h1 mat-dialog-title>{{ 'labels.heading.Unassign Role' | translate }}</h1>
|
||||
<div mat-dialog-content>
|
||||
<p>{{"labels.text.Unassign staff for this group" |translate}} ?</p>
|
||||
<p>{{ 'labels.text.Unassign staff for this group' | translate }} ?</p>
|
||||
</div>
|
||||
<mat-dialog-actions align="end">
|
||||
<button mat-raised-button mat-dialog-close>{{"labels.buttons.Cancel" | translate }}</button>
|
||||
<button mat-raised-button color="warn" [mat-dialog-close]="{ confirm: true }">{{"labels.buttons.Confirm" | translate }}</button>
|
||||
<button mat-raised-button mat-dialog-close>{{ 'labels.buttons.Cancel' | translate }}</button>
|
||||
<button mat-raised-button color="warn" [mat-dialog-close]="{ confirm: true }">
|
||||
{{ 'labels.buttons.Confirm' | translate }}
|
||||
</button>
|
||||
</mat-dialog-actions>
|
||||
|
||||
@@ -1,51 +1,45 @@
|
||||
<div class="tab-container mat-typography">
|
||||
|
||||
<h3>{{"labels.heading.Group Details" | translate }}</h3>
|
||||
<h3>{{ 'labels.heading.Group Details' | translate }}</h3>
|
||||
|
||||
<div fxLayout="row" fxLayoutGap="32px" class="group-details-container m-b-30">
|
||||
<p>
|
||||
{{"labels.inputs.Active Client Loans" | translate }}: {{groupSummary?.activeClientLoans}}<br/>
|
||||
{{"labels.inputs.Active Client Borrowers" | translate }}: {{groupSummary?.activeClientBorrowers}}<br/>
|
||||
{{"labels.inputs.Active Overdue Client Loans" | translate }}: {{groupSummary?.overdueClientLoans}}<br/>
|
||||
{{ 'labels.inputs.Active Client Loans' | translate }}: {{ groupSummary?.activeClientLoans }}<br />
|
||||
{{ 'labels.inputs.Active Client Borrowers' | translate }}: {{ groupSummary?.activeClientBorrowers }}<br />
|
||||
{{ 'labels.inputs.Active Overdue Client Loans' | translate }}: {{ groupSummary?.overdueClientLoans }}<br />
|
||||
</p>
|
||||
<p>
|
||||
{{"labels.inputs.Active Group Loans" | translate }}: {{groupSummary?.activeGroupLoans}}<br/>
|
||||
{{"labels.inputs.Active Group Borrowers" | translate }}: {{groupSummary?.activeGroupBorrowers}}<br/>
|
||||
{{"labels.inputs.Active Overdue Group Loans" | translate }}: {{groupSummary?.overdueGroupLoans}}<br/>
|
||||
</p>
|
||||
<p>
|
||||
{{"labels.inputs.Active Clients" | translate }}: {{groupSummary?.activeClients}}<br/>
|
||||
{{ 'labels.inputs.Active Group Loans' | translate }}: {{ groupSummary?.activeGroupLoans }}<br />
|
||||
{{ 'labels.inputs.Active Group Borrowers' | translate }}: {{ groupSummary?.activeGroupBorrowers }}<br />
|
||||
{{ 'labels.inputs.Active Overdue Group Loans' | translate }}: {{ groupSummary?.overdueGroupLoans }}<br />
|
||||
</p>
|
||||
<p>{{ 'labels.inputs.Active Clients' | translate }}: {{ groupSummary?.activeClients }}<br /></p>
|
||||
</div>
|
||||
|
||||
<!-- Client Members Table -->
|
||||
<div *ngIf="groupClientMembers">
|
||||
<h3>{{ 'labels.heading.Client Members' | translate }}</h3>
|
||||
|
||||
<h3>{{"labels.heading.Client Members" | translate }}</h3>
|
||||
|
||||
<table mat-table [dataSource]="groupClientMembers"
|
||||
class="mat-elevation-z1 m-b-30">
|
||||
|
||||
<table mat-table [dataSource]="groupClientMembers" class="mat-elevation-z1 m-b-30">
|
||||
<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.status.code|statusLookup" [matTooltip]="element.status.value"></i>
|
||||
{{element.displayName}}
|
||||
<i class="fa fa-stop" [ngClass]="element.status.code | statusLookup" [matTooltip]="element.status.value"></i>
|
||||
{{ element.displayName }}
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="Account No">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account No" | translate }}. </th>
|
||||
<td mat-cell *matCellDef="let element"> {{element.accountNo}} </td>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Account No' | translate }}.</th>
|
||||
<td mat-cell *matCellDef="let element">{{ element.accountNo }}</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="Office">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Office" | translate }} </th>
|
||||
<td mat-cell *matCellDef="let element"> {{element.officeName}} </td>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Office' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let element">{{ element.officeName }}</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="JLG Loan Application">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.JLG Loan Application" | translate }} </th>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.JLG Loan Application' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let element">
|
||||
<div class="m-l-30" *ngIf="element.status.code !== 'clientStatusType.closed'">
|
||||
<button class="account-action-button" mat-raised-button color="primary">
|
||||
@@ -56,328 +50,415 @@
|
||||
</ng-container>
|
||||
|
||||
<tr mat-header-row *matHeaderRowDef="clientMemberColumns"></tr>
|
||||
<tr mat-row *matRowDef="let row; columns: clientMemberColumns;" [routerLink]="['/clients', row.id, 'loans-accounts', 'create']" class="select-row"></tr>
|
||||
|
||||
<tr
|
||||
mat-row
|
||||
*matRowDef="let row; columns: clientMemberColumns"
|
||||
[routerLink]="['/clients', row.id, 'loans-accounts', 'create']"
|
||||
class="select-row"
|
||||
></tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
<div *ngIf="loanAccounts">
|
||||
|
||||
<div fxLayout="row" fxLayoutAlign="start" class="table-header">
|
||||
<div class="m-b-10">
|
||||
<h3>{{"labels.heading.Loan Accounts" | translate }}</h3>
|
||||
<h3>{{ 'labels.heading.Loan Accounts' | translate }}</h3>
|
||||
</div>
|
||||
<div *ngIf="(loanAccounts|accountsFilter:'loan':'closed').length" class="action-button m-b-10">
|
||||
<button mat-raised-button class="f-right" color="primary"
|
||||
(click)="toggleLoanAccountsOverview()">{{showClosedLoanAccounts?'View Active Accounts':'View Closed Accounts'}}</button>
|
||||
<div *ngIf="(loanAccounts | accountsFilter: 'loan' : 'closed').length" class="action-button m-b-10">
|
||||
<button mat-raised-button class="f-right" color="primary" (click)="toggleLoanAccountsOverview()">
|
||||
{{ showClosedLoanAccounts ? 'View Active Accounts' : 'View Closed Accounts' }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Open Loan Accounts Table -->
|
||||
<table *ngIf="!showClosedLoanAccounts" mat-table [dataSource]="loanAccounts|accountsFilter:'loan'"
|
||||
class="mat-elevation-z1 m-b-30">
|
||||
|
||||
<table
|
||||
*ngIf="!showClosedLoanAccounts"
|
||||
mat-table
|
||||
[dataSource]="loanAccounts | accountsFilter: 'loan'"
|
||||
class="mat-elevation-z1 m-b-30"
|
||||
>
|
||||
<ng-container matColumnDef="Account No">
|
||||
<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)"
|
||||
[matTooltip]="element.inArrears?'Active Overdue':element.status.value"></i>
|
||||
{{element.accountNo}}
|
||||
<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)"
|
||||
[matTooltip]="element.inArrears ? 'Active Overdue' : element.status.value"
|
||||
></i>
|
||||
{{ element.accountNo }}
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="Loan Account">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Loan Account" | translate }} </th>
|
||||
<td mat-cell *matCellDef="let element"> {{element.productName}} </td>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Loan Account' | 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.originalLoan}} </td>
|
||||
<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 *matHeaderCellDef> {{"labels.inputs.Loan Balance" | translate }} </th>
|
||||
<td mat-cell *matCellDef="let element"> {{element.loanBalance}} </td>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Loan Balance' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let element">{{ element.loanBalance }}</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="Amount Paid">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Amount Paid" | translate }} </th>
|
||||
<td mat-cell *matCellDef="let element"> {{element.amountPaid}} </td>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Amount Paid' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let element">{{ element.amountPaid }}</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="Type">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Type" | translate }} </th>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Type' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let element">
|
||||
<i class="fa fa-large" [ngClass]="(element.loanType.value==='Individual')?'fa-user':'fa-group'"
|
||||
[matTooltip]="(element.loanType.value==='Individual')?'Individual':'Group'"></i>
|
||||
<i
|
||||
class="fa fa-large"
|
||||
[ngClass]="element.loanType.value === 'Individual' ? 'fa-user' : 'fa-group'"
|
||||
[matTooltip]="element.loanType.value === 'Individual' ? 'Individual' : 'Group'"
|
||||
></i>
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="Actions">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Actions" | translate }} </th>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Actions' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let element">
|
||||
<button *ngIf="element.status.active" class="account-action-button" mat-raised-button color="primary">
|
||||
<i class="fa fa-dollar" matTooltip="{{ 'tooltips.Make Repayment' | translate }}"></i>
|
||||
</button>
|
||||
<button *ngIf="element.status.pendingApproval" class="account-action-button" mat-raised-button color="primary">
|
||||
<button
|
||||
*ngIf="element.status.pendingApproval"
|
||||
class="account-action-button"
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
>
|
||||
<i class="fa fa-check" matTooltip="{{ 'tooltips.Approve' | translate }}"></i>
|
||||
</button>
|
||||
<button *ngIf="!element.status.pendingApproval && !element.status.active && !element.status.overpaid"
|
||||
class="account-action-button" mat-raised-button color="primary">
|
||||
<button
|
||||
*ngIf="!element.status.pendingApproval && !element.status.active && !element.status.overpaid"
|
||||
class="account-action-button"
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
>
|
||||
<i class="fa fa-flag" matTooltip="{{ 'tooltips.Disburse' | translate }}"></i>
|
||||
</button>
|
||||
<button *ngIf="!element.status.pendingApproval && !element.status.active && element.status.overpaid"
|
||||
class="account-action-button" mat-raised-button color="primary">
|
||||
<button
|
||||
*ngIf="!element.status.pendingApproval && !element.status.active && element.status.overpaid"
|
||||
class="account-action-button"
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
>
|
||||
<i class="fa fa-exchange" matTooltip="{{ 'tooltips.Transfer Funds' | translate }}"></i>
|
||||
</button>
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<tr mat-header-row *matHeaderRowDef="openLoansColumns"></tr>
|
||||
<tr mat-row *matRowDef="let row; columns: openLoansColumns;" [routerLink]="['../', 'loans-accounts', row.id, 'general']"></tr>
|
||||
|
||||
<tr
|
||||
mat-row
|
||||
*matRowDef="let row; columns: openLoansColumns"
|
||||
[routerLink]="['../', 'loans-accounts', row.id, 'general']"
|
||||
></tr>
|
||||
</table>
|
||||
|
||||
<!-- Closed Loan Accounts Table-->
|
||||
<table *ngIf="showClosedLoanAccounts" mat-table [dataSource]="loanAccounts|accountsFilter:'loan':'closed'"
|
||||
class="mat-elevation-z1 m-b-30">
|
||||
|
||||
<table
|
||||
*ngIf="showClosedLoanAccounts"
|
||||
mat-table
|
||||
[dataSource]="loanAccounts | accountsFilter: 'loan' : 'closed'"
|
||||
class="mat-elevation-z1 m-b-30"
|
||||
>
|
||||
<ng-container matColumnDef="Account No">
|
||||
<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)"
|
||||
[matTooltip]="element.inArrears?'Active Overdue':element.status.value"></i>
|
||||
{{element.accountNo}}
|
||||
<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)"
|
||||
[matTooltip]="element.inArrears ? 'Active Overdue' : element.status.value"
|
||||
></i>
|
||||
{{ element.accountNo }}
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="Loan Account">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Loan Account" | translate }} </th>
|
||||
<td mat-cell *matCellDef="let element"> {{element.productName}} </td>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Loan Account' | 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 *matHeaderCellDef> {{"labels.inputs.Loan Balance" | translate }} </th>
|
||||
<td mat-cell *matCellDef="let element"> {{element.loanBalance}} </td>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Loan Balance' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let element">{{ element.loanBalance }}</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="Amount Paid">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Amount Paid" | translate }} </th>
|
||||
<td mat-cell *matCellDef="let element"> {{element.accountBalance}} </td>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Amount Paid' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let element">{{ element.accountBalance }}</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="Type">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Type" | translate }} </th>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Type' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let element">
|
||||
<i class="fa fa-large" [ngClass]="(element.loanType.value=== 'Individual')?'fa-user':'fa-group'"
|
||||
[matTooltip]="(element.loanType.value==='Individual')?'Individual':'Group'"></i>
|
||||
<i
|
||||
class="fa fa-large"
|
||||
[ngClass]="element.loanType.value === 'Individual' ? 'fa-user' : 'fa-group'"
|
||||
[matTooltip]="element.loanType.value === 'Individual' ? 'Individual' : 'Group'"
|
||||
></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>
|
||||
<tr mat-row *matRowDef="let row; columns: closedLoansColumns;" [routerLink]="['../', 'loans-accounts', row.id, 'general']"></tr>
|
||||
|
||||
<tr
|
||||
mat-row
|
||||
*matRowDef="let row; columns: closedLoansColumns"
|
||||
[routerLink]="['../', 'loans-accounts', row.id, 'general']"
|
||||
></tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
<div *ngIf="gsimAccounts">
|
||||
|
||||
<div fxLayout="row" fxLayoutAlign="start" class="table-header">
|
||||
<div class="m-b-10">
|
||||
<h3>{{"labels.heading.GSIM Account Overview" | translate }}</h3>
|
||||
<h3>{{ 'labels.heading.GSIM Account Overview' | translate }}</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- GSIM Accounts Table -->
|
||||
<table mat-table [dataSource]="gsimAccounts"
|
||||
class="mat-elevation-z1 m-b-30">
|
||||
|
||||
<table mat-table [dataSource]="gsimAccounts" class="mat-elevation-z1 m-b-30">
|
||||
<ng-container matColumnDef="GSIM Id">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.GSIM Id" | translate }} </th>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.GSIM Id' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let element">
|
||||
{{element.gsimId}} </td>
|
||||
{{ element.gsimId }}
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="Account Number">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account Number" | translate }} </th>
|
||||
<td mat-cell *matCellDef="let element"> {{element.accountNumber}} </td>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Account Number' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let element">{{ element.accountNumber }}</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="Product">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Product" | translate }} </th>
|
||||
<td mat-cell *matCellDef="let element"> {{element.childGSIMAccounts[0].productName}}</td>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Product' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let element">{{ element.childGSIMAccounts[0].productName }}</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="Balance">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Balance" | translate }} </th>
|
||||
<td mat-cell *matCellDef="let element"> {{element.parentBalance}} </td>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Balance' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let element">{{ element.parentBalance }}</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="Status">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Status" | translate }} </th>
|
||||
<td mat-cell *matCellDef="let element"> {{element.savingsStatus}} </td>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Status' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let element">{{ element.savingsStatus }}</td>
|
||||
</ng-container>
|
||||
|
||||
<tr mat-header-row *matHeaderRowDef="gsimAccountsColumns"></tr>
|
||||
<tr mat-row *matRowDef="let row; columns: gsimAccountsColumns;" [routerLink]="['../', 'savings-accounts', 'gsim-account', row.accountNumber]"></tr>
|
||||
|
||||
<tr
|
||||
mat-row
|
||||
*matRowDef="let row; columns: gsimAccountsColumns"
|
||||
[routerLink]="['../', 'savings-accounts', 'gsim-account', row.accountNumber]"
|
||||
></tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
<div *ngIf="glimAccounts">
|
||||
|
||||
<div fxLayout="row" fxLayoutAlign="start" class="table-header">
|
||||
<div class="m-b-10">
|
||||
<h3>{{"labels.heading.GLIM Loans Account Overview" | translate }}</h3>
|
||||
<h3>{{ 'labels.heading.GLIM Loans Account Overview' | translate }}</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- GLIM Loans Accounts Table -->
|
||||
<table mat-table [dataSource]="glimAccounts"
|
||||
class="mat-elevation-z1 m-b-30">
|
||||
|
||||
<table mat-table [dataSource]="glimAccounts" class="mat-elevation-z1 m-b-30">
|
||||
<ng-container matColumnDef="GLIM Id">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.GLIM Id" | translate }} </th>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.GLIM Id' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let element">
|
||||
{{element.glimId}} </td>
|
||||
{{ element.glimId }}
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="Account Number">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account Number" | translate }} </th>
|
||||
<td mat-cell *matCellDef="let element"> {{element.accountNumber}} </td>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Account Number' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let element">{{ element.accountNumber }}</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="Product">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Product" | translate }} </th>
|
||||
<td mat-cell *matCellDef="let element"> {{element.childGLIMAccounts[0].productName}} </td>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Product' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let element">{{ element.childGLIMAccounts[0].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.parentPrincipalAmount}} </td>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Original Loan' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let element">{{ element.parentPrincipalAmount }}</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="Status">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Status" | translate }} </th>
|
||||
<td mat-cell *matCellDef="let element">{{element.loanStatus}} </td>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Status' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let element">{{ element.loanStatus }}</td>
|
||||
</ng-container>
|
||||
|
||||
<tr mat-header-row *matHeaderRowDef="glimAccountsColumns"></tr>
|
||||
<tr mat-row *matRowDef="let row; columns: glimAccountsColumns;" [routerLink]="['../', 'loans-accounts', 'glim-account', row.glimId]"></tr>
|
||||
|
||||
<tr
|
||||
mat-row
|
||||
*matRowDef="let row; columns: glimAccountsColumns"
|
||||
[routerLink]="['../', 'loans-accounts', 'glim-account', row.glimId]"
|
||||
></tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
<div *ngIf="savingAccounts">
|
||||
|
||||
<div fxLayout="row" fxLayoutAlign="start" class="table-header">
|
||||
<div class="m-b-10">
|
||||
<h3>{{"labels.heading.Saving Accounts" | translate }}</h3>
|
||||
<h3>{{ 'labels.heading.Saving Accounts' | translate }}</h3>
|
||||
</div>
|
||||
<div class="action-button m-b-10">
|
||||
<button *ngIf="(savingAccounts|accountsFilter:'saving':'closed').length" mat-raised-button class="f-right" color="primary"
|
||||
(click)="toggleSavingAccountsOverview()">{{showClosedSavingAccounts?'View Active Accounts':'View Closed Accounts'}}</button>
|
||||
<button
|
||||
*ngIf="(savingAccounts | accountsFilter: 'saving' : 'closed').length"
|
||||
mat-raised-button
|
||||
class="f-right"
|
||||
color="primary"
|
||||
(click)="toggleSavingAccountsOverview()"
|
||||
>
|
||||
{{ showClosedSavingAccounts ? 'View Active Accounts' : 'View Closed Accounts' }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Open Savings Accounts Table -->
|
||||
<table *ngIf="!showClosedSavingAccounts" mat-table [dataSource]="savingAccounts|accountsFilter:'saving'"
|
||||
class="mat-elevation-z1 m-b-30">
|
||||
|
||||
<table
|
||||
*ngIf="!showClosedSavingAccounts"
|
||||
mat-table
|
||||
[dataSource]="savingAccounts | accountsFilter: 'saving'"
|
||||
class="mat-elevation-z1 m-b-30"
|
||||
>
|
||||
<ng-container matColumnDef="Account No">
|
||||
<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" [matTooltip]="element.status.value"></i>
|
||||
{{element.accountNo}} </td>
|
||||
<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" [matTooltip]="element.status.value"></i>
|
||||
{{ element.accountNo }}
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="Saving Account">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Saving Account" | translate }} </th>
|
||||
<td mat-cell *matCellDef="let element"> {{element.productName}} </td>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Saving Account' | 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 *matHeaderCellDef> {{"labels.inputs.Balance" | translate }} </th>
|
||||
<td mat-cell *matCellDef="let element"> {{element.accountBalance}} </td>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Balance' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let element">{{ element.accountBalance }}</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="Actions">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Actions" | translate }} </th>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Actions' | translate }}</th>
|
||||
<td mat-cell *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']">
|
||||
<button
|
||||
*ngIf="element.status.active"
|
||||
class="account-action-button"
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
(click)="routeEdit($event)"
|
||||
[routerLink]="['../', 'savings-accounts', element.id, 'actions', 'Deposit']"
|
||||
>
|
||||
<i class="fa fa-arrow-up" matTooltip="{{ 'tooltips.Deposit' | translate }}"></i>
|
||||
</button>
|
||||
<button *ngIf="element.status.active" class="account-action-button" mat-raised-button color="primary"
|
||||
(click)="routeEdit($event)" [routerLink]="['../','savings-accounts', element.id, 'actions', 'Withdrawal']">
|
||||
<button
|
||||
*ngIf="element.status.active"
|
||||
class="account-action-button"
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
(click)="routeEdit($event)"
|
||||
[routerLink]="['../', 'savings-accounts', element.id, 'actions', 'Withdrawal']"
|
||||
>
|
||||
<i class="fa fa-arrow-down" matTooltip="{{ 'tooltips.Withdraw' | translate }}"></i>
|
||||
</button>
|
||||
<button *ngIf="element.status.submittedAndPendingApproval" class="account-action-button" mat-raised-button color="primary"
|
||||
(click)="routeEdit($event)" [routerLink]="['../','savings-accounts', element.id, 'actions', 'Approve']">
|
||||
<button
|
||||
*ngIf="element.status.submittedAndPendingApproval"
|
||||
class="account-action-button"
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
(click)="routeEdit($event)"
|
||||
[routerLink]="['../', 'savings-accounts', element.id, 'actions', 'Approve']"
|
||||
>
|
||||
<i class="fa fa-check" matTooltip="{{ 'tooltips.Approve' | translate }}"></i>
|
||||
</button>
|
||||
<button *ngIf="!element.status.submittedAndPendingApproval && !element.status.active"
|
||||
class="account-action-button" mat-raised-button color="primary"
|
||||
(click)="routeEdit($event)" [routerLink]="['../','savings-accounts', element.id, 'actions', 'Undo Approval']">
|
||||
<button
|
||||
*ngIf="!element.status.submittedAndPendingApproval && !element.status.active"
|
||||
class="account-action-button"
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
(click)="routeEdit($event)"
|
||||
[routerLink]="['../', 'savings-accounts', element.id, 'actions', 'Undo Approval']"
|
||||
>
|
||||
<i class="fa fa-undo" matTooltip="{{ 'tooltips.Undo Approval' | translate }}"></i>
|
||||
</button>
|
||||
<button *ngIf="!element.status.submittedAndPendingApproval && !element.status.active"
|
||||
class="account-action-button" mat-raised-button color="primary"
|
||||
(click)="routeEdit($event)" [routerLink]="['../','savings-accounts', element.id, 'actions', 'Activate']">
|
||||
<button
|
||||
*ngIf="!element.status.submittedAndPendingApproval && !element.status.active"
|
||||
class="account-action-button"
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
(click)="routeEdit($event)"
|
||||
[routerLink]="['../', 'savings-accounts', element.id, 'actions', 'Activate']"
|
||||
>
|
||||
<i class="fa fa-check-circle" matTooltip="{{ 'tooltips.Activate' | translate }}"></i>
|
||||
</button>
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<tr mat-header-row *matHeaderRowDef="openSavingsColumns"></tr>
|
||||
<tr mat-row *matRowDef="let row; columns: openSavingsColumns;" [routerLink]="['../', 'savings-accounts', row.id, 'transactions']"></tr>
|
||||
|
||||
<tr
|
||||
mat-row
|
||||
*matRowDef="let row; columns: openSavingsColumns"
|
||||
[routerLink]="['../', 'savings-accounts', row.id, 'transactions']"
|
||||
></tr>
|
||||
</table>
|
||||
|
||||
<!-- Closed Saving Accounts Table -->
|
||||
<table *ngIf="showClosedSavingAccounts" mat-table [dataSource]="savingAccounts|accountsFilter:'saving':'closed'"
|
||||
class="mat-elevation-z1 m-b-30">
|
||||
|
||||
<table
|
||||
*ngIf="showClosedSavingAccounts"
|
||||
mat-table
|
||||
[dataSource]="savingAccounts | accountsFilter: 'saving' : 'closed'"
|
||||
class="mat-elevation-z1 m-b-30"
|
||||
>
|
||||
<ng-container matColumnDef="Account No">
|
||||
<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" [matTooltip]="element.status.value"></i>
|
||||
{{element.accountNo}} </td>
|
||||
<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" [matTooltip]="element.status.value"></i>
|
||||
{{ element.accountNo }}
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="Saving Account">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Saving Account" | translate }} </th>
|
||||
<td mat-cell *matCellDef="let element"> {{element.productName}} </td>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Saving Account' | 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>
|
||||
<tr mat-row *matRowDef="let row; columns: closedSavingsColumns;" [routerLink]="['../', 'savings-accounts', row.id, 'transactions']"></tr>
|
||||
|
||||
<tr
|
||||
mat-row
|
||||
*matRowDef="let row; columns: closedSavingsColumns"
|
||||
[routerLink]="['../', 'savings-accounts', row.id, 'transactions']"
|
||||
></tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
+23
-19
@@ -1,30 +1,34 @@
|
||||
<div class="container">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="activateGroupForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<mat-form-field fxFlex (click)="activationDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Activated On Date" | translate }}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="activationDatePicker" required formControlName="activationDate">
|
||||
<mat-datepicker-toggle matSuffix [for]="activationDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #activationDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="activateGroupForm.controls.activationDate.hasError('required')">
|
||||
{{"labels.inputs.Activated On Date" | translate }} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field fxFlex (click)="activationDatePicker.open()">
|
||||
<mat-label>{{ 'labels.inputs.Activated On Date' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[max]="maxDate"
|
||||
[matDatepicker]="activationDatePicker"
|
||||
required
|
||||
formControlName="activationDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="activationDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #activationDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="activateGroupForm.controls.activationDate.hasError('required')">
|
||||
{{ 'labels.inputs.Activated On Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
</mat-card-content>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../']">{{"labels.buttons.Cancel" | translate }}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!activateGroupForm.valid">{{"labels.buttons.Confirm" | translate }}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!activateGroupForm.valid">
|
||||
{{ 'labels.buttons.Confirm' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+41
-31
@@ -1,75 +1,85 @@
|
||||
<div class="container">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="groupMeetingForm">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field (click)="startDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Meeting Start Date" | translate }}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="startDatePicker" required formControlName="startDate">
|
||||
<mat-label>{{ 'labels.inputs.Meeting Start Date' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[max]="maxDate"
|
||||
[matDatepicker]="startDatePicker"
|
||||
required
|
||||
formControlName="startDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="startDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #startDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="groupMeetingForm.controls.startDate.hasError('required')">
|
||||
{{"labels.inputs.Start Date" | translate }} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
|
||||
{{ 'labels.inputs.Start Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-checkbox class="m-t-10 m-b-10" labelPosition="before" formControlName="repeating">
|
||||
{{"labels.inputs.Repeats" | translate }}?
|
||||
{{ 'labels.inputs.Repeats' | translate }}?
|
||||
</mat-checkbox>
|
||||
|
||||
<mat-form-field *ngIf="groupMeetingForm.contains('frequency')">
|
||||
<mat-label>{{"labels.inputs.Repetition Frequency" | translate }}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Repetition Frequency' | translate }}</mat-label>
|
||||
<mat-select formControlName="frequency">
|
||||
<mat-option *ngFor="let option of frequencyOptions" [value]="option.id">
|
||||
{{ option.value }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="groupMeetingForm.controls.frequency.hasError('repeatsOnDay')">
|
||||
{{"labels.inputs.Repetition Frequency" | translate }} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
|
||||
{{ 'labels.inputs.Repetition Frequency' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field *ngIf="groupMeetingForm.contains('interval')">
|
||||
<mat-label>{{"labels.inputs.Repetition Interval" | translate }}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Repetition Interval' | translate }}</mat-label>
|
||||
<mat-select formControlName="interval">
|
||||
<mat-option *ngFor="let interval of repetitionIntervals" [value]="interval">
|
||||
{{ interval }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="groupMeetingForm.controls.interval.hasError('repeatsOnDay')">
|
||||
{{"labels.inputs.Repeition Interval" | translate }} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
|
||||
{{ 'labels.inputs.Repeition Interval' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field *ngIf="groupMeetingForm.contains('repeatsOnDay')">
|
||||
<mat-label>{{"labels.inputs.Repeats on Day" | translate }}</mat-label>
|
||||
<mat-select formControlName="repeatsOnDay" required>
|
||||
<mat-option *ngFor="let day of repeatsOnDays" [value]="day.id">
|
||||
{{ day.value }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="groupMeetingForm.controls.repeatsOnDay.hasError('repeatsOnDay')">
|
||||
{{"labels.inputs.At least" | translate }} <strong>{{"labels.inputs.one" | translate }}</strong> {{"labels.inputs.day must be selected" | translate }}
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-label>{{ 'labels.inputs.Repeats on Day' | translate }}</mat-label>
|
||||
<mat-select formControlName="repeatsOnDay" required>
|
||||
<mat-option *ngFor="let day of repeatsOnDays" [value]="day.id">
|
||||
{{ day.value }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="groupMeetingForm.controls.repeatsOnDay.hasError('repeatsOnDay')">
|
||||
{{ 'labels.inputs.At least' | translate }} <strong>{{ 'labels.inputs.one' | translate }}</strong>
|
||||
{{ 'labels.inputs.day must be selected' | translate }}
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../']">{{"labels.buttons.Cancel" | translate }}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!groupMeetingForm.valid" (click)="submit()"
|
||||
*mifosxHasPermission="'CREATE_MEETING'">{{"labels.buttons.Submit" | translate }}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!groupMeetingForm.valid"
|
||||
(click)="submit()"
|
||||
*mifosxHasPermission="'CREATE_MEETING'"
|
||||
>
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -1,46 +1,49 @@
|
||||
<div class="container">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="closeGroupForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field (click)="closureDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Closed On Date" | translate }}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="closureDatePicker" required formControlName="closureDate">
|
||||
<mat-label>{{ 'labels.inputs.Closed On Date' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[max]="maxDate"
|
||||
[matDatepicker]="closureDatePicker"
|
||||
required
|
||||
formControlName="closureDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="closureDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #closureDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="closeGroupForm.controls.closureDate.hasError('required')">
|
||||
{{"labels.inputs.Closed On Date" | translate }} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
|
||||
{{ 'labels.inputs.Closed On Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field fxFlex="48%">
|
||||
<mat-label>{{"labels.inputs.Closure Reason" | translate }}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Closure Reason' | translate }}</mat-label>
|
||||
<mat-select formControlName="closureReasonId">
|
||||
<mat-option *ngFor="let reason of closureData" [value]="reason.id">
|
||||
{{ reason.name }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="closeGroupForm.controls.closureReasonId.hasError('required')">
|
||||
{{"labels.inputs.Closure Reason" | translate }} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
|
||||
{{ 'labels.inputs.Closure Reason' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../']">{{"labels.buttons.Cancel" | translate }}</button>
|
||||
<button mat-raised-button color="warn" [disabled]="!closeGroupForm.valid">{{"labels.buttons.Confirm" | translate }}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button mat-raised-button color="warn" [disabled]="!closeGroupForm.valid">
|
||||
{{ 'labels.buttons.Confirm' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+41
-33
@@ -1,47 +1,55 @@
|
||||
<div class="container">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="groupEditMeetingScheduleForm">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
<mat-form-field>
|
||||
<mat-label>{{ 'labels.inputs.Existing Meeting Date' | translate }}</mat-label>
|
||||
<mat-select formControlName="presentMeetingDate">
|
||||
<mat-option *ngFor="let date of nextMeetingDates" [value]="date">
|
||||
{{ date | dateFormat }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="groupEditMeetingScheduleForm.controls.presentMeetingDate.hasError('repeatsOnDay')">
|
||||
{{ 'labels.inputs.Existing Meeting Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Existing Meeting Date" |translate}}</mat-label>
|
||||
<mat-select formControlName="presentMeetingDate">
|
||||
<mat-option *ngFor="let date of nextMeetingDates" [value]="date">
|
||||
{{ date | dateFormat }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="groupEditMeetingScheduleForm.controls.presentMeetingDate.hasError('repeatsOnDay')">
|
||||
{{"labels.inputs.Existing Meeting Date" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field (click)="newMeetingDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Revised Meeting Date" |translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="newMeetingDatePicker" required formControlName="newMeetingDate">
|
||||
<mat-datepicker-toggle matSuffix [for]="newMeetingDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #newMeetingDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="groupEditMeetingScheduleForm.controls.newMeetingDate.hasError('required')">
|
||||
{{"labels.inputs.Revised Meeting Date" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field (click)="newMeetingDatePicker.open()">
|
||||
<mat-label>{{ 'labels.inputs.Revised Meeting Date' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[max]="maxDate"
|
||||
[matDatepicker]="newMeetingDatePicker"
|
||||
required
|
||||
formControlName="newMeetingDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="newMeetingDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #newMeetingDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="groupEditMeetingScheduleForm.controls.newMeetingDate.hasError('required')">
|
||||
{{ 'labels.inputs.Revised Meeting Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../']">{{"labels.buttons.Cancel" | translate }}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!groupEditMeetingScheduleForm.valid" (click)="submit()"
|
||||
*mifosxHasPermission="'CREATE_MEETING'">{{"labels.buttons.Submit" | translate }}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!groupEditMeetingScheduleForm.valid"
|
||||
(click)="submit()"
|
||||
*mifosxHasPermission="'CREATE_MEETING'"
|
||||
>
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+50
-40
@@ -1,81 +1,91 @@
|
||||
<div class="container m-b-20" fxLayout="row" fxLayoutAlign="end">
|
||||
<button mat-raised-button color="primary" (click)="editSchedule()">
|
||||
<fa-icon icon="edit" class="m-r-10"></fa-icon>
|
||||
{{"labels.buttons.Edit Schedule" |translate}}
|
||||
{{ 'labels.buttons.Edit Schedule' | translate }}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="groupEditMeetingForm">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Repetition Frequency" |translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Repetition Frequency' | translate }}</mat-label>
|
||||
<mat-select formControlName="frequency">
|
||||
<mat-option *ngFor="let option of frequencyOptions" [value]="option.id">
|
||||
{{ option.value }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="groupEditMeetingForm.controls.frequency.hasError('repeatsOnDay')">
|
||||
{{"labels.inputs.Repetition Frequency" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
|
||||
{{ 'labels.inputs.Repetition Frequency' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Repetition Interval" |translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Repetition Interval' | translate }}</mat-label>
|
||||
<mat-select formControlName="interval">
|
||||
<mat-option *ngFor="let interval of repetitionIntervals" [value]="interval">
|
||||
{{ interval }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="groupEditMeetingForm.controls.interval.hasError('repeatsOnDay')">
|
||||
{{"labels.inputs.Repeition Interval" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
|
||||
{{ 'labels.inputs.Repeition Interval' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field *ngIf="groupEditMeetingForm.contains('repeatsOnDay')">
|
||||
<mat-label>{{"labels.inputs.Repeats on Day" |translate}}</mat-label>
|
||||
<mat-select formControlName="repeatsOnDay" required>
|
||||
<mat-option *ngFor="let day of repeatsOnDays" [value]="day.id">
|
||||
{{ day.value }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="groupEditMeetingForm.controls.repeatsOnDay.hasError('repeatsOnDay')">
|
||||
{{"labels.inputs.At least" | translate }} <strong>{{"labels.inputs.one" | translate }}</strong> {{"labels.inputs.day must be selected" | translate }}
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field class="m-b-5" (click)="startDatePicker.open()">
|
||||
<mat-label>{{"labels.inputs.Above Changes are Effective from" |translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="startDatePicker" required formControlName="startDate">
|
||||
<mat-datepicker-toggle matSuffix [for]="startDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #startDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="groupEditMeetingForm.controls.startDate.hasError('required')">
|
||||
{{"labels.inputs.Changes Affection Date" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
|
||||
</mat-error>
|
||||
<mat-hint>
|
||||
{{"labels.text.Repeats' and 'Repeats every" |translate}}
|
||||
</mat-hint>
|
||||
</mat-form-field>
|
||||
<mat-label>{{ 'labels.inputs.Repeats on Day' | translate }}</mat-label>
|
||||
<mat-select formControlName="repeatsOnDay" required>
|
||||
<mat-option *ngFor="let day of repeatsOnDays" [value]="day.id">
|
||||
{{ day.value }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="groupEditMeetingForm.controls.repeatsOnDay.hasError('repeatsOnDay')">
|
||||
{{ 'labels.inputs.At least' | translate }} <strong>{{ 'labels.inputs.one' | translate }}</strong>
|
||||
{{ 'labels.inputs.day must be selected' | translate }}
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field class="m-b-5" (click)="startDatePicker.open()">
|
||||
<mat-label>{{ 'labels.inputs.Above Changes are Effective from' | translate }}</mat-label>
|
||||
<input
|
||||
matInput
|
||||
[min]="minDate"
|
||||
[max]="maxDate"
|
||||
[matDatepicker]="startDatePicker"
|
||||
required
|
||||
formControlName="startDate"
|
||||
/>
|
||||
<mat-datepicker-toggle matSuffix [for]="startDatePicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #startDatePicker></mat-datepicker>
|
||||
<mat-error *ngIf="groupEditMeetingForm.controls.startDate.hasError('required')">
|
||||
{{ 'labels.inputs.Changes Affection Date' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
<mat-hint>
|
||||
{{ "labels.text.Repeats' and 'Repeats every" | translate }}
|
||||
</mat-hint>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../']">{{"labels.buttons.Cancel" | translate }}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!groupEditMeetingForm.valid" (click)="submit()"
|
||||
*mifosxHasPermission="'CREATE_MEETING'">{{"labels.buttons.Submit" | translate }}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!groupEditMeetingForm.valid"
|
||||
(click)="submit()"
|
||||
*mifosxHasPermission="'CREATE_MEETING'"
|
||||
>
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+9
-14
@@ -1,36 +1,31 @@
|
||||
<div class="container">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="groupAssignStaffForm" (ngSubmit)="submit()">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field fxFlex="48%">
|
||||
<mat-label>{{"labels.inputs.Staff" |translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Staff' | translate }}</mat-label>
|
||||
<mat-select formControlName="staffId">
|
||||
<mat-option *ngFor="let staff of staffData" [value]="staff.id">
|
||||
{{ staff.displayName }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="groupAssignStaffForm.controls.staffId.hasError('required')">
|
||||
{{"labels.inputs.Staff" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
|
||||
{{ 'labels.inputs.Staff' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../']">{{"labels.buttons.Cancel" |translate}}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!groupAssignStaffForm.valid">{{"labels.buttons.Confirm" |translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!groupAssignStaffForm.valid">
|
||||
{{ 'labels.buttons.Confirm' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+26
-22
@@ -1,50 +1,54 @@
|
||||
<div class="container">
|
||||
|
||||
<mat-card fxLayout="column" fxLayoutGap="3%">
|
||||
|
||||
<mat-form-field fxFlex>
|
||||
<mat-label>{{"labels.inputs.Meeting Date" |translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Meeting Date' | translate }}</mat-label>
|
||||
<mat-select [formControl]="meetingDate">
|
||||
<mat-option *ngFor="let date of meetingDates" [value]="date">
|
||||
{{ date | dateFormat }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-hint>{{"labels.inputs.Next Meeting on" |translate}}: {{this.groupData.collectionMeetingCalendar.nextTenRecurringDates[0] | dateFormat}}</mat-hint>
|
||||
<mat-hint
|
||||
>{{ 'labels.inputs.Next Meeting on' | translate }}:
|
||||
{{ this.groupData.collectionMeetingCalendar.nextTenRecurringDates[0] | dateFormat }}</mat-hint
|
||||
>
|
||||
</mat-form-field>
|
||||
|
||||
<table class="mat-elevation-z1" mat-table [dataSource]="dataSource">
|
||||
|
||||
<ng-container matColumnDef="name">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.name" |translate}} </th>
|
||||
<td mat-cell *matCellDef="let member"> {{ member.clientId | find:membersData:'id':'displayName' }} </td>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.name' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let member">{{ member.clientId | find: membersData : 'id' : 'displayName' }}</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="attendance">
|
||||
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Attendance" |translate}} </th>
|
||||
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Attendance' | translate }}</th>
|
||||
<td mat-cell *matCellDef="let member" [ngSwitch]="member.attendanceType">
|
||||
<span *ngSwitchCase="1">{{"labels.inputs.Present" |translate}}</span>
|
||||
<span *ngSwitchCase="2">{{"labels.inputs.Absent" |translate}}</span>
|
||||
<span *ngSwitchCase="3">{{"labels.inputs.Approved" |translate}}</span>
|
||||
<span *ngSwitchCase="4">{{"labels.inputs.Leave" |translate}}</span>
|
||||
<span *ngSwitchCase="5">{{"labels.inputs.Late" |translate}}</span>
|
||||
<button mat-icon-button color="primary"
|
||||
(click)="editAttendance(member)">
|
||||
<span *ngSwitchCase="1">{{ 'labels.inputs.Present' | translate }}</span>
|
||||
<span *ngSwitchCase="2">{{ 'labels.inputs.Absent' | translate }}</span>
|
||||
<span *ngSwitchCase="3">{{ 'labels.inputs.Approved' | translate }}</span>
|
||||
<span *ngSwitchCase="4">{{ 'labels.inputs.Leave' | translate }}</span>
|
||||
<span *ngSwitchCase="5">{{ 'labels.inputs.Late' | translate }}</span>
|
||||
<button mat-icon-button color="primary" (click)="editAttendance(member)">
|
||||
<fa-icon icon="pen"></fa-icon>
|
||||
</button>
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
|
||||
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
|
||||
|
||||
<tr mat-row *matRowDef="let row; columns: displayedColumns"></tr>
|
||||
</table>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../']">{{"labels.buttons.Cancel" |translate}}</button>
|
||||
<button mat-raised-button color="primary" (click)="submit()"
|
||||
*mifosxHasPermission="'SAVEORUPDATEATTENDANCE_MEETING'">{{"labels.buttons.Confirm" |translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
(click)="submit()"
|
||||
*mifosxHasPermission="'SAVEORUPDATEATTENDANCE_MEETING'"
|
||||
>
|
||||
{{ 'labels.buttons.Confirm' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+42
-31
@@ -1,37 +1,37 @@
|
||||
<div class="container">
|
||||
|
||||
<mat-card>
|
||||
|
||||
<form [formGroup]="transferClientsForm">
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<div fxLayout="column">
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Select Client Members for Transfer" |translate}}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Select Client Members for Transfer' | translate }}</mat-label>
|
||||
<mat-select required formControlName="clients" multiple>
|
||||
<mat-option *ngFor="let member of clientMembers" [value]="{ id: member.id }">
|
||||
{{ member.displayName }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="transferClientsForm.controls.clients.hasError('required')">
|
||||
{{"labels.inputs.Office" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
|
||||
{{ 'labels.inputs.Office' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-checkbox class="m-t-10 m-b-10" labelPosition="before" formControlName="inheritDestinationGroupLoanOfficer">
|
||||
{{"labels.inputs.Inherit Group Loan Officer" |translate}}?
|
||||
<mat-checkbox
|
||||
class="m-t-10 m-b-10"
|
||||
labelPosition="before"
|
||||
formControlName="inheritDestinationGroupLoanOfficer"
|
||||
>
|
||||
{{ 'labels.inputs.Inherit Group Loan Officer' | translate }}?
|
||||
</mat-checkbox>
|
||||
|
||||
<mat-form-field>
|
||||
<mat-label>{{"labels.inputs.Destination Group" |translate}}</mat-label>
|
||||
<input matInput formControlName="destinationGroupId" [matAutocomplete]="groupsAutocomplete">
|
||||
<mat-label>{{ 'labels.inputs.Destination Group' | translate }}</mat-label>
|
||||
<input matInput formControlName="destinationGroupId" [matAutocomplete]="groupsAutocomplete" />
|
||||
<mat-error *ngIf="transferClientsForm.controls.destinationGroupId.hasError('required')">
|
||||
{{"labels.inputs.Destination Group" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" |translate}}</strong>
|
||||
{{ 'labels.inputs.Destination Group' | translate }} {{ 'labels.commons.is' | translate }}
|
||||
<strong>{{ 'labels.commons.required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
</div>
|
||||
|
||||
<mat-autocomplete autoActiveFirstOption #groupsAutocomplete="matAutocomplete" [displayWith]="displayGroup">
|
||||
@@ -42,40 +42,51 @@
|
||||
|
||||
<div class="mat-table" *ngIf="transferClientsForm.get('destinationGroupId').value">
|
||||
<div class="mat-header-row">
|
||||
<div class="mat-header-cell">{{"labels.inputs.Destination Group Details" |translate}}</div>
|
||||
<div class="mat-header-cell">{{ 'labels.inputs.Destination Group Details' | translate }}</div>
|
||||
</div>
|
||||
<div class="mat-row">
|
||||
<div class="mat-cell">{{"labels.inputs.name" |translate}}</div>
|
||||
<div class="mat-cell">{{transferClientsForm.get('destinationGroupId').value.name}}</div>
|
||||
<div class="mat-cell">{{ 'labels.inputs.name' | translate }}</div>
|
||||
<div class="mat-cell">{{ transferClientsForm.get('destinationGroupId').value.name }}</div>
|
||||
</div>
|
||||
<div class="mat-row">
|
||||
<div class="mat-cell">{{"labels.inputs.Id" |translate}}</div>
|
||||
<div class="mat-cell">{{transferClientsForm.get('destinationGroupId').value.id}}</div>
|
||||
<div class="mat-cell">{{ 'labels.inputs.Id' | translate }}</div>
|
||||
<div class="mat-cell">{{ transferClientsForm.get('destinationGroupId').value.id }}</div>
|
||||
</div>
|
||||
<div class="mat-row">
|
||||
<div class="mat-cell">{{"labels.inputs.Activation Date" |translate}}</div>
|
||||
<div class="mat-cell">{{(transferClientsForm.get('destinationGroupId').value.activationDate | dateFormat) || 'Not Activated'}}</div>
|
||||
<div class="mat-cell">{{ 'labels.inputs.Activation Date' | translate }}</div>
|
||||
<div class="mat-cell">
|
||||
{{ (transferClientsForm.get('destinationGroupId').value.activationDate | dateFormat) || 'Not Activated' }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="mat-row">
|
||||
<div class="mat-cell">{{"labels.inputs.Staff" |translate}}</div>
|
||||
<div class="mat-cell">{{transferClientsForm.get('destinationGroupId').value.staffName || 'Unassigned'}}</div>
|
||||
<div class="mat-cell">{{ 'labels.inputs.Staff' | translate }}</div>
|
||||
<div class="mat-cell">
|
||||
{{ transferClientsForm.get('destinationGroupId').value.staffName || 'Unassigned' }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="mat-row">
|
||||
<div class="mat-cell">{{"labels.inputs.External Id" |translate}}</div>
|
||||
<div class="mat-cell">{{transferClientsForm.get('destinationGroupId').value.externalId || 'Unassigned'}}</div>
|
||||
<div class="mat-cell">{{ 'labels.inputs.External Id' | translate }}</div>
|
||||
<div class="mat-cell">
|
||||
{{ transferClientsForm.get('destinationGroupId').value.externalId || 'Unassigned' }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../../']">{{"labels.buttons.Cancel" |translate}}</button>
|
||||
<button mat-raised-button color="primary" [disabled]="!transferClientsForm.valid" (click)="submit()"
|
||||
*mifosxHasPermission="'TRANSFERCLIENTS_GROUP'">{{"labels.buttons.Submit" |translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../../']">
|
||||
{{ 'labels.buttons.Cancel' | translate }}
|
||||
</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
color="primary"
|
||||
[disabled]="!transferClientsForm.valid"
|
||||
(click)="submit()"
|
||||
*mifosxHasPermission="'TRANSFERCLIENTS_GROUP'"
|
||||
>
|
||||
{{ 'labels.buttons.Submit' | translate }}
|
||||
</button>
|
||||
</mat-card-actions>
|
||||
|
||||
</form>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
|
||||
+21
-21
@@ -1,10 +1,8 @@
|
||||
<div class="container" fxLayout="row" fxLayoutGap="3%">
|
||||
|
||||
<mat-card fxFlex class="client-card" fxLayout="column" fxLayoutGap="2%">
|
||||
|
||||
<mat-form-field fxFlex="30%">
|
||||
<mat-label>{{"labels.inputs.Add Clients" |translate}}</mat-label>
|
||||
<input matInput [formControl]="clientChoice" [matAutocomplete]="clientsAutocomplete">
|
||||
<mat-label>{{ 'labels.inputs.Add Clients' | translate }}</mat-label>
|
||||
<input matInput [formControl]="clientChoice" [matAutocomplete]="clientsAutocomplete" />
|
||||
</mat-form-field>
|
||||
|
||||
<mat-autocomplete autoActiveFirstOption #clientsAutocomplete="matAutocomplete" [displayWith]="displayClient">
|
||||
@@ -15,45 +13,47 @@
|
||||
|
||||
<div class="mat-table">
|
||||
<div class="mat-header-row">
|
||||
<div class="mat-header-cell">{{"labels.inputs.Client Details" |translate}}</div>
|
||||
<div class="mat-header-cell">{{ 'labels.inputs.Client Details' | translate }}</div>
|
||||
<button mat-icon-button (click)="addClient()">
|
||||
<fa-icon icon="plus"></fa-icon>
|
||||
</button>
|
||||
</div>
|
||||
<div class="mat-row">
|
||||
<div class="mat-cell">{{"labels.inputs.name" |translate}}</div>
|
||||
<div class="mat-cell">{{clientChoice.value.displayName}}</div>
|
||||
<div class="mat-cell">{{ 'labels.inputs.name' | translate }}</div>
|
||||
<div class="mat-cell">{{ clientChoice.value.displayName }}</div>
|
||||
</div>
|
||||
<div class="mat-row">
|
||||
<div class="mat-cell">{{"labels.inputs.Id" |translate}}</div>
|
||||
<div class="mat-cell">{{clientChoice.value.id}}</div>
|
||||
<div class="mat-cell">{{ 'labels.inputs.Id' | translate }}</div>
|
||||
<div class="mat-cell">{{ clientChoice.value.id }}</div>
|
||||
</div>
|
||||
<div class="mat-row">
|
||||
<div class="mat-cell">{{"labels.inputs.Office" |translate}}</div>
|
||||
<div class="mat-cell">{{clientChoice.value.officeName}}</div>
|
||||
<div class="mat-cell">{{ 'labels.inputs.Office' | translate }}</div>
|
||||
<div class="mat-cell">{{ clientChoice.value.officeName }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</mat-card>
|
||||
|
||||
<mat-card fxFlex="50%">
|
||||
<h3 matSubheader>{{ 'labels.heading.Client Members' | translate }}</h3>
|
||||
|
||||
<h3 matSubheader>{{"labels.heading.Client Members" |translate}}</h3>
|
||||
|
||||
<mat-nav-list *ngIf="clientMembers?.length">
|
||||
<div mat-list-item *ngFor="let client of clientMembers index as i">
|
||||
<span matLine class="p-t-10">{{client.displayName}}</span>
|
||||
<mat-nav-list *ngIf="clientMembers?.length">
|
||||
<div mat-list-item *ngFor="let client of clientMembers; index as i">
|
||||
<span matLine class="p-t-10">{{ client.displayName }}</span>
|
||||
<div fxFlex></div>
|
||||
<button mat-icon-button color="warn" (click)="removeClient(i, client)" matTooltip="{{ 'tooltips.Remove Client from Group' | translate }}" matTooltipPosition="left">
|
||||
<button
|
||||
mat-icon-button
|
||||
color="warn"
|
||||
(click)="removeClient(i, client)"
|
||||
matTooltip="{{ 'tooltips.Remove Client from Group' | translate }}"
|
||||
matTooltipPosition="left"
|
||||
>
|
||||
<fa-icon icon="trash"></fa-icon>
|
||||
</button>
|
||||
</div>
|
||||
</mat-nav-list>
|
||||
|
||||
</mat-card>
|
||||
|
||||
<div fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
|
||||
<button type="button" mat-raised-button [routerLink]="['../']">{{"labels.buttons.Back" |translate}}</button>
|
||||
<button type="button" mat-raised-button [routerLink]="['../']">{{ 'labels.buttons.Back' | translate }}</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
<mat-card class="group-card">
|
||||
|
||||
<mat-card-header fxLayout="column" class="header">
|
||||
|
||||
<mat-card-title-group class="header-title-group">
|
||||
|
||||
<div class="profile-image-container">
|
||||
<div>
|
||||
<img mat-card-md-image class="profile-image" src="assets/images/group_placeholder.png">
|
||||
<img mat-card-md-image class="profile-image" src="assets/images/group_placeholder.png" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mat-typography group-card-title">
|
||||
<mat-card-title>
|
||||
<h3 fxFlex="95%">
|
||||
<i class="fa fa-stop" [ngClass]="groupViewData.status.code|statusLookup"
|
||||
[matTooltip]="groupViewData.status.value"></i>
|
||||
{{"labels.heading.Group Name" |translate}} : {{groupViewData.name}}
|
||||
<i
|
||||
class="fa fa-stop"
|
||||
[ngClass]="groupViewData.status.code | statusLookup"
|
||||
[matTooltip]="groupViewData.status.value"
|
||||
></i>
|
||||
{{ 'labels.heading.Group Name' | translate }} : {{ groupViewData.name }}
|
||||
</h3>
|
||||
|
||||
<div fxFlex="5%">
|
||||
@@ -29,28 +29,33 @@
|
||||
|
||||
<mat-card-subtitle>
|
||||
<div fxFlex="45%">
|
||||
<b>{{"labels.inputs.Group" |translate}} :</b> {{groupViewData.name}} | <b>{{"labels.inputs.Center Name" |translate}}:</b> {{groupViewData.centerName}} | <b>{{"labels.inputs.Staff" |translate}}:</b>
|
||||
{{groupViewData.staffName || 'Unassigned'}}<br />
|
||||
<b>{{"labels.inputs.Office Name" |translate}} :</b> {{groupViewData.officeName}}<br />
|
||||
<b>{{"labels.inputs.Activation Date" |translate}} :</b> {{(groupViewData.activationDate)?(groupViewData.activationDate | dateFormat) :'Not Activated'}}<br />
|
||||
<b>{{ 'labels.inputs.Group' | translate }} :</b> {{ groupViewData.name }} |
|
||||
<b>{{ 'labels.inputs.Center Name' | translate }}:</b> {{ groupViewData.centerName }} |
|
||||
<b>{{ 'labels.inputs.Staff' | translate }}:</b> {{ groupViewData.staffName || 'Unassigned' }}<br />
|
||||
<b>{{ 'labels.inputs.Office Name' | translate }} :</b> {{ groupViewData.officeName }}<br />
|
||||
<b>{{ 'labels.inputs.Activation Date' | translate }} :</b>
|
||||
{{ groupViewData.activationDate ? (groupViewData.activationDate | dateFormat) : 'Not Activated' }}<br />
|
||||
<span *ngIf="!groupViewData.active">
|
||||
<b>{{"labels.inputs.Closure Date" |translate}} :</b> {{groupViewData.timeline.closedOnDate | dateFormat}}
|
||||
<b>{{ 'labels.inputs.Closure Date' | translate }} :</b>
|
||||
{{ groupViewData.timeline.closedOnDate | dateFormat }}
|
||||
</span>
|
||||
</div>
|
||||
<div fxFlex="45%" class="group-meeting" fxLayoutAlign="start start">
|
||||
<div fxFlex="45%" class="group-meeting" fxLayoutAlign="start start">
|
||||
<div *ngIf="groupViewData.collectionMeetingCalendar; else unassigned">
|
||||
<p>
|
||||
{{"labels.inputs.Next Meeting on" |translate}}: {{groupViewData.collectionMeetingCalendar?.nextTenRecurringDates[0] | dateFormat}}
|
||||
{{ 'labels.inputs.Next Meeting on' | translate }}:
|
||||
{{ groupViewData.collectionMeetingCalendar?.nextTenRecurringDates[0] | dateFormat }}
|
||||
<i class="fa fa-edit" *ngIf="editMeeting" (click)="doAction('Edit Meeting')"></i><br />
|
||||
{{"labels.inputs.Meeting Frequency" |translate}}: {{groupViewData.collectionMeetingCalendar?.frequency.value | lowercase}}
|
||||
{{ 'labels.inputs.Meeting Frequency' | translate }}:
|
||||
{{ groupViewData.collectionMeetingCalendar?.frequency.value | lowercase }}
|
||||
</p>
|
||||
</div>
|
||||
<ng-template #unassigned>
|
||||
<div>
|
||||
<p>
|
||||
{{"labels.inputs.Next Meeting on" |translate}}: {{"labels.inputs.Unassigned" |translate}}
|
||||
{{ 'labels.inputs.Next Meeting on' | translate }}: {{ 'labels.inputs.Unassigned' | translate }}
|
||||
<i class="fa fa-calendar"></i><br />
|
||||
{{"labels.inputs.Meeting Frequency" |translate}}: {{"labels.inputs.N/A" |translate}}
|
||||
{{ 'labels.inputs.Meeting Frequency' | translate }}: {{ 'labels.inputs.N/A' | translate }}
|
||||
</p>
|
||||
</div>
|
||||
</ng-template>
|
||||
@@ -59,111 +64,156 @@
|
||||
</div>
|
||||
|
||||
<mat-menu #groupMenu="matMenu">
|
||||
|
||||
<span *ngIf="!(groupViewData.status.value==='Active')">
|
||||
<span *ngIf="!(groupViewData.status.value === 'Active')">
|
||||
<button mat-menu-item *mifosxHasPermission="'UPDATE_GROUP'" (click)="doAction('Activate')">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="checkSign" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<span>{{"labels.buttons.Activate" |translate}}</span>
|
||||
<span>{{ 'labels.buttons.Activate' | translate }}</span>
|
||||
</button>
|
||||
</span>
|
||||
<button mat-menu-item *mifosxHasPermission="'UPDATE_GROUP'" (click)="doAction('Edit')">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="edit" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<span>{{"labels.buttons.Edit" |translate}}</span>
|
||||
<span>{{ 'labels.buttons.Edit' | translate }}</span>
|
||||
</button>
|
||||
<button mat-menu-item *mifosxHasPermission="'CREATE_CLIENT'" (click)="doAction('Manage Members')">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="plus" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<span>{{"labels.buttons.Add Clients" |translate}}</span>
|
||||
<span>{{ 'labels.buttons.Add Clients' | translate }}</span>
|
||||
</button>
|
||||
<button mat-menu-item *mifosxHasPermission="'ASSOCIATECLIENTS_GROUP'"
|
||||
(click)="doAction('Transfer Clients')">
|
||||
<button mat-menu-item *mifosxHasPermission="'ASSOCIATECLIENTS_GROUP'" (click)="doAction('Transfer Clients')">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="users" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<span>{{"labels.buttons.Transfer Clients" |translate}}</span>
|
||||
<span>{{ 'labels.buttons.Transfer Clients' | translate }}</span>
|
||||
</button>
|
||||
<button mat-menu-item *mifosxHasPermission="'TRANSFERCLIENTS_GROUP'" (click)="doAction('Manage Members')">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="user" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<span>{{"labels.buttons.Manage Members" |translate}}</span>
|
||||
<span>{{ 'labels.buttons.Manage Members' | translate }}</span>
|
||||
</button>
|
||||
|
||||
<button mat-menu-item *ngIf="groupViewData.active" [matMenuTriggerFor]="AccountApplications">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="money-bill-alt" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<span>{{"labels.buttons.Applications" |translate}}</span>
|
||||
<span>{{ 'labels.buttons.Applications' | translate }}</span>
|
||||
</button>
|
||||
|
||||
<mat-menu #AccountApplications="matMenu">
|
||||
<span *ngIf="groupViewData.clientMembers">
|
||||
<button mat-menu-item *mifosxHasPermission="'CREATE_LOAN'">{{"labels.buttons.Bulk JLG Loan Application" |translate}}</button></span>
|
||||
<button mat-menu-item *mifosxHasPermission="'CREATE_SAVINGSACCOUNT'"
|
||||
[routerLink]="['savings-accounts', 'create']">{{"labels.buttons.Group Saving Application" |translate}}</button>
|
||||
<button mat-menu-item *mifosxHasPermission="'CREATE_LOAN'">
|
||||
{{ 'labels.buttons.Bulk JLG Loan Application' | translate }}
|
||||
</button></span
|
||||
>
|
||||
<button
|
||||
mat-menu-item
|
||||
*mifosxHasPermission="'CREATE_SAVINGSACCOUNT'"
|
||||
[routerLink]="['savings-accounts', 'create']"
|
||||
>
|
||||
{{ 'labels.buttons.Group Saving Application' | translate }}
|
||||
</button>
|
||||
<button mat-menu-item *mifosxHasPermission="'CREATE_LOAN'" [routerLink]="['loans-accounts', 'create']">
|
||||
{{"labels.buttons.Group Loan Application" |translate}}</button>
|
||||
{{ 'labels.buttons.Group Loan Application' | translate }}
|
||||
</button>
|
||||
<button mat-menu-item [routerLink]="['loans-accounts', 'glim-account', 'create']">
|
||||
{{"labels.buttons.GLIM Loan Application" |translate}}</button>
|
||||
<button mat-menu-item [routerLink]="['savings-accounts', 'gsim-account' , 'create']">
|
||||
{{"labels.buttons.GSIM Application" |translate}}
|
||||
{{ 'labels.buttons.GLIM Loan Application' | translate }}
|
||||
</button>
|
||||
<button mat-menu-item [routerLink]="['savings-accounts', 'gsim-account', 'create']">
|
||||
{{ 'labels.buttons.GSIM Application' | translate }}
|
||||
</button>
|
||||
</mat-menu>
|
||||
|
||||
<button mat-menu-item [matMenuTriggerFor]="More">{{"labels.buttons.More" |translate}}</button>
|
||||
<button mat-menu-item [matMenuTriggerFor]="More">{{ 'labels.buttons.More' | translate }}</button>
|
||||
<mat-menu #More="matMenu">
|
||||
<span *ngIf="groupViewData.collectionMeetingCalendar">
|
||||
<button mat-menu-item *mifosxHasPermission="'SAVEORUPDATEATTENDANCE_MEETING'"
|
||||
(click)="doAction('Attendance')">{{"labels.buttons.Attendance" |translate}}</button></span>
|
||||
<button
|
||||
mat-menu-item
|
||||
*mifosxHasPermission="'SAVEORUPDATEATTENDANCE_MEETING'"
|
||||
(click)="doAction('Attendance')"
|
||||
>
|
||||
{{ 'labels.buttons.Attendance' | translate }}
|
||||
</button></span
|
||||
>
|
||||
<span *ngIf="!groupViewData.staffId">
|
||||
<button mat-menu-item *mifosxHasPermission="'ASSIGNSTAFF_GROUP'" (click)="doAction('Assign Staff')">
|
||||
{{"labels.buttons.Assign Staff" |translate}}</button></span>
|
||||
{{ 'labels.buttons.Assign Staff' | translate }}
|
||||
</button></span
|
||||
>
|
||||
<span *ngIf="groupViewData.staffId">
|
||||
<button mat-menu-item *mifosxHasPermission="'UNASSIGNSTAFF_GROUP'"
|
||||
(click)="doAction('Unassign Staff')">{{"labels.buttons.Unassign Staff" |translate}}</button></span>
|
||||
<button mat-menu-item *mifosxHasPermission="'UNASSIGNSTAFF_GROUP'" (click)="doAction('Unassign Staff')">
|
||||
{{ 'labels.buttons.Unassign Staff' | translate }}
|
||||
</button></span
|
||||
>
|
||||
<span
|
||||
*ngIf="!(groupViewData.centerId || groupViewData.collectionMeetingCalendar) && groupViewData.status.value==='Active'">
|
||||
*ngIf="
|
||||
!(groupViewData.centerId || groupViewData.collectionMeetingCalendar) &&
|
||||
groupViewData.status.value === 'Active'
|
||||
"
|
||||
>
|
||||
<button mat-menu-item *mifosxHasPermission="'CREATE_MEETING'" (click)="doAction('Attach Meeting')">
|
||||
{{"labels.buttons.Attach Meeting" |translate}}</button></span>
|
||||
<button mat-menu-item *mifosxHasPermission="'CLOSE_GROUP'" (click)="doAction('Close')">{{"labels.buttons.Close" |translate}}</button>
|
||||
<button mat-menu-item *mifosxHasPermission="'DELETE_GROUP'" (click)="doAction('Delete')">{{"labels.buttons.Delete" |translate}}</button>
|
||||
{{ 'labels.buttons.Attach Meeting' | translate }}
|
||||
</button></span
|
||||
>
|
||||
<button mat-menu-item *mifosxHasPermission="'CLOSE_GROUP'" (click)="doAction('Close')">
|
||||
{{ 'labels.buttons.Close' | translate }}
|
||||
</button>
|
||||
<button mat-menu-item *mifosxHasPermission="'DELETE_GROUP'" (click)="doAction('Delete')">
|
||||
{{ 'labels.buttons.Delete' | translate }}
|
||||
</button>
|
||||
</mat-menu>
|
||||
</mat-menu>
|
||||
</mat-card-title-group>
|
||||
|
||||
</mat-card-header>
|
||||
|
||||
<mat-card-content>
|
||||
|
||||
<nav mat-tab-nav-bar class="navigation-tabs">
|
||||
<a mat-tab-link [routerLink]="['./general']" routerLinkActive #general="routerLinkActive"
|
||||
[active]="general.isActive">
|
||||
{{"labels.inputs.General" |translate}}
|
||||
<a
|
||||
mat-tab-link
|
||||
[routerLink]="['./general']"
|
||||
routerLinkActive
|
||||
#general="routerLinkActive"
|
||||
[active]="general.isActive"
|
||||
>
|
||||
{{ 'labels.inputs.General' | translate }}
|
||||
</a>
|
||||
<a mat-tab-link [routerLink]="['./notes']" *mifosxHasPermission="'READ_GROUPNOTE'" routerLinkActive
|
||||
#notes="routerLinkActive" [active]="notes.isActive">
|
||||
{{"labels.inputs.Notes" |translate}}
|
||||
<a
|
||||
mat-tab-link
|
||||
[routerLink]="['./notes']"
|
||||
*mifosxHasPermission="'READ_GROUPNOTE'"
|
||||
routerLinkActive
|
||||
#notes="routerLinkActive"
|
||||
[active]="notes.isActive"
|
||||
>
|
||||
{{ 'labels.inputs.Notes' | translate }}
|
||||
</a>
|
||||
<a mat-tab-link [routerLink]="['./committee']" routerLinkActive #committee="routerLinkActive"
|
||||
[active]="committee.isActive">
|
||||
{{"labels.inputs.Committee" |translate}}
|
||||
<a
|
||||
mat-tab-link
|
||||
[routerLink]="['./committee']"
|
||||
routerLinkActive
|
||||
#committee="routerLinkActive"
|
||||
[active]="committee.isActive"
|
||||
>
|
||||
{{ 'labels.inputs.Committee' | translate }}
|
||||
</a>
|
||||
<span *ngFor="let groupDatatable of groupDatatables">
|
||||
<a mat-tab-link *mifosxHasPermission="'READ_' + groupDatatable.registeredTableName"
|
||||
[routerLink]="['./datatables',groupDatatable.registeredTableName]" routerLinkActive
|
||||
#datatable="routerLinkActive" [active]="datatable.isActive">
|
||||
{{groupDatatable.registeredTableName}}
|
||||
<a
|
||||
mat-tab-link
|
||||
*mifosxHasPermission="'READ_' + groupDatatable.registeredTableName"
|
||||
[routerLink]="['./datatables', groupDatatable.registeredTableName]"
|
||||
routerLinkActive
|
||||
#datatable="routerLinkActive"
|
||||
[active]="datatable.isActive"
|
||||
>
|
||||
{{ groupDatatable.registeredTableName }}
|
||||
</a>
|
||||
</span>
|
||||
</nav>
|
||||
|
||||
<router-outlet></router-outlet>
|
||||
|
||||
</mat-card-content>
|
||||
|
||||
</mat-card>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<mifosx-entity-notes-tab [entityId]="entityId"
|
||||
<mifosx-entity-notes-tab
|
||||
[entityId]="entityId"
|
||||
[entityNotes]="entityNotes"
|
||||
[callbackAdd]="addNote"
|
||||
[callbackEdit]="editNote"
|
||||
|
||||
Reference in New Issue
Block a user