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
+17 -1
View File
@@ -149,8 +149,24 @@ Setting for Languages (i18n) still under development
MIFOS_DEFAULT_LANGUAGE=en-US
```
```
MIFOS_SUPPORTED_LANGUAGES=en-US,fr-FR
MIFOS_SUPPORTED_LANGUAGES=cs-CS,de-DE,en-US,es-MX,fr-FR,it-IT,ko-KO,lt-LT,lv-LV,ne-NE,pt-PT,sw-SW
```
These are the Language available now:
| Language | Code | File |
|:----------:|:----:|:----------:|
| Czech | cs | cs-CS.json |
| German | de | de-DE.json |
| English | en | en-US.json |
| Spanish | es | es-MX.json |
| French | fr | fr-FR.json |
| Italian | it | it-IT.json |
| Korean | ko | ko-KO.json |
| Lithuanian | li | li-LI.json |
| Latvian | lv | lv-LV.json |
| Nepali | ne | ne-NE.json |
| Portuguese | pt | pt-PT.json |
| Swahili | sw | sw-SW.json |
Setting for applying the Client preload in the Clients view, Default true
+1 -1
View File
@@ -21,4 +21,4 @@ services:
- FINERACT_API_VERSION=/v1
- FINERACT_PLATFORM_TENANT_IDENTIFIER=default
- MIFOS_DEFAULT_LANGUAGE=en-US
- MIFOS_SUPPORTED_LANGUAGES=cs-CS,de-DE,en-US,es-MX,fr-FR,it-IT,ko-KO,lt-LT,lv-LV,ne-NE,pt-PT
- MIFOS_SUPPORTED_LANGUAGES=cs-CS,de-DE,en-US,es-MX,fr-FR,it-IT,ko-KO,lt-LT,lv-LV,ne-NE,pt-PT,sw-SW
+25 -17
View File
@@ -13,7 +13,7 @@ Use the `translate` directive on an HTML element to automatically translate its
You can also use the `translate` pipe if needed:
```html
<button title="{{ 'Add item' | translate }}">+</button>
<button title="{{'Add item' | translate}}">+</button>
```
### In TypeScript code
@@ -26,28 +26,36 @@ let title;
translateService.get('My page title').subscribe((res: string) => { title = res; });
```
or `TranslateService` dependency and use the asynchronous
`instant()` method:
```typescript
const title: string = translateService.instant('My page title');
```
## Extracting strings to translate
Once you are ready to translate your app, just run `npm translations:extract`.
It will create a `template.json` file in the `src/translations` folder.
It will create a `template.json` file in the `src/assets/translations` folder.
You can then use any text or code editor to generate the `.json` files for each of your supported languages, and put
them in the `src/translations` folder.
them in the `src/assets/translations` folder.
Do no forget to edit the files in `src/environment` to add the supported languages of your application.
### Marking strings for extraction
These are the Language available now:
If strings are not directly passed to `translateService` or put in HTML templates, they may be missing from the
extraction process.
For these cases, you have to use the dummy `extract()` function:
```typescript
import { extract } from './core/i18n.service';
function toBeTranslatedLater() {
return extract('A string to be translated');
}
```
Strings marked like this will then be properly extracted.
| Language | Code | File |
|:----------:|:----:|:----------:|
| Czech | cs | cs-CS.json |
| German | de | de-DE.json |
| English | en | en-US.json |
| Spanish | es | es-MX.json |
| French | fr | fr-FR.json |
| Italian | it | it-IT.json |
| Korean | ko | ko-KO.json |
| Lithuanian | li | li-LI.json |
| Latvian | lv | lv-LV.json |
| Nepali | ne | ne-NE.json |
| Portuguese | pt | pt-PT.json |
| Swahili | sw | sw-SW.json |
+2147 -18554
View File
File diff suppressed because it is too large Load Diff
+7 -5
View File
@@ -29,9 +29,9 @@
"cypress:run": "cypress run"
},
"dependencies": {
"@angular-devkit/schematics": "^14.2.12",
"@angular-material-components/datetime-picker": "^8.0.0",
"@angular/animations": "^14.3.0",
"@angular-devkit/schematics": "14.2.12",
"@angular-material-components/datetime-picker": "8.0.0",
"@angular/animations": "14.3.0",
"@angular/cdk": "14.2.7",
"@angular/common": "14.3.0",
"@angular/compiler": "14.3.0",
@@ -45,8 +45,10 @@
"@angular/flex-layout": "^14.0.0-beta.40",
"@ckeditor/ckeditor5-angular": "1.2.3",
"@ckeditor/ckeditor5-build-classic": "21.0.0",
"@fortawesome/angular-fontawesome": "^0.10.2",
"@fortawesome/free-solid-svg-icons": "5.8.2",
"@fortawesome/angular-fontawesome": "0.11.1",
"@fortawesome/fontawesome-svg-core": "6.2.1",
"@fortawesome/free-brands-svg-icons": "6.2.1",
"@fortawesome/free-solid-svg-icons": "6.2.1",
"@ngx-translate/core": "13.0.0",
"@ngx-translate/http-loader": "^6.0.0",
"@swimlane/ngx-graph": "^8.0.2",
@@ -2,9 +2,6 @@
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
/** Translation Imports */
import { extract } from '../core/i18n/i18n.service';
/** Custom Components */
import { ViewStandingInstructionsComponent } from './view-standing-instructions/view-standing-instructions.component';
import { EditStandingInstructionsComponent } from './edit-standing-instructions/edit-standing-instructions.component';
@@ -29,7 +26,7 @@ const routes: Routes = [
children: [
{
path: 'create-standing-instructions',
data: { title: extract('Create Standing Instructions'), breadcrumb: 'Create Standing Instructions', routeParamBreadcrumb: 'Create Standing Instructions' },
data: { title: 'Create Standing Instructions', breadcrumb: 'Create Standing Instructions', routeParamBreadcrumb: 'Create Standing Instructions' },
component: CreateStandingInstructionsComponent,
resolve: {
standingIntructionsTemplate: StandingInstructionsTemplateResolver
@@ -37,7 +34,7 @@ const routes: Routes = [
},
{
path: 'make-account-transfer',
data: { title: extract('Account Transfer'), breadcrumb: 'Account Transfer', routeParamBreadcrumb: 'Account Transfer' },
data: { title: 'Account Transfer', breadcrumb: 'Account Transfer', routeParamBreadcrumb: 'Account Transfer' },
component: MakeAccountTransfersComponent,
resolve: {
accountTransferTemplate: MakeAccountTransferTemplateResolver
@@ -45,7 +42,7 @@ const routes: Routes = [
},
{
path: 'list-standing-instructions',
data: { title: extract('List Standing Instructions'), breadcrumb: 'List Standing Instructions', routeParamBreadcrumb: 'List Standing Instructions' },
data: { title: 'List Standing Instructions', breadcrumb: 'List Standing Instructions', routeParamBreadcrumb: 'List Standing Instructions' },
component: ListStandingInstructionsComponent,
resolve: {
standingIntructionsTemplate: StandingInstructionsTemplateResolver
@@ -53,7 +50,7 @@ const routes: Routes = [
},
{
path: 'account-transfers',
data: { title: extract('View Account Transfer'), breadcrumb: 'Account Transfers', routeParamBreadcrumb: false },
data: { title: 'View Account Transfer', breadcrumb: 'Account Transfers', routeParamBreadcrumb: false },
children: [
{
path: ':transferid',
@@ -67,11 +64,11 @@ const routes: Routes = [
},
{
path: ':standingInstructionsId',
data: { title: extract('Standing Instructions'), routeParamBreadcrumb: 'standingInstructionsId' },
data: { title: 'Standing Instructions', routeParamBreadcrumb: 'standingInstructionsId' },
children: [
{
path: 'view',
data: { title: extract('View Standing Instructions'), breadcrumb: 'view', routeParamBreadcrumb: false },
data: { title: 'View Standing Instructions', breadcrumb: 'view', routeParamBreadcrumb: false },
component: ViewStandingInstructionsComponent,
resolve: {
standingInstructionsData: ViewStandingInstructionsResolver,
@@ -79,7 +76,7 @@ const routes: Routes = [
},
{
path: 'edit',
data: { title: extract('Edit Standing Instructions'), breadcrumb: 'edit', routeParamBreadcrumb: false },
data: { title: 'Edit Standing Instructions', breadcrumb: 'edit', routeParamBreadcrumb: false },
component: EditStandingInstructionsComponent,
resolve: {
standingInstructionsDataAndTemplate: StandingInstructionsDataAndTemplateResolver,
@@ -87,7 +84,7 @@ const routes: Routes = [
},
{
path: 'list-account-transactions',
data: { title: extract('List Account Transactions'), breadcrumb: 'List Account Transactions', routeParamBreadcrumb: 'List Account Transactions' },
data: { title: 'List Account Transactions', breadcrumb: 'List Account Transactions', routeParamBreadcrumb: 'List Account Transactions' },
component: ListTransactionsComponent,
resolve: {
listTransactionData: ListTransactionsResolver
@@ -9,10 +9,10 @@
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.name" | translate}}</mat-label>
<mat-label>{{"labels.inputs.name" | translate}}</mat-label>
<input matInput required formControlName="name">
<mat-error *ngIf="createStandingInstructionsForm.controls.name.hasError('required')">
{{ "labels.inputs.name" | translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.inputs.required" | translate}}</strong>
{{"labels.inputs.name" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.inputs.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -22,50 +22,50 @@
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.Type" | translate}}</mat-label>
<mat-label>{{"labels.inputs.Type" | translate}}</mat-label>
<mat-select required formControlName="transferType" (selectionChange)="changeEvent()">
<mat-option *ngFor="let transferType of transferTypeData" [value]="transferType.id">
{{ transferType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.transferType.hasError('required')">
{{ "labels.inputs.Transfer Type" | translate}} {{"labels.commons.is" |translate}} <strong>{{ "labels.inputs.required" | translate}}</strong>
{{"labels.inputs.Transfer Type" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.inputs.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.Priority"| translate}}</mat-label>
<mat-label>{{ "labels.inputs.Priority" | translate}}</mat-label>
<mat-select required formControlName="priority">
<mat-option *ngFor="let priorityType of priorityTypeData" [value]="priorityType.id">
{{ priorityType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.priority.hasError('required')">
{{ "labels.inputs.Priority"| translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Priority" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.Status" | translate}}</mat-label>
<mat-label>{{"labels.inputs.Status" | translate}}</mat-label>
<mat-select required formControlName="status">
<mat-option *ngFor="let statusType of statusTypeData" [value]="statusType.id">
{{ statusType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.status.hasError('required')">
{{ "labels.inputs.Status" | translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Status" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{"labels.inputs.From Account Type"| translate}}</mat-label>
<mat-label>{{"labels.inputs.From Account Type" | translate}}</mat-label>
<mat-select required formControlName="fromAccountType" (selectionChange)="changeEvent()">
<mat-option *ngFor="let fromAccountType of fromAccountTypeData" [value]="fromAccountType.id">
{{ fromAccountType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.fromAccountType.hasError('required')">
{{"labels.inputs.From Account Type"| translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.From Account Type" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -77,43 +77,43 @@
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.fromAccountId.hasError('required')">
{{"labels.inputs.From Account" | translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.From Account" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{"labels.inputs.Destination"| translate}}</mat-label>
<mat-label>{{"labels.inputs.Destination" | translate}}</mat-label>
<mat-select required formControlName="destination">
<mat-option *ngFor="let destinationType of destinationTypeData" [value]="destinationType.id">
{{ destinationType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.destination.hasError('required')">
{{"labels.inputs.Destination"| translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Destination" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{"labels.inputs.To Office"| translate}}</mat-label>
<mat-label>{{"labels.inputs.To Office" | translate}}</mat-label>
<mat-select required formControlName="toOfficeId" (selectionChange)="changeEvent()">
<mat-option *ngFor="let toOfficeType of toOfficeTypeData" [value]="toOfficeType.id">
{{ toOfficeType.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.toOfficeId.hasError('required')">
{{"labels.inputs.To Office"| translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.To Office" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.Beneficiary"| translate}}</mat-label>
<mat-label>{{"labels.inputs.Beneficiary" | translate}}</mat-label>
<mat-select required formControlName="toClientId" (selectionChange)="changeEvent()">
<mat-option *ngFor="let toClientType of toClientTypeData" [value]="toClientType.id">
{{ toClientType.displayName }}
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.toClientId.hasError('required')">
{{ "labels.inputs.Beneficiary"| translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Beneficiary" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -125,7 +125,7 @@
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.toAccountType.hasError('required')">
{{"labels.inputs.To Account Type" | translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.To Account Type" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -137,19 +137,19 @@
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.toAccountId.hasError('required')">
{{"labels.inputs.To Account" | translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.To Account" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.Standing Instruction Type" | translate}}</mat-label>
<mat-label>{{"labels.inputs.Standing Instruction Type" | translate}}</mat-label>
<mat-select formControlName="instructionType">
<mat-option *ngFor="let instructionsType of instructionTypeData" [value]="instructionsType.id">
{{ instructionsType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.instructionType.hasError('required')">
{{ "labels.inputs.Standing Instruction Type" | translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Standing Instruction Type" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -157,7 +157,7 @@
<mat-label>{{"labels.inputs.Amount" | translate}}</mat-label>
<input type="number" matInput required formControlName="amount">
<mat-error *ngIf="createStandingInstructionsForm.controls.amount.hasError('required')">
{{"labels.inputs.Amount" | translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Amount" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -168,7 +168,7 @@
<mat-datepicker-toggle matSuffix [for]="validFromDatePicker"></mat-datepicker-toggle>
<mat-datepicker #validFromDatePicker></mat-datepicker>
<mat-error *ngIf="createStandingInstructionsForm.controls.validFrom.hasError('required')">
{{"labels.inputs.Valid From Date" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Valid From Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -179,7 +179,7 @@
<mat-datepicker-toggle matSuffix [for]="validTillDatePicker"></mat-datepicker-toggle>
<mat-datepicker #validTillDatePicker></mat-datepicker>
<mat-error *ngIf="createStandingInstructionsForm.controls.validTill.hasError('required')">
{{ "labels.inputs.Valid Till Date" | translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Valid Till Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -191,7 +191,7 @@
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.recurrenceType.hasError('required')">
{{"labels.inputs.Recurrence Type" | translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Recurrence Type" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -199,7 +199,7 @@
<mat-label>{{"labels.inputs.Interval" | translate}}</mat-label>
<input type="number" matInput required formControlName="recurrenceInterval">
<mat-error *ngIf="createStandingInstructionsForm.controls.recurrenceInterval.hasError('required')">
{{"labels.inputs.Recurrence Interval" | translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Recurrence Interval" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -212,7 +212,7 @@
</mat-option>
</mat-select>
<mat-error *ngIf="createStandingInstructionsForm.controls.recurrenceFrequency.hasError('required')">
{{"labels.inputs.Recurrence Frequency" | translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Recurrence Frequency" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -223,7 +223,7 @@
<mat-datepicker-toggle matSuffix [for]="recurrenceOnMonthDayDatePicker"></mat-datepicker-toggle>
<mat-datepicker #recurrenceOnMonthDayDatePicker></mat-datepicker>
<mat-error *ngIf="createStandingInstructionsForm.controls.recurrenceOnMonthDay.hasError('required')">
{{"labels.inputs.On Month Day" | translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.On Month Day" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -232,7 +232,7 @@
</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 type="button" mat-raised-button [routerLink]="['../']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!createStandingInstructionsForm.valid" *mifosxHasPermission="'CREATE_STANDINGINSTRUCTION'"
(click)="submit()">{{"labels.buttons.Submit | translate}}</button>
</mat-card-actions>
@@ -9,7 +9,7 @@
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.name" | translate}}</mat-label>
<mat-label>{{"labels.inputs.name" | translate}}</mat-label>
<input matInput formControlName="name">
</mat-form-field>
@@ -19,36 +19,36 @@
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.Type" | translate}}</mat-label>
<mat-label>{{"labels.inputs.Type" | translate}}</mat-label>
<input matInput formControlName="type">
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{"labels.inputs.From Account Type"| translate}}</mat-label>
<mat-label>{{"labels.inputs.From Account Type" | translate}}</mat-label>
<input matInput formControlName="fromAccountType">
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.Priority"| translate}}</mat-label>
<mat-label>{{"labels.inputs.Priority" | translate}}</mat-label>
<mat-select required formControlName="priority">
<mat-option *ngFor="let priorityType of priorityTypeData" [value]="priorityType.id">
{{ priorityType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="editStandingInstructionsForm.controls.priority.hasError('required')">
{{ "labels.inputs.Priority"| translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Priority" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.Status" | translate}}</mat-label>
<mat-label>{{"labels.inputs.Status" | translate}}</mat-label>
<mat-select required formControlName="status">
<mat-option *ngFor="let statusType of statusTypeData" [value]="statusType.id">
{{ statusType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="editStandingInstructionsForm.controls.status.hasError('required')">
{{ "labels.inputs.Status" | translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Status" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -58,17 +58,17 @@
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{"labels.inputs.Destination"| translate}}</mat-label>
<mat-label>{{"labels.inputs.Destination" | translate}}</mat-label>
<input matInput formControlName="destination">
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{"labels.inputs.To Office"| translate}}</mat-label>
<mat-label>{{"labels.inputs.To Office" | translate}}</mat-label>
<input matInput formControlName="toOffice">
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.Beneficiary"| translate}}</mat-label>
<mat-label>{{"labels.inputs.Beneficiary" | translate}}</mat-label>
<input matInput formControlName="toClientId">
</mat-form-field>
@@ -83,7 +83,7 @@
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.Standing Instruction Type" | translate}}</mat-label>
<mat-label>{{"labels.inputs.Standing Instruction Type" | translate}}</mat-label>
<mat-select formControlName="instructionType">
<mat-option *ngFor="let instructionsType of instructionTypeData"
[value]="instructionsType.id">
@@ -104,7 +104,7 @@
<mat-datepicker-toggle matSuffix [for]="validFromDatePicker"></mat-datepicker-toggle>
<mat-datepicker #validFromDatePicker></mat-datepicker>
<mat-error *ngIf="editStandingInstructionsForm.controls.validFrom.hasError('required')">
{{"labels.inputs.Valid From Date" | translate }} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Valid From Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -115,7 +115,7 @@
<mat-datepicker-toggle matSuffix [for]="validTillDatePicker"></mat-datepicker-toggle>
<mat-datepicker #validTillDatePicker></mat-datepicker>
<mat-error *ngIf="editStandingInstructionsForm.controls.validTill.hasError('required')">
{{ "labels.inputs.Valid Till Date" | translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Valid Till Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -127,7 +127,7 @@
</mat-option>
</mat-select>
<mat-error *ngIf="editStandingInstructionsForm.controls.recurrenceType.hasError('required')">
{{"labels.inputs.Recurrence Type" | translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Recurrence Type" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -159,7 +159,7 @@
</mat-card-content>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../view']">{{ "labels.buttons.Cancel" | translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../view']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!editStandingInstructionsForm.valid"
(click)="submit()" *mifosxHasPermission="'UPDATE_STANDINGINSTRUCTION'">{{"labels.buttons.Submit | translate}}</button>
</mat-card-actions>
@@ -4,7 +4,7 @@
<div fxFlexFill *ngIf="isFromClient">
<span fxFlex="40%">
<h3 class="mat-h3">{{ "labels.heading.Client Type" | translate}}</h3>
<h3 class="mat-h3">{{"labels.heading.Client Type" | translate}}</h3>
</span>
<span fxFlex="60%">
<h3 class="mat-h3">{{ clientName }}</h3>
@@ -23,7 +23,7 @@
<mat-divider [inset]="true"></mat-divider>
<mat-form-field fxFlex="30%">
<mat-label>{{ "labels.inputs.Type" | translate}}</mat-label>
<mat-label>{{"labels.inputs.Type" | translate}}</mat-label>
<mat-select [formControl]="transferType">
<mat-option *ngFor="let transferTypeData of transferTypeDatas" [value]="transferTypeData.id">
{{ transferTypeData.value }}
@@ -56,7 +56,7 @@
</ng-container>
<ng-container matColumnDef="beneficiary">
<th mat-header-cell *matHeaderCellDef>{{ "labels.inputs.Beneficiary"| translate}} </th>
<th mat-header-cell *matHeaderCellDef>{{"labels.inputs.Beneficiary" | translate}} </th>
<td mat-cell *matCellDef="let instruction">{{instruction.toClient.displayName}}</td>
</ng-container>
@@ -72,8 +72,8 @@
</ng-container>
<ng-container matColumnDef="validity">
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Validity" | translate}} </th>
<td mat-cell *matCellDef="let instruction">{{instruction.validFrom | dateFormat}} to {{instruction.validTill | dateFormat}}
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Validity" | translate}} </th>
<td mat-cell *matCellDef="let instruction">{{instruction.validFrom | dateFormat}} to {{instruction.validTill | dateFormat}}
</td>
</ng-container>
@@ -23,7 +23,7 @@
</div>
<div fxFlex="25%" fxFlex.lt-md="50%" class="header">
{{"labels.inputs.Destination"| translate}}
{{"labels.inputs.Destination" | translate}}
</div>
<div fxFlex="25%" fxFlex.lt-md="50%">
@@ -44,7 +44,7 @@
<ng-container matColumnDef="transactionDate">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Transaction Date | translate}} </th>
<td mat-cell *matCellDef="let transaction"> {{ transaction.transferDate | dateFormat }} </td>
<td mat-cell *matCellDef="let transaction"> {{ transaction.transferDate | dateFormat }} </td>
</ng-container>
<ng-container matColumnDef="amount">
@@ -53,12 +53,12 @@
</ng-container>
<ng-container matColumnDef="notes">
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Notes | translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Notes | translate}} </th>
<td mat-cell *matCellDef="let transaction"> {{ transaction.transferDescription }} </td>
</ng-container>
<ng-container matColumnDef="reversed">
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Reversed"| translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Reversed" | translate}} </th>
<td mat-cell *matCellDef="let transaction"> {{ transaction.reversed | yesNo}}</td>
</ng-container>
@@ -6,7 +6,7 @@
<div fxLayout="row wrap" fxLayout.lt-md="column">
<h3 class="mat-h3" fxFlexFill>{{ "labels.heading.Transferring From Details" | translate}}</h3>
<h3 class="mat-h3" fxFlexFill>{{"labels.heading.Transferring From Details" | translate}}</h3>
<mat-divider [inset]="true"></mat-divider>
@@ -16,7 +16,7 @@
</div>
<div fxFlexFill>
<span fxFlex="40%">{{ "labels.inputs.Office"| translate}}</span>
<span fxFlex="40%">{{"labels.inputs.Office" | translate}}</span>
<span fxFlex="60%">{{ accountTransferTemplateData.fromOffice.name }}</span>
</div>
@@ -27,12 +27,12 @@
</div>
<div fxFlexFill>
<span fxFlex="40%">{{"labels.inputs.From Account Type"| translate}}</span>
<span fxFlex="40%">{{"labels.inputs.From Account Type" | translate}}</span>
<span fxFlex="60%">{{ accountTransferTemplateData.fromAccountType.value }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{ "labels.inputs.Currency" | translate }}</span>
<span fxFlex="40%">{{"labels.inputs.Currency" | translate}}</span>
<span fxFlex="60%">{{ accountTransferTemplateData.currency.name }}</span>
</div>
@@ -47,33 +47,33 @@
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
<mat-form-field fxFlex="98%" (click)="transferDatePicker.open()">
<mat-label>{{"labels.inputs.Transaction Date"| translate}}</mat-label>
<mat-label>{{"labels.inputs.Transaction Date" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="transferDatePicker" required
formControlName="transferDate">
<mat-datepicker-toggle matSuffix [for]="transferDatePicker"></mat-datepicker-toggle>
<mat-datepicker #transferDatePicker></mat-datepicker>
<mat-error *ngIf="makeAccountTransferForm.controls.transferDate.hasError('required')">
{{"labels.inputs.Transaction Date"| translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Transaction Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="98%">
<mat-label>{{ "labels.inputs.Office"| translate}}</mat-label>
<mat-label>{{"labels.inputs.Office" | translate}}</mat-label>
<mat-select required formControlName="toOfficeId" (selectionChange)="changeEvent()">
<mat-option *ngFor="let toOfficeType of toOfficeTypeData" [value]="toOfficeType.id">
{{ toOfficeType.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="makeAccountTransferForm.controls.toOfficeId.hasError('required')">
{{ "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-form-field fxFlex="98%">
<mat-label>{{ "labels.inputs.Client"| translate}}</mat-label>
<mat-label>{{"labels.inputs.Client" | translate}}</mat-label>
<input matInput formControlName="toClientId" [matAutocomplete]="clientsAutocomplete">
<mat-error *ngIf="makeAccountTransferForm.controls.toClientId.hasError('required')">
{{ "labels.inputs.Client" | translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Client" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -84,26 +84,26 @@
</mat-autocomplete>
<mat-form-field fxFlex="98%">
<mat-label>{{ "labels.inputs.Account Type" | translate}}</mat-label>
<mat-label>{{"labels.inputs.Account Type" | translate}}</mat-label>
<mat-select required formControlName="toAccountType" (selectionChange)="changeEvent()">
<mat-option *ngFor="let toAccountType of toAccountTypeData" [value]="toAccountType.id">
{{ toAccountType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="makeAccountTransferForm.controls.toAccountType.hasError('required')">
{{ "labels.inputs.Account Type" | translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Account Type" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="98%">
<mat-label>{{"labels.inputs.Account"| translate}}</mat-label>
<mat-label>{{"labels.inputs.Account" | translate}}</mat-label>
<mat-select required formControlName="toAccountId" (selectionChange)="changeEvent()">
<mat-option *ngFor="let toAccount of toAccountData" [value]="toAccount.id">
{{ toAccount.productName }} - {{ toAccount.accountNo }}
</mat-option>
</mat-select>
<mat-error *ngIf="makeAccountTransferForm.controls.toAccountId.hasError('required')">
{{"labels.inputs.Account"| translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Account" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -111,16 +111,16 @@
<mat-label>{{"labels.inputs.Amount" | translate}}</mat-label>
<input type="number" matInput required formControlName="transferAmount">
<mat-error *ngIf="makeAccountTransferForm.controls.transferAmount.hasError('required')">
{{"labels.inputs.Amount" | translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Amount" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="98%">
<mat-label>{{"labels.inputs.Destination"| translate}}</mat-label>
<mat-label>{{"labels.inputs.Destination" | translate}}</mat-label>
<textarea matInput formControlName="transferDescription" cdkTextareaAutosize
cdkAutosizeMinRows="2"></textarea>
<mat-error *ngIf="makeAccountTransferForm.controls.transferDescription.hasError('required')">
{{"labels.inputs.Transfer Description" | translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Transfer Description" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -132,7 +132,7 @@
</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 type="button" mat-raised-button [routerLink]="['../..']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!makeAccountTransferForm.valid"
*mifosxHasPermission="'CREATE_ACCOUNTTRANSFER'" (click)="submit()">{{"labels.buttons.Submit | translate}}</button>
</mat-card-actions>
@@ -6,46 +6,46 @@
<div fxLayout="row wrap" fxLayout.lt-md="column">
<h3 class="mat-h3" fxFlexFill>{{ "labels.heading.Transaction Details" | translate}}</h3>
<h3 class="mat-h3" fxFlexFill>{{"labels.heading.Transaction Details" | translate}}</h3>
<mat-divider [inset]="true"></mat-divider>
<div fxFlexFill>
<span fxFlex="40%">{{"labels.inputs.Transaction Amount"| translate}}:</span>
<span fxFlex="40%">{{"labels.inputs.Transaction Amount" | translate}}:</span>
<span fxFlex="60%">{{ viewAccountTransferData.currency.displaySymbol }} {{ viewAccountTransferData.transferAmount | formatNumber }} ({{ viewAccountTransferData.currency.code }})</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{"labels.inputs.Transaction Date"| translate}}:</span>
<span fxFlex="60%">{{ viewAccountTransferData.transferDate | dateFormat }}</span>
<span fxFlex="40%">{{"labels.inputs.Transaction Date" | translate}}:</span>
<span fxFlex="60%">{{ viewAccountTransferData.transferDate | dateFormat }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{"labels.inputs.Destination"| translate}}:</span>
<span fxFlex="40%">{{"labels.inputs.Destination" | translate}}:</span>
<span fxFlex="60%">{{ viewAccountTransferData.transferDescription }}</span>
</div>
<h3 class="mat-h3" fxFlexFill>{{"labels.heading.Transferred From"| translate}}</h3>
<h3 class="mat-h3" fxFlexFill>{{"labels.heading.Transferred From" | translate}}</h3>
<mat-divider [inset]="true"></mat-divider>
<div fxFlexFill>
<span fxFlex="40%">{{ "labels.inputs.Office"| translate}}:</span>
<span fxFlex="40%">{{"labels.inputs.Office" | translate}}:</span>
<span fxFlex="60%">{{ viewAccountTransferData.fromOffice.name }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{ "labels.inputs.Client"| translate}}:</span>
<span fxFlex="40%">{{"labels.inputs.Client" | translate}}:</span>
<span fxFlex="60%">{{ viewAccountTransferData.fromClient.displayName }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{ "labels.inputs.Account Type"| translate}}:</span>
<span fxFlex="40%">{{ "labels.inputs.Account Type" | translate}}:</span>
<span fxFlex="60%">{{ viewAccountTransferData.fromAccountType.value }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{ "labels.inputs.Account No"| translate}}:</span>
<span fxFlex="40%">{{ "labels.inputs.Account No" | translate}}:</span>
<span fxFlex="60%">{{ viewAccountTransferData.fromAccount.accountNo }}</span>
</div>
@@ -54,24 +54,24 @@
<mat-divider [inset]="true"></mat-divider>
<div fxFlexFill>
<span fxFlex="40%">{{ "labels.inputs.Office"| translate}}:</span>
<span fxFlex="40%">{{"labels.inputs.Office" | translate}}:</span>
<span fxFlex="60%">{{ viewAccountTransferData.toOffice.name }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{ "labels.inputs.Client"| translate}}:</span>
<span fxFlex="40%">{{"labels.inputs.Client" | translate}}:</span>
<span fxFlex="60%"><a [href]="transferToClient(viewAccountTransferData.toClient)">
{{ viewAccountTransferData.toClient.displayName }}</a>
</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{ "labels.inputs.Account Type"| translate}}:</span>
<span fxFlex="40%">{{ "labels.inputs.Account Type" | translate}}:</span>
<span fxFlex="60%">{{ viewAccountTransferData.toAccountType.value }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{ "labels.inputs.Account No"| translate}}:</span>
<span fxFlex="40%">{{ "labels.inputs.Account No" | translate}}:</span>
<span fxFlex="60%"><a [href]="transferToAccount(viewAccountTransferData.toClient, viewAccountTransferData.toAccount)">
{{ viewAccountTransferData.toAccount.accountNo }}</a>
</span>
@@ -4,7 +4,7 @@
{{"labels.buttons.Edit" | translate}}
</button>
<button mat-raised-button color="primary" [routerLink]="['../', 'list-account-transactions']" *mifosxHasPermission="'READ_ACCOUNTTRANSFER'">
{{ "labels.buttons.View Transactions History" | translate}}
{{"labels.buttons.View Transactions History" | translate}}
</button>
</div>
@@ -26,12 +26,12 @@
</div>
<div fxFlexFill>
<span fxFlex="40%">{{ "labels.inputs.Type" | translate}}:</span>
<span fxFlex="40%">{{"labels.inputs.Type" | translate}}:</span>
<span fxFlex="60%">{{ standingInstructionsData.transferType.value }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{ "labels.inputs.Priority"| translate}}:</span>
<span fxFlex="40%">{{ "labels.inputs.Priority" | translate}}:</span>
<span fxFlex="60%">{{ standingInstructionsData.priority.value }}</span>
</div>
@@ -41,7 +41,7 @@
</div>
<div fxFlexFill>
<span fxFlex="40%">{{"labels.inputs.From Account Type"| translate}}:</span>
<span fxFlex="40%">{{"labels.inputs.From Account Type" | translate}}:</span>
<span fxFlex="60%">{{ standingInstructionsData.fromAccountType.value }}</span>
</div>
@@ -51,20 +51,20 @@
</div>
<div fxFlexFill>
<span fxFlex="40%">{{"labels.inputs.Destination"| translate}}:</span>
<span fxFlex="40%">{{"labels.inputs.Destination" | translate}}:</span>
<span fxFlex="60%">
<span *ngIf="allowclientedit"> {{ "labels.inputs.Within Bank"| translate}} </span>
<span *ngIf="!allowclientedit"> {{ "labels.inputs.Own Account"| translate}} </span>
<span *ngIf="allowclientedit"> {{"labels.inputs.Within Bank" | translate}} </span>
<span *ngIf="!allowclientedit"> {{"labels.inputs.Own Account" | translate}} </span>
</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{"labels.inputs.To Office"| translate}}:</span>
<span fxFlex="40%">{{"labels.inputs.To Office" | translate}}:</span>
<span fxFlex="60%">{{ standingInstructionsData.toOffice.name }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{ "labels.inputs.Beneficiary"| translate}}:</span>
<span fxFlex="40%">{{"labels.inputs.Beneficiary" | translate}}:</span>
<span fxFlex="60%">{{ standingInstructionsData.toClient.displayName }}</span>
</div>
@@ -79,7 +79,7 @@
</div>
<div fxFlexFill>
<span fxFlex="40%">{{ "labels.inputs.Standing Instruction Type" | translate}}:</span>
<span fxFlex="40%">{{"labels.inputs.Standing Instruction Type" | translate}}:</span>
<span fxFlex="60%">{{ standingInstructionsData.instructionType.value }}</span>
</div>
@@ -90,7 +90,7 @@
<div fxFlexFill>
<span fxFlex="40%">{{"labels.inputs.Validity" | translate}}:</span>
<span fxFlex="60%">{{ standingInstructionsData.validFrom | dateFormat }} - {{ standingInstructionsData.validTill | dateFormat }}</span>
<span fxFlex="60%">{{ standingInstructionsData.validFrom | dateFormat }} - {{ standingInstructionsData.validTill | dateFormat }}</span>
</div>
<div fxFlexFill>
@@ -110,7 +110,7 @@
<div fxFlexFill>
<span fxFlex="40%">{{"labels.inputs.On Month Day" | translate}}:</span>
<span fxFlex="60%">{{ standingInstructionsData.recurrenceOnMonthDay | dateFormat }}</span>
<span fxFlex="60%">{{ standingInstructionsData.recurrenceOnMonthDay | dateFormat }}</span>
</div>
</div>
+31 -34
View File
@@ -7,9 +7,6 @@ import { Routes, RouterModule } from '@angular/router';
/** Routing Imports */
import { Route } from '../core/route/route.service';
/** Translation Imports */
import { extract } from '../core/i18n/i18n.service';
/** Custom Components */
import { AccountingComponent } from './accounting.component';
import { FrequentPostingsComponent } from './frequent-postings/frequent-postings.component';
@@ -71,7 +68,7 @@ const routes: Routes = [
Route.withShell([
{
path: 'accounting',
data: { title: extract('Accounting'), breadcrumb: 'Accounting' },
data: { title: 'Accounting', breadcrumb: 'Accounting' },
children: [
{
path: '',
@@ -79,7 +76,7 @@ const routes: Routes = [
},
{
path: 'journal-entries',
data: { title: extract('Search Journal Entry'), breadcrumb: 'Journal Entries' },
data: { title: 'Search Journal Entry', breadcrumb: 'Journal Entries' },
children: [
{
path: '',
@@ -92,7 +89,7 @@ const routes: Routes = [
{
path: 'frequent-postings',
component: FrequentPostingsComponent,
data: { title: extract('Frequent Postings'), breadcrumb: 'Frequent Postings' },
data: { title: 'Frequent Postings', breadcrumb: 'Frequent Postings' },
resolve: {
offices: OfficesResolver,
accountingRules: AccountingRulesAssociationsResolver,
@@ -103,7 +100,7 @@ const routes: Routes = [
{
path: 'create',
component: CreateJournalEntryComponent,
data: { title: extract('Create Journal Entry'), breadcrumb: 'Create' },
data: { title: 'Create Journal Entry', breadcrumb: 'Create' },
resolve: {
offices: OfficesResolver,
currencies: CurrenciesResolver,
@@ -113,12 +110,12 @@ const routes: Routes = [
},
{
path: 'transactions',
data: { title: extract('Transactions'), breadcrumb: 'Transactions', addBreadcrumbLink: false },
data: { title: 'Transactions', breadcrumb: 'Transactions', addBreadcrumbLink: false },
children: [
{
path: 'view/:id',
component: ViewJournalEntryTransactionComponent,
data: { title: extract('View Transaction'), routeParamBreadcrumb: 'id' },
data: { title: 'View Transaction', routeParamBreadcrumb: 'id' },
resolve: {
transaction: JournalEntryTransactionResolver
}
@@ -129,7 +126,7 @@ const routes: Routes = [
},
{
path: 'financial-activity-mappings',
data: { title: extract('Financial Activity Mappings'), breadcrumb: 'Financial Activity Mappings' },
data: { title: 'Financial Activity Mappings', breadcrumb: 'Financial Activity Mappings' },
children: [
{
path: '',
@@ -141,14 +138,14 @@ const routes: Routes = [
{
path: 'create',
component: CreateFinancialActivityMappingComponent,
data: { title: extract('Create Financial Activity Mapping'), breadcrumb: 'Create' },
data: { title: 'Create Financial Activity Mapping', breadcrumb: 'Create' },
resolve: {
financialActivityAccountsTemplate: FinancialActivityMappingsTemplateResolver
}
},
{
path: 'view/:id',
data: { title: extract('View Financial Activity Mapping'), routeParamBreadcrumb: 'id' },
data: { title: 'View Financial Activity Mapping', routeParamBreadcrumb: 'id' },
children: [
{
path: '',
@@ -160,7 +157,7 @@ const routes: Routes = [
{
path: 'edit',
component: EditFinancialActivityMappingComponent,
data: { title: extract('Edit Financial Activity Mapping'), breadcrumb: 'Edit', routeParamBreadcrumb: false },
data: { title: 'Edit Financial Activity Mapping', breadcrumb: 'Edit', routeParamBreadcrumb: false },
resolve: {
financialActivityAccountAndTemplate: FinancialActivityMappingAndTemplateResolver
}
@@ -172,7 +169,7 @@ const routes: Routes = [
{
path: 'migrate-opening-balances',
component: MigrateOpeningBalancesComponent,
data: { title: extract('Migrate Opening Balances'), breadcrumb: 'Migrate Opening Balances' },
data: { title: 'Migrate Opening Balances', breadcrumb: 'Migrate Opening Balances' },
resolve: {
offices: OfficesResolver,
currencies: CurrenciesResolver
@@ -180,7 +177,7 @@ const routes: Routes = [
},
{
path: 'chart-of-accounts',
data: { title: extract('Chart of Accounts'), breadcrumb: 'Chart of Accounts' },
data: { title: 'Chart of Accounts', breadcrumb: 'Chart of Accounts' },
children: [
{
path: '',
@@ -195,14 +192,14 @@ const routes: Routes = [
{
path: 'create',
component: CreateGlAccountComponent,
data: { title: extract('Create GL Account'), breadcrumb: 'Create GL Account' },
data: { title: 'Create GL Account', breadcrumb: 'Create GL Account' },
resolve: {
chartOfAccountsTemplate: ChartOfAccountsTemplateResolver
}
},
{
path: 'view/:id',
data: { title: extract('View GL Account'), routeResolveBreadcrumb: ['glAccountAndChartOfAccountsTemplate', 'name'] },
data: { title: 'View GL Account', routeResolveBreadcrumb: ['glAccountAndChartOfAccountsTemplate', 'name'] },
resolve: {
glAccountAndChartOfAccountsTemplate: GlAccountAndChartOfAccountsTemplateResolver
},
@@ -215,7 +212,7 @@ const routes: Routes = [
{
path: 'edit',
component: EditGlAccountComponent,
data: { title: extract('Edit GL Account'), breadcrumb: 'Edit', routeResolveBreadcrumb: false }
data: { title: 'Edit GL Account', breadcrumb: 'Edit', routeResolveBreadcrumb: false }
}
]
}
@@ -225,7 +222,7 @@ const routes: Routes = [
},
{
path: 'closing-entries',
data: { title: extract('Accounting Closures'), breadcrumb: 'Closing Entries' },
data: { title: 'Accounting Closures', breadcrumb: 'Closing Entries' },
children: [
{
path: '',
@@ -238,14 +235,14 @@ const routes: Routes = [
{
path: 'create',
component: CreateClosureComponent,
data: { title: extract('Create Accounting Closure'), breadcrumb: 'Create' },
data: { title: 'Create Accounting Closure', breadcrumb: 'Create' },
resolve: {
offices: OfficesResolver
}
},
{
path: 'view/:id',
data: { title: extract('View Accounting Closure'), routeParamBreadcrumb: 'id' },
data: { title: 'View Accounting Closure', routeParamBreadcrumb: 'id' },
resolve: {
glAccountClosure: ClosingEntryResolver
},
@@ -258,7 +255,7 @@ const routes: Routes = [
{
path: 'edit',
component: EditClosureComponent,
data: { title: extract('Edit Accounting Closure'), breadcrumb: 'Edit', routeParamBreadcrumb: false }
data: { title: 'Edit Accounting Closure', breadcrumb: 'Edit', routeParamBreadcrumb: false }
}
]
}
@@ -266,7 +263,7 @@ const routes: Routes = [
},
{
path: 'accounting-rules',
data: { title: extract('Accounting Rules'), breadcrumb: 'Accounting Rules' },
data: { title: 'Accounting Rules', breadcrumb: 'Accounting Rules' },
children: [
{
path: '',
@@ -278,14 +275,14 @@ const routes: Routes = [
{
path: 'create',
component: CreateRuleComponent,
data: { title: extract('Create Accounting Rule'), breadcrumb: 'Create' },
data: { title: 'Create Accounting Rule', breadcrumb: 'Create' },
resolve: {
accountingRulesTemplate: AccountingRulesTemplateResolver
}
},
{
path: 'view/:id',
data: { title: extract('View Accounting Rule'), routeResolveBreadcrumb: ['accountingRule', 'name'] },
data: { title: 'View Accounting Rule', routeResolveBreadcrumb: ['accountingRule', 'name'] },
resolve: {
accountingRule: AccountingRuleResolver
},
@@ -298,7 +295,7 @@ const routes: Routes = [
{
path: 'edit',
component: EditRuleComponent,
data: { title: extract('Edit Accounting Rules'), breadcrumb: 'Edit', routeResolveBreadcrumb: false },
data: { title: 'Edit Accounting Rules', breadcrumb: 'Edit', routeResolveBreadcrumb: false },
resolve: {
accountingRulesTemplate: AccountingRulesTemplateResolver
}
@@ -310,11 +307,11 @@ const routes: Routes = [
{
path: 'periodic-accruals',
component: PeriodicAccrualsComponent,
data: { title: extract('Periodic Accrual Accounting'), breadcrumb: 'Execute Periodic Accrual Accounting' }
data: { title: 'Periodic Accrual Accounting', breadcrumb: 'Execute Periodic Accrual Accounting' }
},
{
path: 'provisioning-entries',
data: { title: extract('Provisioning Entries'), breadcrumb: 'Provisioning Entries' },
data: { title: 'Provisioning Entries', breadcrumb: 'Provisioning Entries' },
children: [
{
path: '',
@@ -326,12 +323,12 @@ const routes: Routes = [
{
path: 'create',
component: CreateProvisioningEntryComponent,
data: { title: extract('Create Provisioning Entry'), breadcrumb: 'Create' }
data: { title: 'Create Provisioning Entry', breadcrumb: 'Create' }
},
{
path: 'view/:id',
component: ViewProvisioningEntryComponent,
data: { title: extract('View Provisioning Entry'), routeParamBreadcrumb: 'id' },
data: { title: 'View Provisioning Entry', routeParamBreadcrumb: 'id' },
resolve: {
provisioningEntry: ProvisioningEntryResolver,
provisioningEntryEntries: ProvisioningEntryEntriesResolver,
@@ -347,7 +344,7 @@ const routes: Routes = [
{
path: 'view/:id',
component: ViewProvisioningJournalEntriesComponent,
data: { title: extract('View Provisioning Journal Entry'), routeParamBreadcrumb: 'id' },
data: { title: 'View Provisioning Journal Entry', routeParamBreadcrumb: 'id' },
resolve: {
provisioningJournalEntries: ProvisioningJournalEntriesResolver
}
@@ -360,12 +357,12 @@ const routes: Routes = [
},
{
path: 'journal-entry',
data: {title: extract('Journal Entries'), breadcrumb: 'Journal Entries' },
data: {title: 'Journal Entries', breadcrumb: 'Journal Entries' },
children: [
{
path: 'view/:id',
component: ViewJournalEntryTransactionComponent,
data: { title: extract('View Transaction'), routeParamBreadcrumb: 'id' },
data: { title: 'View Transaction', routeParamBreadcrumb: 'id' },
resolve: {
transaction: JournalEntryTransactionResolver
}
@@ -373,7 +370,7 @@ const routes: Routes = [
{
path: 'view-transfer/:transferId',
component: ViewJournalEntryTransactionComponent,
data: { title: extract('View Transfer'), routeParamBreadcrumb: 'transferId' },
data: { title: 'View Transfer', routeParamBreadcrumb: 'transferId' },
resolve: {
transferJournalEntryData: ExternalAssetOwnerJournalEntryResolver
}
@@ -1,7 +1,7 @@
<div class="container m-b-20" fxLayout="row" fxLayoutAlign="end" fxLayoutGap="20px">
<button mat-raised-button color="primary" [routerLink]="['create']" *mifosxHasPermission="'CREATE_ACCOUNTINGRULE'">
<fa-icon icon="plus" class="m-r-10"></fa-icon>
{{"labels.buttons.Add Rule" |translate}}
{{"labels.buttons.Add Rule" | translate}}
</button>
</div>
@@ -9,7 +9,7 @@
<div fxLayout="row">
<mat-form-field fxFlex>
<mat-label>{{ 'labels.inputs.Filter' | translate }}</mat-label>
<mat-label>{{'labels.inputs.Filter' | translate}}</mat-label>
<input matInput (keyup)="applyFilter($event.target.value)">
</mat-form-field>
</div>
@@ -19,32 +19,32 @@
<table mat-table [dataSource]="dataSource" matSort>
<ng-container matColumnDef="name">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.name" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.name" | translate}} </th>
<td mat-cell *matCellDef="let accountingRule"> {{ accountingRule.name }} </td>
</ng-container>
<ng-container matColumnDef="officeName">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Office" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Office" | translate}} </th>
<td mat-cell *matCellDef="let accountingRule"> {{ accountingRule.officeName }} </td>
</ng-container>
<ng-container matColumnDef="debitTags">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Debit Tags" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Debit Tags" | translate}} </th>
<td mat-cell *matCellDef="let accountingRule"> {{ accountingRule.debitTags }} </td>
</ng-container>
<ng-container matColumnDef="debitAccount">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Debit Account" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Debit Account" | translate}} </th>
<td mat-cell *matCellDef="let accountingRule"> {{ accountingRule.debitAccounts ? accountingRule.debitAccounts[0].name : '' }} </td>
</ng-container>
<ng-container matColumnDef="creditTags">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Credit Tags" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Credit Tags" | translate}} </th>
<td mat-cell *matCellDef="let accountingRule"> {{ accountingRule.creditTags }} </td>
</ng-container>
<ng-container matColumnDef="creditAccount">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Credit Account" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Credit Account" | translate}} </th>
<td mat-cell *matCellDef="let accountingRule"> {{ accountingRule.creditAccounts ? accountingRule.creditAccounts[0].name : '' }} </td>
</ng-container>
@@ -9,29 +9,29 @@
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
<mat-form-field fxFlex="48%">
<mat-label>{{"labels.inputs.Accounting Rule Name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Accounting Rule Name" | translate}}</mat-label>
<input matInput required formControlName="name">
<mat-error *ngIf="accountingRuleForm.controls.name.hasError('required')">
{{"labels.inputs.Accounting Rule Name" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Accounting Rule Name" | 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.Office" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Office" | translate}}</mat-label>
<mat-select required formControlName="officeId">
<mat-option *ngFor="let office of officeData" [value]="office.id">
{{ office.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="accountingRuleForm.controls.officeId.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>
<div fxFlex="48%" fxLayout="row" fxLayout.lt-md="column" class="rule-wrapper">
<mat-label fxFlex="50%">{{"labels.inputs.Affected GL Entry (Debit) Rule Type" |translate}} *</mat-label>
<mat-label fxFlex="50%">{{"labels.inputs.Affected GL Entry (Debit) Rule Type" | translate}} *</mat-label>
<mat-radio-group fxFlex="50%" fxLayout="row" fxLayoutGap="5%" formControlName="debitRuleType">
<mat-radio-button value="fixedAccount">{{"labels.inputs.Fixed Account" |translate}}</mat-radio-button>
<mat-radio-button value="fixedAccount">{{"labels.inputs.Fixed Account" | translate}}</mat-radio-button>
<mat-radio-button value="listOfAccounts">{{"labels.inputs.List of Accounts"|translate}}</mat-radio-button>
</mat-radio-group>
</div>
@@ -47,7 +47,7 @@
<div fxFlex="48%" fxLayout="row" fxLayoutGap="2%" fxLayout.lt-md="column" *ngIf="accountingRuleForm.controls.debitRuleType.value === 'listOfAccounts'">
<mat-form-field fxFlex="50%">
<mat-label>{{"labels.inputs.Debit Tags" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Debit Tags" | translate}}</mat-label>
<mat-select formControlName="debitTags" multiple>
<mat-option *ngFor="let debitTag of debitTagData" [value]="debitTag.id">
{{ debitTag.name }}
@@ -57,21 +57,21 @@
<div fxFlex="50%" ngClass.gt-md="entries-wrapper">
<mat-checkbox labelPosition="before" formControlName="allowMultipleDebitEntries" class="entries">
{{"labels.inputs.Multiple Debit Entries Allowed" |translate}}
{{"labels.inputs.Multiple Debit Entries Allowed" | translate}}
</mat-checkbox>
</div>
</div>
<div fxFlex="48%" fxLayout="row" fxLayout.lt-md="column" class="rule-wrapper">
<mat-label fxFlex="50%">{{"labels.inputs.Affected GL Entry (Credit) Rule Type" |translate}} *</mat-label>
<mat-label fxFlex="50%">{{"labels.inputs.Affected GL Entry (Credit) Rule Type" | translate}} *</mat-label>
<mat-radio-group fxFlex="50%" fxLayout="row" fxLayoutGap="5%" formControlName="creditRuleType">
<mat-radio-button value="fixedAccount">{{"labels.inputs.Fixed Account" |translate}}</mat-radio-button>
<mat-radio-button value="fixedAccount">{{"labels.inputs.Fixed Account" | translate}}</mat-radio-button>
<mat-radio-button value="listOfAccounts">{{"labels.inputs.List of Accounts"|translate}}</mat-radio-button>
</mat-radio-group>
</div>
<mat-form-field fxFlex="48%" *ngIf="accountingRuleForm.controls.creditRuleType.value === 'fixedAccount'">
<mat-label>{{"labels.inputs.Account to Credit" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Account to Credit" | translate}}</mat-label>
<mat-select formControlName="accountToCredit">
<mat-option *ngFor="let glAccount of glAccountData" [value]="glAccount.id">
{{ glAccount.name }}
@@ -81,7 +81,7 @@
<div fxFlex="48%" fxLayout="row" fxLayoutGap="2%" fxLayout.lt-md="column" *ngIf="accountingRuleForm.controls.creditRuleType.value === 'listOfAccounts'">
<mat-form-field fxFlex="50%">
<mat-label>{{"labels.inputs.Credit Tags" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Credit Tags" | translate}}</mat-label>
<mat-select formControlName="creditTags" multiple>
<mat-option *ngFor="let creditTag of creditTagData" [value]="creditTag.id">
{{ creditTag.name }}
@@ -91,13 +91,13 @@
<div fxFlex="50%" ngClass.gt-md="entries-wrapper">
<mat-checkbox labelPosition="before" formControlName="allowMultipleCreditEntries" class="entries">
{{"labels.inputs.Multiple Credit Entries Allowed" |translate}}
{{"labels.inputs.Multiple Credit Entries Allowed" | translate}}
</mat-checkbox>
</div>
</div>
<mat-form-field fxFlex="98%">
<mat-label>{{"labels.inputs.Description" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Description" | translate}}</mat-label>
<textarea matInput formControlName="description" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
@@ -106,7 +106,7 @@
</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 type="button" mat-raised-button [routerLink]="['../../']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!accountingRuleForm.valid" *mifosxHasPermission="'CREATE_ACCOUNTINGRULE'">{{"labels.buttons.Submit" | translate}}</button>
</mat-card-actions>
@@ -9,29 +9,29 @@
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
<mat-form-field fxFlex="48%">
<mat-label>{{"labels.inputs.Accounting Rule Name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Accounting Rule Name" | translate}}</mat-label>
<input matInput required formControlName="name">
<mat-error *ngIf="accountingRuleForm.controls.name.hasError('required')">
{{"labels.inputs.Accounting Rule Name" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Accounting Rule Name" | 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.Office" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Office" | translate}}</mat-label>
<mat-select required formControlName="officeId">
<mat-option *ngFor="let office of officeData" [value]="office.id">
{{ office.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="accountingRuleForm.controls.officeId.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>
<div fxFlex="48%" fxLayout="row" fxLayout.lt-md="column" class="rule-wrapper">
<mat-label fxFlex="50%">{{"labels.inputs.Affected GL Entry (Debit) Rule Type" |translate}} *</mat-label>
<mat-label fxFlex="50%">{{"labels.inputs.Affected GL Entry (Debit) Rule Type" | translate}} *</mat-label>
<mat-radio-group fxFlex="50%" fxLayout="row" fxLayoutGap="5%" formControlName="debitRuleType">
<mat-radio-button value="fixedAccount">{{"labels.inputs.Fixed Account" |translate}}</mat-radio-button>
<mat-radio-button value="fixedAccount">{{"labels.inputs.Fixed Account" | translate}}</mat-radio-button>
<mat-radio-button value="listOfAccounts">{{"labels.inputs.List of Accounts"|translate}}</mat-radio-button>
</mat-radio-group>
</div>
@@ -47,7 +47,7 @@
<div fxFlex="48%" fxLayout="row" fxLayoutGap="2%" fxLayout.lt-md="column" *ngIf="accountingRuleForm.controls.debitRuleType.value === 'listOfAccounts'">
<mat-form-field fxFlex="50%">
<mat-label>{{"labels.inputs.Debit Tags" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Debit Tags" | translate}}</mat-label>
<mat-select formControlName="debitTags" multiple>
<mat-option *ngFor="let debitTag of debitTagData" [value]="debitTag.id">
{{ debitTag.name }}
@@ -57,21 +57,21 @@
<div fxFlex="50%" ngClass.gt-md="entries-wrapper">
<mat-checkbox labelPosition="before" formControlName="allowMultipleDebitEntries" class="entries">
{{"labels.inputs.Multiple Debit Entries Allowed" |translate}}
{{"labels.inputs.Multiple Debit Entries Allowed" | translate}}
</mat-checkbox>
</div>
</div>
<div fxFlex="48%" fxLayout="row" fxLayout.lt-md="column" class="rule-wrapper">
<mat-label fxFlex="50%">{{"labels.inputs.Affected GL Entry (Credit) Rule Type" |translate}} *</mat-label>
<mat-label fxFlex="50%">{{"labels.inputs.Affected GL Entry (Credit) Rule Type" | translate}} *</mat-label>
<mat-radio-group fxFlex="50%" fxLayout="row" fxLayoutGap="5%" formControlName="creditRuleType">
<mat-radio-button value="fixedAccount">{{"labels.inputs.Fixed Account" |translate}}</mat-radio-button>
<mat-radio-button value="fixedAccount">{{"labels.inputs.Fixed Account" | translate}}</mat-radio-button>
<mat-radio-button value="listOfAccounts">{{"labels.inputs.List of Accounts"|translate}}</mat-radio-button>
</mat-radio-group>
</div>
<mat-form-field fxFlex="48%" *ngIf="accountingRuleForm.controls.creditRuleType.value === 'fixedAccount'">
<mat-label>{{"labels.inputs.Account to Credit" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Account to Credit" | translate}}</mat-label>
<mat-select formControlName="accountToCredit">
<mat-option *ngFor="let glAccount of glAccountData" [value]="glAccount.id">
{{ glAccount.name }}
@@ -81,7 +81,7 @@
<div fxFlex="48%" fxLayout="row" fxLayoutGap="2%" fxLayout.lt-md="column" *ngIf="accountingRuleForm.controls.creditRuleType.value === 'listOfAccounts'">
<mat-form-field fxFlex="50%">
<mat-label>{{"labels.inputs.Credit Tags" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Credit Tags" | translate}}</mat-label>
<mat-select formControlName="creditTags" multiple>
<mat-option *ngFor="let creditTag of creditTagData" [value]="creditTag.id">
{{ creditTag.name }}
@@ -91,13 +91,13 @@
<div fxFlex="50%" ngClass.gt-md="entries-wrapper">
<mat-checkbox labelPosition="before" formControlName="allowMultipleCreditEntries" class="entries">
{{"labels.inputs.Multiple Credit Entries Allowed" |translate}}
{{"labels.inputs.Multiple Credit Entries Allowed" | translate}}
</mat-checkbox>
</div>
</div>
<mat-form-field fxFlex="98%">
<mat-label>{{"labels.inputs.Description" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Description" | translate}}</mat-label>
<textarea matInput formControlName="description" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
@@ -106,7 +106,7 @@
</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 type="button" mat-raised-button [routerLink]="['../../']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="accountingRuleForm.pristine || !accountingRuleForm.valid" *mifosxHasPermission="'UPDATE_ACCOUNTINGRULE'">{{"labels.buttons.Submit" | translate}}</button>
</mat-card-actions>
@@ -5,7 +5,7 @@
</button>
<button mat-raised-button color="warn" (click)="deleteAccountingRule()" *mifosxHasPermission="'DELETE_ACCOUNTINGRULE'">
<fa-icon icon="trash" class="m-r-10"></fa-icon>
{{"labels.buttons.Delete" |translate}}
{{"labels.buttons.Delete" | translate}}
</button>
</div>
@@ -20,7 +20,7 @@
<div fxLayout="row wrap" class="content">
<div fxFlex="50%" class="header">
{{"labels.inputs.Office" |translate}}
{{"labels.inputs.Office" | translate}}
</div>
<div fxFlex="50%">
@@ -28,7 +28,7 @@
</div>
<div fxFlex="50%" class="header" *ngIf="accountingRule.description">
{{"labels.inputs.Description" |translate}}
{{"labels.inputs.Description" | translate}}
</div>
<div fxFlex="50%" *ngIf="accountingRule.description">
@@ -36,7 +36,7 @@
</div>
<div fxFlex="50%" class="header">
{{"labels.inputs.Multiple Debit Entries Allowed" |translate}}
{{"labels.inputs.Multiple Debit Entries Allowed" | translate}}
</div>
<div fxFlex="50%">
@@ -44,7 +44,7 @@
</div>
<div fxFlex="50%" class="header">
{{"labels.inputs.Multiple Credit Entries Allowed" |translate}}
{{"labels.inputs.Multiple Credit Entries Allowed" | translate}}
</div>
<div fxFlex="50%">
@@ -69,7 +69,7 @@
<div fxFlex="50%" fxLayout="column" *ngIf="accountingRule.debitTags">
<div class="header">
{{"labels.inputs.Debit Tags" |translate}}
{{"labels.inputs.Debit Tags" | translate}}
</div>
<div *ngFor="let debitTag of accountingRule.debitTags">
{{ debitTag.tag.name }}
@@ -78,7 +78,7 @@
<div fxFlex="50%" fxLayout="column" *ngIf="accountingRule.debitAccounts">
<div class="header">
{{"labels.inputs.Debit Account Name" |translate}}
{{"labels.inputs.Debit Account Name" | translate}}
</div>
<div *ngFor="let debitAccount of accountingRule.debitAccounts">
{{ debitAccount.name + ' (' + debitAccount.glCode + ')' }}
@@ -87,7 +87,7 @@
<div fxFlex="50%" fxLayout="column" *ngIf="accountingRule.creditTags">
<div class="header">
{{"labels.inputs.Credit Tags" |translate}}
{{"labels.inputs.Credit Tags" | translate}}
</div>
<div *ngFor="let creditTag of accountingRule.creditTags">
{{ creditTag.tag.name }}
@@ -96,7 +96,7 @@
<div fxFlex="50%" fxLayout="column" *ngIf="accountingRule.creditAccounts">
<div class="header">
{{"labels.inputs.Credit Account Name" |translate}}
{{"labels.inputs.Credit Account Name" | translate}}
</div>
<div *ngFor="let creditAccount of accountingRule.creditAccounts">
{{ creditAccount.name + ' (' + creditAccount.glCode + ')' }}
+45 -45
View File
@@ -12,8 +12,8 @@
<mat-icon matListIcon>
<fa-icon icon="sync" size="sm"></fa-icon>
</mat-icon>
<h4 matLine>{{"labels.heading.Frequent Postings" |translate}}</h4>
<p matLine>{{"labels.text.These are predefined postings" |translate}}</p>
<h4 matLine>{{"labels.heading.Frequent Postings" | translate}}</h4>
<p matLine>{{"labels.text.These are predefined postings" | translate}}</p>
</mat-list-item>
<div #createJournalEntries>
@@ -21,8 +21,8 @@
<mat-icon matListIcon>
<fa-icon icon="plus" size="sm"></fa-icon>
</mat-icon>
<h4 matLine>{{"labels.heading.Create Journal Entries" |translate}}</h4>
<p matLine>{{"labels.text.Manual journal entry transactions recorded in a journal" |translate}}</p>
<h4 matLine>{{"labels.heading.Create Journal Entries" | translate}}</h4>
<p matLine>{{"labels.text.Manual journal entry transactions recorded in a journal" | translate}}</p>
</mat-list-item>
</div>
@@ -30,8 +30,8 @@
<mat-icon matListIcon>
<fa-icon icon="search" size="sm"></fa-icon>
</mat-icon>
<h4 matLine>{{"labels.heading.Search Journal Entries" |translate}}</h4>
<p matLine>{{"labels.text.Advanced search option for journal entries" |translate}}</p>
<h4 matLine>{{"labels.heading.Search Journal Entries" | translate}}</h4>
<p matLine>{{"labels.text.Advanced search option for journal entries" | translate}}</p>
</mat-list-item>
<div #accountsLinked>
@@ -39,8 +39,8 @@
<mat-icon matListIcon>
<fa-icon icon="link" size="sm"></fa-icon>
</mat-icon>
<h4 matLine>{{"labels.heading.Accounts Linked to Financial Activities" |translate}}</h4>
<p matLine>{{"labels.text.List of Financial Activities and GL Account Mappings" |translate}}</p>
<h4 matLine>{{"labels.heading.Accounts Linked to Financial Activities" | translate}}</h4>
<p matLine>{{"labels.text.List of Financial Activities and GL Account Mappings" | translate}}</p>
</mat-list-item>
</div>
@@ -49,8 +49,8 @@
<mat-icon matListIcon>
<fa-icon icon="hand-holding-usd" size="sm"></fa-icon>
</mat-icon>
<h4 matLine>{{"labels.heading.Migrate Opening Balances (Office-wise)" |translate}}</h4>
<p matLine>{{"labels.text.Set or update office-level opening balances for GL accounts" |translate}}</p>
<h4 matLine>{{"labels.heading.Migrate Opening Balances (Office-wise)" | translate}}</h4>
<p matLine>{{"labels.text.Set or update office-level opening balances for GL accounts" | translate}}</p>
</mat-list-item>
</div>
@@ -67,8 +67,8 @@
<mat-icon matListIcon>
<fa-icon icon="sitemap" size="sm"></fa-icon>
</mat-icon>
<h4 matLine>{{"labels.heading.Chart of Accounts" |translate}}</h4>
<p matLine>{{"labels.text.List of accounts used by the organization" |translate}}</p>
<h4 matLine>{{"labels.heading.Chart of Accounts" | translate}}</h4>
<p matLine>{{"labels.text.List of accounts used by the organization" | translate}}</p>
</mat-list-item>
</div>
@@ -77,8 +77,8 @@
<mat-icon matListIcon>
<fa-icon icon="archive" size="sm"></fa-icon>
</mat-icon>
<h4 matLine>{{"labels.heading.Closing Entries" |translate}}</h4>
<p matLine>{{"labels.text.Journal entries made at the end of accounting period" |translate}}</p>
<h4 matLine>{{"labels.heading.Closing Entries" | translate}}</h4>
<p matLine>{{"labels.text.Journal entries made at the end of accounting period" | translate}}</p>
</mat-list-item>
</div>
@@ -86,24 +86,24 @@
<mat-icon matListIcon>
<fa-icon icon="list" size="sm"></fa-icon>
</mat-icon>
<h4 matLine>{{"labels.heading.Accounting Rules" |translate}}</h4>
<p matLine>{{"labels.text.List of all accounting rules" |translate}}</p>
<h4 matLine>{{"labels.heading.Accounting Rules" | translate}}</h4>
<p matLine>{{"labels.text.List of all accounting rules" | translate}}</p>
</mat-list-item>
<mat-list-item *mifosxHasPermission="'EXECUTE_PERIODICACCRUALACCOUNTING'" [routerLink]="['periodic-accruals']">
<mat-icon matListIcon>
<fa-icon icon="calendar" size="sm"></fa-icon>
</mat-icon>
<h4 matLine>{{"labels.heading.Accruals" |translate}}</h4>
<p matLine>{{"labels.text.Accrues income, expenses and liabilities" |translate}}</p>
<h4 matLine>{{"labels.heading.Accruals" | translate}}</h4>
<p matLine>{{"labels.text.Accrues income, expenses and liabilities" | translate}}</p>
</mat-list-item>
<mat-list-item *mifosxHasPermission="'VIEW_PROVISIONING_ENTRIES'" [routerLink]="['provisioning-entries']">
<mat-icon matListIcon>
<fa-icon icon="cogs" size="sm"></fa-icon>
</mat-icon>
<h4 matLine>{{"labels.heading.Provisioning Entries" |translate}}</h4>
<p matLine>{{"labels.text.Create provisioning entries" |translate}}</p>
<h4 matLine>{{"labels.heading.Provisioning Entries" | translate}}</h4>
<p matLine>{{"labels.text.Create provisioning entries" | translate}}</p>
</mat-list-item>
</mat-nav-list>
@@ -117,51 +117,51 @@
</div>
<ng-template #templateChartofAccounts let-popover="popover">
<h2>{{"labels.heading.Chart of Accounts" |translate}}</h2>
<p class="mw300">{{"labels.text.The Chart of Accounts - General Ledger Setup" |translate}}</p>
<h2>{{"labels.heading.Chart of Accounts" | translate}}</h2>
<p class="mw300">{{"labels.text.The Chart of Accounts - General Ledger Setup" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStepChartofAccounts()">{{"labels.buttons.Back" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStepChartofAccounts()">{{"labels.buttons.Next" |translate}}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStepChartofAccounts()">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStepChartofAccounts()">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateAccountsLinked let-popover="popover">
<h2>{{"labels.heading.Accounts Linked to Financial Activities" |translate}}</h2>
<p class="mw400">{{"labels.text.Accounts linked to Financial Activities" |translate}}</p>
<h2>{{"labels.heading.Accounts Linked to Financial Activities" | translate}}</h2>
<p class="mw400">{{"labels.text.Accounts linked to Financial Activities" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStepAccountsLinked()">{{"labels.buttons.Back" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStepAccountsLinked()">{{"labels.buttons.Next" |translate}}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStepAccountsLinked()">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStepAccountsLinked()">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateMigrateOpeningBalances let-popover="popover">
<h2>{{"labels.heading.Migrate Opening Balances (Office-wise)" |translate}}</h2>
<p class="mw400">{{"labels.text.GLAccount Balances Application" |translate}}</p>
<h2>{{"labels.heading.Migrate Opening Balances (Office-wise)" | translate}}</h2>
<p class="mw400">{{"labels.text.GLAccount Balances Application" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStepMigrateOpeningBalances()">{{"labels.buttons.Back" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStepMigrateOpeningBalances()">{{"labels.buttons.Next" |translate}}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStepMigrateOpeningBalances()">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStepMigrateOpeningBalances()">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateClosingEntries let-popover="popover">
<h2>{{"labels.heading.Closing Entries" |translate}}</h2>
<p class="mw300">{{"labels.text.Accounting to journal entries" |translate}}</p>
<h2>{{"labels.heading.Closing Entries" | translate}}</h2>
<p class="mw300">{{"labels.text.Accounting to journal entries" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStepClosingEntries()">{{"labels.buttons.Back" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStepClosingEntries()">{{"labels.buttons.Next" |translate}}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStepClosingEntries()">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStepClosingEntries()">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateCreateJournalEntries let-popover="popover">
<h2>{{"labels.heading.Create Journal Entries" |translate}}</h2>
<p class="mw300">{{"labels.text.Journal Entries Transactions" |translate}}</p>
<h2>{{"labels.heading.Create Journal Entries" | translate}}</h2>
<p class="mw300">{{"labels.text.Journal Entries Transactions" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStepCreateJournalEntries()">{{"labels.buttons.Back" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStepCreateJournalEntries()">{{"labels.buttons.Next" |translate}}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStepCreateJournalEntries()">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStepCreateJournalEntries()">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
@@ -12,7 +12,7 @@
<div #buttonAddAccount>
<button mat-raised-button color="primary" [routerLink]="['gl-accounts/create']" *mifosxHasPermission="'CREATE_GLACCOUNT'">
<fa-icon icon="plus" class="m-r-10"></fa-icon>
{{"labels.buttons.Add Account" |translate}}
{{"labels.buttons.Add Account" | translate}}
</button>
</div>
</div>
@@ -23,7 +23,7 @@
<div #filter fxLayout="row" fxLayoutGap="20px">
<mat-form-field fxFlex>
<mat-label>{{ 'labels.inputs.Filter' | translate }}</mat-label>
<mat-label>{{'labels.inputs.Filter' | translate}}</mat-label>
<input matInput (keyup)="applyFilter($event.target.value)">
</mat-form-field>
</div>
@@ -33,22 +33,22 @@
<table mat-table [dataSource]="tableDataSource" matSort>
<ng-container matColumnDef="name">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Account" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Account" | translate}} </th>
<td mat-cell *matCellDef="let glAccount"> {{ glAccount.name }} </td>
</ng-container>
<ng-container matColumnDef="glCode">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.GL Code" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.GL Code" | translate}} </th>
<td mat-cell *matCellDef="let glAccount"> {{ glAccount.glCode }} </td>
</ng-container>
<ng-container matColumnDef="glAccountType">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Type" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Type" | translate}} </th>
<td mat-cell *matCellDef="let glAccount"> {{ glAccount.type.value }} </td>
</ng-container>
<ng-container matColumnDef="disabled">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Disabled" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Disabled" | translate}} </th>
<td mat-cell *matCellDef="let glAccount">
<div [className]="glAccount.disabled === true ? 'disabled' : 'enabled'">
<fa-icon matTooltip="{{ glAccount.disabled === true ? 'Disabled' : 'Enabled' }}" matTooltipPosition="right" icon="circle" size="lg"></fa-icon>
@@ -57,15 +57,15 @@
</ng-container>
<ng-container matColumnDef="manualEntriesAllowed">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Manual Entries Allowed" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Manual Entries Allowed" | translate}} </th>
<td mat-cell *matCellDef="let glAccount">
<fa-icon *ngIf="glAccount.manualEntriesAllowed" class="manual-entries-allowed" matTooltip="{{ 'tooltips.Allowed' | translate }}" matTooltipPosition="right" icon="check-circle" size="lg"></fa-icon>
<fa-icon *ngIf="!glAccount.manualEntriesAllowed" class="manual-entries-not-allowed" matTooltip="{{ 'tooltips.' | translate }}" matTooltipPosition="right" icon="times-circle" size="lg"></fa-icon>
<fa-icon *ngIf="glAccount.manualEntriesAllowed" class="manual-entries-allowed" matTooltip="{{ 'tooltips.Allowed' | translate}}" matTooltipPosition="right" icon="check-circle" size="lg"></fa-icon>
<fa-icon *ngIf="!glAccount.manualEntriesAllowed" class="manual-entries-not-allowed" matTooltip="{{ 'tooltips.' | translate}}" matTooltipPosition="right" icon="times-circle" size="lg"></fa-icon>
</td>
</ng-container>
<ng-container matColumnDef="usedAs">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Used as" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Used as" | translate}} </th>
<td mat-cell *matCellDef="let glAccount"> {{ glAccount.usage.value }} </td>
</ng-container>
@@ -87,15 +87,15 @@
<div class="m-b-20" fxLayout="row" fxLayoutAlign="end" fxLayoutGap="20px">
<button mat-raised-button (click)="nestedTreeControl.expandAll()"> <!-- Bug(angular-material): https://github.com/angular/material2/issues/12170 -->
{{"labels.buttons.Expand All" |translate}}
{{"labels.buttons.Expand All" | translate}}
</button>
<button mat-raised-button (click)="nestedTreeControl.collapseAll()">
{{"labels.buttons.Collapse All" |translate}}
{{"labels.buttons.Collapse All" | translate}}
</button>
</div>
<div fxLayout="row" fxLayoutGap="4%" fxLayout.lt-md="column">
<div class="mat-elevation-z8" fxFlex>
<mat-tree [dataSource]="nestedTreeDataSource" [treeControl]="nestedTreeControl" class="gl-account-tree">
@@ -140,7 +140,7 @@
<div fxLayout="row wrap" class="content">
<div fxFlex="50%" class="header">
{{"labels.inputs.Account Name" |translate}}
{{"labels.inputs.Account Name" | translate}}
</div>
<div fxFlex="50%">
@@ -148,7 +148,7 @@
</div>
<div fxFlex="50%" class="header">
{{"labels.inputs.GL Code" |translate}}
{{"labels.inputs.GL Code" | translate}}
</div>
<div fxFlex="50%">
@@ -156,7 +156,7 @@
</div>
<div fxFlex="50%" class="header">
{{"labels.inputs.Account Type" |translate}}
{{"labels.inputs.Account Type" | translate}}
</div>
<div fxFlex="50%">
@@ -164,7 +164,7 @@
</div>
<div fxFlex="50%" class="header">
{{"labels.inputs.Account Usage" |translate}}
{{"labels.inputs.Account Usage" | translate}}
</div>
<div fxFlex="50%">
@@ -172,7 +172,7 @@
</div>
<div fxFlex="50%" class="header">
{{"labels.inputs.Manual Entries Allowed" |translate}}
{{"labels.inputs.Manual Entries Allowed" | translate}}
</div>
<div fxFlex="50%">
@@ -180,7 +180,7 @@
</div>
<div fxFlex="50%" class="header">
{{"labels.inputs.Description" |translate}}
{{"labels.inputs.Description" | translate}}
</div>
<div fxFlex="50%">
@@ -200,39 +200,39 @@
</div>
<ng-template #templateButtonTreeView let-popover="popover">
<h2>{{"labels.heading.Tree View" |translate}}</h2>
<p class="mw300">{{"labels.text.Alternative way-Tree view" |translate}}</p>
<h2>{{"labels.heading.Tree View" | translate}}</h2>
<p class="mw300">{{"labels.text.Alternative way-Tree view" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStep();">{{"labels.buttons.Back" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover( templateButtonAddAccount, buttonAddAccount, 'bottom', true);">{{"labels.buttons.Next" |translate}}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStep();">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover( templateButtonAddAccount, buttonAddAccount, 'bottom', true);">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateButtonAddAccount let-popover="popover">
<h2>{{"labels.heading.Add Account" |translate}}</h2>
<h2>{{"labels.heading.Add Account" | translate}}</h2>
<p class="mw300">{{"labels.text.Create New GL Account"|translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateButtonTreeView, buttonTreeView , 'bottom', true);">{{"labels.buttons.Back" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateFilter, filter, 'bottom', true);">{{"labels.buttons.Next" |translate}}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateButtonTreeView, buttonTreeView , 'bottom', true);">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateFilter, filter, 'bottom', true);">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateFilter let-popover="popover">
<h4>{{"labels.heading.Search bar to filter GL accounts." |translate}}</h4>
<h4>{{"labels.heading.Search bar to filter GL accounts." | translate}}</h4>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover( templateButtonAddAccount, buttonAddAccount, 'bottom', true);">{{"labels.buttons.Back" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateAccountsTable, accountsTable, 'top', true);">{{"labels.buttons.Next" |translate}}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover( templateButtonAddAccount, buttonAddAccount, 'bottom', true);">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateAccountsTable, accountsTable, 'top', true);">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateAccountsTable let-popover="popover">
<h4 class="mw300">{{ "labels.heading.List of chart of all the accounts being used by your organization." |translate}}</h4>
<h4 class="mw300">{{"labels.heading.List of chart of all the accounts being used by your organization." | translate}}</h4>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateFilter, filter, 'bottom', true);">{{"labels.buttons.Back" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStep()">{{"labels.buttons.Next" |translate}}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateFilter, filter, 'bottom', true);">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStep()">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
@@ -9,47 +9,47 @@
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
<mat-form-field fxFlex="48%">
<mat-label>{{"labels.inputs.Account Type" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Account Type" | translate}}</mat-label>
<mat-select required formControlName="type">
<mat-option *ngFor="let accountType of accountTypeData" [value]="accountType.id">
{{ accountType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="glAccountForm.controls.type.hasError('required')">
{{"labels.inputs.Account Type" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Account Type" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{"labels.inputs.Account Name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Account Name" | translate}}</mat-label>
<input matInput required formControlName="name">
<mat-error *ngIf="glAccountForm.controls.name.hasError('required')">
{{"labels.inputs.Account Name" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Account Name" | 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.Account Usage" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Account Usage" | translate}}</mat-label>
<mat-select required formControlName="usage">
<mat-option *ngFor="let accountUsage of accountUsageData" [value]="accountUsage.id">
{{ accountUsage.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="glAccountForm.controls.usage.hasError('required')">
{{"labels.inputs.Account Usage" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Account Usage" | 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.GL Code" |translate}}</mat-label>
<mat-label>{{"labels.inputs.GL Code" | translate}}</mat-label>
<input matInput required formControlName="glCode">
<mat-error *ngIf="glAccountForm.controls.glCode.hasError('required')">
{{"labels.inputs.GL Code" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.GL Code" | 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.Parent" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Parent" | translate}}</mat-label>
<mat-select formControlName="parentId">
<mat-option *ngFor="let parent of parentData" [value]="parent.id">
({{ parent.glCode }}) {{ parent.name }}
@@ -58,7 +58,7 @@
</mat-form-field>
<mat-form-field fxFlex="28%">
<mat-label>{{"labels.inputs.Tag" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Tag" | translate}}</mat-label>
<mat-select formControlName="tagId">
<mat-option *ngFor="let tag of tagData" [value]="tag.id">
{{ tag.name }}
@@ -68,12 +68,12 @@
<div fxFlex="18%" class="manual-entries-allowed-wrapper">
<mat-checkbox labelPosition="before" required formControlName="manualEntriesAllowed" class="manual-entries-allowed">
{{"labels.inputs.Manual Entries Allowed" |translate}}
{{"labels.inputs.Manual Entries Allowed" | translate}}
</mat-checkbox>
</div>
<mat-form-field fxFlex="98%">
<mat-label>{{"labels.inputs.Description" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Description" | translate}}</mat-label>
<textarea matInput formControlName="description" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
@@ -82,7 +82,7 @@
</mat-card-content>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="[cancelRoute]">{{ "labels.buttons.Cancel" | translate}}</button>
<button type="button" mat-raised-button [routerLink]="[cancelRoute]">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!glAccountForm.valid" *mifosxHasPermission="'CREATE_GLACCOUNT'">{{"labels.buttons.Submit" | translate}}</button>
</mat-card-actions>
@@ -93,12 +93,12 @@
</div>
<ng-template #templateAccountFormRef let-popover="popover">
<h2>{{"labels.heading.Create GL account" |translate}}</h2>
<p class="mw400">{{"labels.text.Filling Details" |translate}} <a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/67141745/Chart+of+Accounts+-+General+Ledger+Setup" target="_blank">{{"labels.inputs.Chart of Accounts" |translate}}</a></p>
<h2>{{"labels.heading.Create GL account" | translate}}</h2>
<p class="mw400">{{"labels.text.Filling Details" | translate}} <a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/67141745/Chart+of+Accounts+-+General+Ledger+Setup" target="_blank">{{"labels.inputs.Chart of Accounts" | translate}}</a></p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close()">{{"labels.buttons.Create GL Account" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStep()">{{"labels.buttons.Back" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStep()">{{"labels.buttons.Next" |translate}}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close()">{{"labels.buttons.Create GL Account" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStep()">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStep()">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
@@ -9,47 +9,47 @@
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
<mat-form-field fxFlex="48%">
<mat-label>{{"labels.inputs.Account Type" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Account Type" | translate}}</mat-label>
<mat-select required formControlName="type">
<mat-option *ngFor="let accountType of accountTypeData" [value]="accountType.id">
{{ accountType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="glAccountForm.controls.type.hasError('required')">
{{"labels.inputs.Account Type" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Account Type" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{"labels.inputs.Account Name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Account Name" | translate}}</mat-label>
<input matInput required formControlName="name">
<mat-error *ngIf="glAccountForm.controls.name.hasError('required')">
{{"labels.inputs.Account Name" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Account Name" | 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.Account Usage" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Account Usage" | translate}}</mat-label>
<mat-select required formControlName="usage">
<mat-option *ngFor="let accountUsage of accountUsageData" [value]="accountUsage.id">
{{ accountUsage.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="glAccountForm.controls.usage.hasError('required')">
{{"labels.inputs.Account Usage" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Account Usage" | 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.GL Code" |translate}}</mat-label>
<mat-label>{{"labels.inputs.GL Code" | translate}}</mat-label>
<input matInput required formControlName="glCode">
<mat-error *ngIf="glAccountForm.controls.glCode.hasError('required')">
{{"labels.inputs.GL Code" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.GL Code" | 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.Parent" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Parent" | translate}}</mat-label>
<mat-select formControlName="parentId">
<mat-option *ngFor="let parent of parentData" [value]="parent.id">
({{ parent.glCode }}) {{ parent.name }}
@@ -58,7 +58,7 @@
</mat-form-field>
<mat-form-field fxFlex="28%">
<mat-label>{{"labels.inputs.Tag" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Tag" | translate}}</mat-label>
<mat-select formControlName="tagId">
<mat-option *ngFor="let tag of tagData" [value]="tag.id">
{{ tag.name }}
@@ -68,12 +68,12 @@
<div fxFlex="18%" class="manual-entries-allowed-wrapper">
<mat-checkbox labelPosition="before" required formControlName="manualEntriesAllowed" class="manual-entries-allowed">
{{"labels.inputs.Manual Entries Allowed" |translate}}
{{"labels.inputs.Manual Entries Allowed" | translate}}
</mat-checkbox>
</div>
<mat-form-field fxFlex="98%">
<mat-label>{{"labels.inputs.Description" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Description" | translate}}</mat-label>
<textarea matInput formControlName="description" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
@@ -82,7 +82,7 @@
</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 type="button" mat-raised-button [routerLink]="['../']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="glAccountForm.pristine" *mifosxHasPermission="'UPDATE_GLACCOUNT'">{{"labels.buttons.Submit" | translate}}</button>
</mat-card-actions>
@@ -2,30 +2,30 @@
<span *mifosxHasPermission="'CREATE_GLACCOUNT'">
<button mat-raised-button color="primary" *ngIf="glAccount.usage.value === 'HEADER'" [routerLink]="['/accounting/chart-of-accounts/gl-accounts/create']" [queryParams]="{ parent: glAccount.id, accountType: glAccount.type.id }">
<fa-icon icon="plus" class="m-r-10"></fa-icon>
{{"labels.buttons.Subledger Account" |translate}}
{{"labels.buttons.Subledger Account" | translate}}
</button>
</span>
<span *mifosxHasPermission="'UPDATE_GLACCOUNT'">
<button mat-raised-button color="primary" [routerLink]="['edit']">
<fa-icon icon="edit" class="m-r-10"></fa-icon>
{{"labels.buttons.Edit" |translate}}
{{"labels.buttons.Edit" | translate}}
</button>
</span>
<span *mifosxHasPermission="'UPDATE_GLACCOUNT'">
<button mat-raised-button color="warn" *ngIf="!glAccount.disabled" (click)="changeGlAccountState()">
<fa-icon icon="lock" class="m-r-10"></fa-icon>
{{"labels.buttons.Disable" |translate}}
{{"labels.buttons.Disable" | translate}}
</button>
</span>
<span *mifosxHasPermission="'UPDATE_GLACCOUNT'">
<button mat-raised-button color="accent" *ngIf="glAccount.disabled" (click)="changeGlAccountState()">
<fa-icon icon="lock-open" class="m-r-10"></fa-icon>
{{"labels.buttons.Enable" |translate}}
{{"labels.buttons.Enable" | translate}}
</button>
</span>
<button mat-raised-button color="warn" (click)="deleteGlAccount()" *mifosxHasPermission="'DELETE_GLACCOUNT'">
<fa-icon icon="trash" class="m-r-10"></fa-icon>
{{"labels.buttons.Delete" |translate}}
{{"labels.buttons.Delete" | translate}}
</button>
</div>
@@ -38,7 +38,7 @@
<div fxLayout="row wrap" class="content">
<div fxFlex="50%" class="header">
{{"labels.inputs.Account Type" |translate}}
{{"labels.inputs.Account Type" | translate}}
</div>
<div fxFlex="50%">
@@ -46,7 +46,7 @@
</div>
<div fxFlex="50%" class="header">
{{"labels.inputs.GL Code" |translate}}
{{"labels.inputs.GL Code" | translate}}
</div>
<div fxFlex="50%">
@@ -54,7 +54,7 @@
</div>
<div fxFlex="50%" class="header" *ngIf="glAccount.parent">
{{"labels.inputs.Parent Account Name" |translate}}
{{"labels.inputs.Parent Account Name" | translate}}
</div>
<div fxFlex="50%" *ngIf="glAccount.parent">
@@ -64,7 +64,7 @@
</div>
<div fxFlex="50%" class="header" *ngIf="glAccount.tagId.id">
{{"labels.inputs.Tag" |translate}}
{{"labels.inputs.Tag" | translate}}
</div>
<div fxFlex="50%" *ngIf="glAccount.tagId.id">
@@ -72,7 +72,7 @@
</div>
<div fxFlex="50%" class="header">
{{"labels.inputs.Account Usage" |translate}}
{{"labels.inputs.Account Usage" | translate}}
</div>
<div fxFlex="50%">
@@ -80,7 +80,7 @@
</div>
<div fxFlex="50%" class="header">
{{"labels.inputs.Manual Entries Allowed" |translate}}
{{"labels.inputs.Manual Entries Allowed" | translate}}
</div>
<div fxFlex="50%">
@@ -88,7 +88,7 @@
</div>
<div fxFlex="50%" class="header" *ngIf="glAccount.description">
{{"labels.inputs.Description" |translate}}
{{"labels.inputs.Description" | translate}}
</div>
<div fxFlex="50%" *ngIf="glAccount.description">
@@ -2,14 +2,14 @@
<div #buttonCreateClosure>
<button mat-raised-button color="primary" [routerLink]="['create']" *mifosxHasPermission="'CREATE_GLCLOSURE'">
<fa-icon icon="plus" class="m-r-10"></fa-icon>
{{"labels.buttons.Create Closure" |translate}}
{{"labels.buttons.Create Closure" | translate}}
</button>
</div>
</div>
<div #filter class="container" fxLayout="row">
<mat-form-field fxFlex>
<mat-label>{{"labels.inputs.Office Name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Office Name" | translate}}</mat-label>
<input matInput [formControl]="officeName" [matAutocomplete]="officeNameAutocomplete">
</mat-form-field>
</div>
@@ -28,22 +28,22 @@
<table mat-table [dataSource]="dataSource" matSort>
<ng-container matColumnDef="officeName">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Office" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Office" | translate}} </th>
<td mat-cell *matCellDef="let glAccountClosure"> {{ glAccountClosure.officeName }} </td>
</ng-container>
<ng-container matColumnDef="closingDate">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{ "labels.inputs.Closure Date"| translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Closure Date" | translate}} </th>
<td mat-cell *matCellDef="let glAccountClosure"> {{ glAccountClosure.closingDate }} </td>
</ng-container>
<ng-container matColumnDef="comments">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{ "labels.inputs.Comments" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Comments" | translate}} </th>
<td mat-cell *matCellDef="let glAccountClosure"> {{ glAccountClosure.comments }} </td>
</ng-container>
<ng-container matColumnDef="createdByUsername">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{ "labels.inputs.Created By" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Created By" | translate}} </th>
<td mat-cell *matCellDef="let glAccountClosure">{{ glAccountClosure.createdByUsername }}</td>
</ng-container>
@@ -59,29 +59,29 @@
</div>
<ng-template #templateButtonCreateClosure let-popover="popover">
<h2>{{"labels.heading.Create Closure" |translate}}</h2>
<p class="mw300">{{"labels.text.Create new closure" |translate}}</p>
<h2>{{"labels.heading.Create Closure" | translate}}</h2>
<p class="mw300">{{"labels.text.Create new closure" | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStep();">{{"labels.buttons.Back" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateFilter,filter, 'bottom', true);">{{"labels.buttons.Next" |translate}}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStep();">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateFilter,filter, 'bottom', true);">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateFilter let-popover="popover">
<h4>{{"labels.heading.Search bar to filter closures by office."|translate}}</h4>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateButtonCreateClosure, buttonCreateClosure, 'bottom', true);">{{"labels.buttons.Back" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateClosuresTable,closuresTable, 'top', true);">{{"labels.buttons.Next" |translate}}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateButtonCreateClosure, buttonCreateClosure, 'bottom', true);">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateClosuresTable,closuresTable, 'top', true);">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateClosuresTable let-popover="popover">
<h4>{{"labels.heading.List of closures. To know more click" |translate}}: <a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/67895316/Closing+Entries" target="_blank">{{"labels.inputs.Closing Entries" |translate}}</a></h4>
<h4>{{"labels.heading.List of closures. To know more click" | translate}}: <a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/67895316/Closing+Entries" target="_blank">{{"labels.inputs.Closing Entries" | translate}}</a></h4>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateFilter,filter, 'bottom', true);">{{"labels.buttons.Back" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStep()">{{"labels.buttons.Next" |translate}}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateFilter,filter, 'bottom', true);">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStep()">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
@@ -9,29 +9,29 @@
<div fxLayout="column">
<mat-form-field>
<mat-label>{{"labels.inputs.Office" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Office" | translate}}</mat-label>
<mat-select required formControlName="officeId">
<mat-option *ngFor="let office of officeData" [value]="office.id">
{{ office.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="accountingClosureForm.controls.officeId.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-form-field (click)="closingDatePicker.open()">
<mat-label>{{ "labels.inputs.Closing Date" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Closing Date" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="closingDatePicker" required formControlName="closingDate">
<mat-datepicker-toggle matSuffix [for]="closingDatePicker"></mat-datepicker-toggle>
<mat-datepicker #closingDatePicker></mat-datepicker>
<mat-error *ngIf="accountingClosureForm.controls.closingDate.hasError('required')">
{{ "labels.inputs.Closing Date" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Closing Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{ "labels.inputs.Comments" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Comments" | translate}}</mat-label>
<textarea matInput formControlName="comments" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
@@ -40,7 +40,7 @@
</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 type="button" mat-raised-button [routerLink]="['../']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!accountingClosureForm.valid" *mifosxHasPermission="'CREATE_GLCLOSURE'">{{"labels.buttons.Submit" | translate}}</button>
</mat-card-actions>
@@ -9,7 +9,7 @@
<div fxLayout="column">
<mat-form-field>
<mat-label>{{"labels.inputs.Office" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Office" | translate}}</mat-label>
<mat-select required formControlName="officeId">
<mat-option *ngFor="let office of officeData" [value]="office.id">
{{ office.name }}
@@ -18,14 +18,14 @@
</mat-form-field>
<mat-form-field (click)="closingDatePicker.open()">
<mat-label>{{ "labels.inputs.Closing Date" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Closing Date" | translate}}</mat-label>
<input matInput [matDatepicker]="closingDatePicker" required formControlName="closingDate">
<mat-datepicker-toggle matSuffix [for]="closingDatePicker"></mat-datepicker-toggle>
<mat-datepicker #closingDatePicker></mat-datepicker>
</mat-form-field>
<mat-form-field>
<mat-label>{{ "labels.inputs.Comments" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Comments" | translate}}</mat-label>
<textarea matInput formControlName="comments" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
@@ -34,7 +34,7 @@
</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 type="button" mat-raised-button [routerLink]="['../']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="accountingClosureForm.pristine">{{"labels.buttons.Submit" | translate}}</button>
</mat-card-actions>
@@ -1,11 +1,11 @@
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column" class="container m-b-20">
<button mat-raised-button color="primary" [routerLink]="['edit']">
<fa-icon icon="edit" class="m-r-10"></fa-icon>
{{"labels.buttons.Edit" |translate}}
{{"labels.buttons.Edit" | translate}}
</button>
<button mat-raised-button color="warn" (click)="deleteAccountingClosure()" *mifosxHasPermission="'DELETE_GLCLOSURE'">
<fa-icon icon="trash" class="m-r-10"></fa-icon>
{{"labels.buttons.Delete" |translate}}
{{"labels.buttons.Delete" | translate}}
</button>
</div>
@@ -18,7 +18,7 @@
<div fxLayout="row wrap" class="content">
<div fxFlex="50%" class="header">
{{"labels.inputs.Office" |translate}}
{{"labels.inputs.Office" | translate}}
</div>
<div fxFlex="50%">
@@ -26,7 +26,7 @@
</div>
<div fxFlex="50%" class="header">
{{ "labels.inputs.Closure Date"| translate}}
{{"labels.inputs.Closure Date" | translate}}
</div>
<div fxFlex="50%">
@@ -34,7 +34,7 @@
</div>
<div fxFlex="50%" class="header">
{{ "labels.inputs.Closed By" |translate}}
{{"labels.inputs.Closed By" | translate}}
</div>
<div fxFlex="50%">
@@ -42,7 +42,7 @@
</div>
<div fxFlex="50%" class="header">
{{ "labels.inputs.Updated By" |translate}}
{{"labels.inputs.Updated By" | translate}}
</div>
<div fxFlex="50%">
@@ -50,7 +50,7 @@
</div>
<div fxFlex="50%" class="header">
{{ "labels.inputs.Updated On"|translate}}
{{"labels.inputs.Updated On"|translate}}
</div>
<div fxFlex="50%">
@@ -58,7 +58,7 @@
</div>
<div fxFlex="50%" class="header">
{{ "labels.inputs.Closure Creation Date"|translate}}
{{"labels.inputs.Closure Creation Date"|translate}}
</div>
<div fxFlex="50%">
@@ -66,7 +66,7 @@
</div>
<div fxFlex="50%" class="header">
{{ "labels.inputs.Comments" |translate}}
{{"labels.inputs.Comments" | translate}}
</div>
<div fxFlex="50%">
@@ -9,26 +9,26 @@
<div #createJournalFormRef fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
<mat-form-field fxFlex="48%">
<mat-label>{{"labels.inputs.Office" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Office" | translate}}</mat-label>
<mat-select required formControlName="officeId">
<mat-option *ngFor="let office of officeData" [value]="office.id">
{{ office.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="journalEntryForm.controls.officeId.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-form-field fxFlex="48%">
<mat-label>{{"labels.inputs.Currency" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Currency" | translate}}</mat-label>
<mat-select required formControlName="currencyCode">
<mat-option *ngFor="let currency of currencyData" [value]="currency.code">
{{ currency.displayLabel }}
</mat-option>
</mat-select>
<mat-error *ngIf="journalEntryForm.controls.currencyCode.hasError('required')">
{{"labels.inputs.Currency" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Currency" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -38,22 +38,22 @@
<div fxFlexFill fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column" [formGroupName]="i">
<mat-form-field fxFlex="48%">
<mat-label>{{"labels.inputs.Affected GL Entry (Debit)" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Affected GL Entry (Debit)" | translate}}</mat-label>
<mat-select required formControlName="glAccountId">
<mat-option *ngFor="let affectedGLEntryDebit of glAccountData" [value]="affectedGLEntryDebit.id">
{{ affectedGLEntryDebit.name + ' (' + affectedGLEntryDebit.glCode + ')' }}
</mat-option>
</mat-select>
<mat-error *ngIf="debits.at(i).controls.glAccountId.hasError('required')">
{{"labels.inputs.Affected GL Entry (Debit)" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Affected GL Entry (Debit)" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="43%">
<mat-label>{{"labels.inputs.Debit Amount" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Debit Amount" | translate}}</mat-label>
<input type="number" matInput required formControlName="amount">
<mat-error *ngIf="debits.at(i).controls.amount.hasError('required')">
{{"labels.inputs.Debit Amount" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Debit Amount" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -76,14 +76,14 @@
<div fxFlexFill fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column" [formGroupName]="i">
<mat-form-field fxFlex="48%">
<mat-label>{{"labels.inputs.Affected GL Entry (Credit)" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Affected GL Entry (Credit)" | translate}}</mat-label>
<mat-select required formControlName="glAccountId">
<mat-option *ngFor="let affectedGLEntryCredit of glAccountData" [value]="affectedGLEntryCredit.id">
{{ affectedGLEntryCredit.name + ' (' + affectedGLEntryCredit.glCode + ')' }}
</mat-option>
</mat-select>
<mat-error *ngIf="credits.at(i).controls.glAccountId.hasError('required')">
{{"labels.inputs.Affected GL Entry (Credit)" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Affected GL Entry (Credit)" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -91,7 +91,7 @@
<mat-label>{{"labels.inputs.Credit Amount"|translate}}</mat-label>
<input type="number" matInput required formControlName="amount">
<mat-error *ngIf="credits.at(i).controls.amount.hasError('required')">
{{"labels.inputs.Credit Amount"|translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Credit Amount"|translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -119,7 +119,7 @@
<mat-datepicker-toggle matSuffix [for]="transactionDatePicker"></mat-datepicker-toggle>
<mat-datepicker #transactionDatePicker></mat-datepicker>
<mat-error *ngIf="journalEntryForm.controls.transactionDate.hasError('required')">
{{"labels.inputs.Transaction Date"|translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Transaction Date"|translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -167,7 +167,7 @@
</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 type="button" mat-raised-button [routerLink]="['../../']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!journalEntryForm.valid" *mifosxHasPermission="'CREATE_JOURNALENTRY'">{{"labels.buttons.Submit" | translate}}</button>
</mat-card-actions>
@@ -178,11 +178,11 @@
</div>
<ng-template #templateCreateJournalFormRef let-popover="popover">
<h2>{{"labels.heading.Add Journal Entry Form" |translate}}</h2>
<p class="mw300">{{"labels.text.Red asterisk field" |translate}} <a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/67895310/Add+Journal+Entries" target="_blank">{{ "labels.inputs.Add Journal Entries" |translate}}</a></p>
<h2>{{"labels.heading.Add Journal Entry Form" | translate}}</h2>
<p class="mw300">{{"labels.text.Red asterisk field" | translate}} <a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/67895310/Add+Journal+Entries" target="_blank">{{"labels.inputs.Add Journal Entries" | translate}}</a></p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStep()">{{"labels.buttons.Back" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStep()">{{"labels.buttons.Next" |translate}}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStep()">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStep()">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
@@ -9,14 +9,14 @@
<div fxLayout="column">
<mat-form-field>
<mat-label>{{"labels.inputs.Financial Activity" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Financial Activity" | translate}}</mat-label>
<mat-select required formControlName="financialActivityId">
<mat-option *ngFor="let financialActivity of financialActivityData" [value]="financialActivity.id">
{{ financialActivity.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="financialActivityMappingForm.controls.financialActivityId.hasError('required')">
{{"labels.inputs.Financial Activity" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Financial Activity" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -28,7 +28,7 @@
</mat-option>
</mat-select>
<mat-error *ngIf="financialActivityMappingForm.controls.glAccountId.hasError('required')">
{{"labels.inputs.Account"|translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Account"|translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -37,7 +37,7 @@
</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 type="button" mat-raised-button [routerLink]="['../']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!financialActivityMappingForm.valid" *mifosxHasPermission="'CREATE_FINANCIALACTIVITYACCOUNT'">{{"labels.buttons.Submit" | translate}}</button>
</mat-card-actions>
@@ -9,7 +9,7 @@
<div fxLayout="column">
<mat-form-field>
<mat-label>{{"labels.inputs.Financial Activity" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Financial Activity" | translate}}</mat-label>
<mat-select required formControlName="financialActivityId">
<mat-option *ngFor="let financialActivity of financialActivityData" [value]="financialActivity.id">
{{ financialActivity.name }}
@@ -31,7 +31,7 @@
</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 type="button" mat-raised-button [routerLink]="['../']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="financialActivityMappingForm.pristine" *mifosxHasPermission="'UPDATE_FINANCIALACTIVITYACCOUNT'">{{"labels.buttons.Submit" | translate}}</button>
</mat-card-actions>
@@ -2,7 +2,7 @@
<div #buttonDefineMapping>
<button mat-raised-button color="primary" [routerLink]="['create']" *mifosxHasPermission="'CREATE_FINANCIALACTIVITYACCOUNT'">
<fa-icon icon="plus" class="m-r-10"></fa-icon>
{{"labels.buttons.Define New Mapping" |translate}}
{{"labels.buttons.Define New Mapping" | translate}}
</button>
</div>
</div>
@@ -12,17 +12,17 @@
<table mat-table [dataSource]="dataSource" matSort>
<ng-container matColumnDef="financialActivity">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Financial Activity" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Financial Activity" | translate}} </th>
<td mat-cell *matCellDef="let financialActivityAccount"> {{ financialActivityAccount.financialActivityData.name }} </td>
</ng-container>
<ng-container matColumnDef="glAccountName">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Account Name" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Account Name" | translate}} </th>
<td mat-cell *matCellDef="let financialActivityAccount"> {{ financialActivityAccount.glAccountData.name }} </td>
</ng-container>
<ng-container matColumnDef="glAccountCode">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Account Code" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Account Code" | translate}} </th>
<td mat-cell *matCellDef="let financialActivityAccount"> {{ financialActivityAccount.glAccountData.glCode }} </td>
</ng-container>
@@ -37,19 +37,19 @@
<ng-template #templateButtonDefineMapping let-popover="popover">
<h2>{{"labels.heading.Define New Mapping"|translate}}</h2>
<p class="mw300">{{"labels.text.To define new mapping." |translate}}</p>
<p class="mw300">{{"labels.text.To define new mapping." | translate}}</p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStep()">{{"labels.buttons.Back" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateActivitiesTable, activitiesTable, 'top', true)">{{"labels.buttons.Next" |translate}}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStep()">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateActivitiesTable, activitiesTable, 'top', true)">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
<ng-template #templateActivitiesTable let-popover="popover">
<h4 class="mw300">{{"labels.heading.Account Linked Financial" |translate}} <a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/106430472/Accounts+linked+to+Financial+Activities" target="_blank">{{"labels.heading.Accounts linked to Financial Activities" |translate}}</a> </h4>
<h4 class="mw300">{{"labels.heading.Account Linked Financial" | translate}} <a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/106430472/Accounts+linked+to+Financial+Activities" target="_blank">{{"labels.heading.Accounts linked to Financial Activities" | translate}}</a> </h4>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateButtonDefineMapping, buttonDefineMapping , 'bottom', true)">{{"labels.buttons.Back" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStep()">{{"labels.buttons.Next" |translate}}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();showPopover(templateButtonDefineMapping, buttonDefineMapping , 'bottom', true)">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStep()">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
@@ -1,11 +1,11 @@
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" class="container m-b-20">
<button mat-raised-button color="primary" [routerLink]="['edit']" *mifosxHasPermission="'UPDATE_FINANCIALACTIVITYACCOUNT'">
<fa-icon icon="edit" class="m-r-10"></fa-icon>
{{"labels.buttons.Edit" |translate}}
{{"labels.buttons.Edit" | translate}}
</button>
<button mat-raised-button color="warn" (click)="deleteFinancialActivityAccount()" *mifosxHasPermission="'DELETE_FINANCIALACTIVITYACCOUNT'">
<fa-icon icon="trash" class="m-r-10"></fa-icon>
{{"labels.buttons.Delete" |translate}}
{{"labels.buttons.Delete" | translate}}
</button>
</div>
@@ -18,7 +18,7 @@
<div fxLayout="row wrap" class="content">
<div fxFlex="50%" class="header">
{{"labels.inputs.Financial Activity" |translate}}
{{"labels.inputs.Financial Activity" | translate}}
</div>
<div fxFlex="50%">
@@ -26,7 +26,7 @@
</div>
<div fxFlex="50%" class="header">
{{"labels.inputs.Account Name" |translate}}
{{"labels.inputs.Account Name" | translate}}
</div>
<div fxFlex="50%">
@@ -9,38 +9,38 @@
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
<mat-form-field fxFlex="48%">
<mat-label>{{"labels.inputs.Office" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Office" | translate}}</mat-label>
<mat-select required formControlName="officeId">
<mat-option *ngFor="let office of officeData" [value]="office.id">
{{ office.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="frequentPostingsForm.controls.officeId.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-form-field fxFlex="48%">
<mat-label>{{"labels.inputs.Accounting Rule" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Accounting Rule" | translate}}</mat-label>
<mat-select required formControlName="accountingRule">
<mat-option *ngFor="let accountingRule of accountingRuleData" [value]="accountingRule">
{{ accountingRule.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="frequentPostingsForm.controls.accountingRule.hasError('required')">
{{"labels.inputs.Accounting Rule" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Accounting Rule" | 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.Currency" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Currency" | translate}}</mat-label>
<mat-select required formControlName="currencyCode">
<mat-option *ngFor="let currency of currencyData" [value]="currency.code">
{{ currency.displayLabel }}
</mat-option>
</mat-select>
<mat-error *ngIf="frequentPostingsForm.controls.currencyCode.hasError('required')">
{{"labels.inputs.Currency" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Currency" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -52,22 +52,22 @@
<div fxFlexFill fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column" [formGroupName]="i">
<mat-form-field fxFlex="48%">
<mat-label>{{"labels.inputs.Affected GL Entry (Debit)" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Affected GL Entry (Debit)" | translate}}</mat-label>
<mat-select required formControlName="glAccountId">
<mat-option *ngFor="let affectedGLEntryDebit of debitAccountData" [value]="affectedGLEntryDebit.id">
{{ affectedGLEntryDebit.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="debits.at(i).controls.glAccountId.hasError('required')">
{{"labels.inputs.Affected GL Entry (Debit)" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Affected GL Entry (Debit)" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="43%">
<mat-label>{{"labels.inputs.Debit Amount" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Debit Amount" | translate}}</mat-label>
<input type="number" matInput required formControlName="amount">
<mat-error *ngIf="debits.at(i).controls.amount.hasError('required')">
{{"labels.inputs.Debit Amount" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Debit Amount" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -90,14 +90,14 @@
<div fxFlexFill fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column" [formGroupName]="i">
<mat-form-field fxFlex="48%">
<mat-label>{{"labels.inputs.Affected GL Entry (Credit)" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Affected GL Entry (Credit)" | translate}}</mat-label>
<mat-select required formControlName="glAccountId">
<mat-option *ngFor="let affectedGLEntryCredit of creditAccountData" [value]="affectedGLEntryCredit.id">
{{ affectedGLEntryCredit.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="credits.at(i).controls.glAccountId.hasError('required')">
{{"labels.inputs.Affected GL Entry (Credit)" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Affected GL Entry (Credit)" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -105,7 +105,7 @@
<mat-label>{{"labels.inputs.Credit Amount"|translate}}</mat-label>
<input type="number" matInput required formControlName="amount">
<mat-error *ngIf="credits.at(i).controls.amount.hasError('required')">
{{"labels.inputs.Credit Amount"|translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Credit Amount"|translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -133,7 +133,7 @@
<mat-datepicker-toggle matSuffix [for]="transactionDatePicker"></mat-datepicker-toggle>
<mat-datepicker #transactionDatePicker></mat-datepicker>
<mat-error *ngIf="frequentPostingsForm.controls.transactionDate.hasError('required')">
{{"labels.inputs.Transaction Date"|translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Transaction Date"|translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -181,7 +181,7 @@
</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 type="button" mat-raised-button [routerLink]="['../../']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!frequentPostingsForm.valid" *mifosxHasPermission="'CREATE_JOURNALENTRY'">{{"labels.buttons.Submit" | translate}}</button>
</mat-card-actions>
@@ -10,70 +10,70 @@
<div #searchFormRef fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
<mat-form-field fxFlex="88%">
<mat-label>{{"labels.inputs.Office" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Office" | translate}}</mat-label>
<mat-select required formControlName="officeId">
<mat-option *ngFor="let office of officeData" [value]="office.id">
{{ office.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="openingBalancesForm.controls.officeId.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>
<div>
<button mat-button type="button" color="primary" fxFlex="8%" (click)="retrieveOpeningBalances()">{{ "labels.buttons.Retrieve" | translate}}</button>
<button mat-button type="button" color="primary" fxFlex="8%" (click)="retrieveOpeningBalances()">{{"labels.buttons.Retrieve" | translate}}</button>
</div>
</div>
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column" *ngIf="openingBalancesData">
<label fxFlex="98%" class="content"><span class="header">{{"labels.inputs.Opening Balances Contra Account:" |translate}}</span>&nbsp;&nbsp;{{ openingBalancesData.contraAccount.name + ' (' + openingBalancesData.contraAccount.glCode + ')' }}</label>
<label fxFlex="98%" class="content"><span class="header">{{"labels.inputs.Opening Balances Contra Account:" | translate}}</span>&nbsp;&nbsp;{{ openingBalancesData.contraAccount.name + ' (' + openingBalancesData.contraAccount.glCode + ')' }}</label>
<mat-form-field fxFlex="48%">
<mat-label>{{"labels.inputs.Currency" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Currency" | translate}}</mat-label>
<mat-select required formControlName="currencyCode">
<mat-option *ngFor="let currency of currencyData" [value]="currency.code">
{{ currency.displayLabel }}
</mat-option>
</mat-select>
<mat-error *ngIf="openingBalancesForm.controls.currencyCode.hasError('required')">
{{"labels.inputs.Currency" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Currency" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%" (click)="openingBalancesDatePicker.open()">
<mat-label>{{"labels.inputs.Opening Balances Date" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Opening Balances Date" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="openingBalancesDatePicker" required formControlName="transactionDate">
<mat-datepicker-toggle matSuffix [for]="openingBalancesDatePicker"></mat-datepicker-toggle>
<mat-datepicker #openingBalancesDatePicker></mat-datepicker>
<mat-error *ngIf="openingBalancesForm.controls.transactionDate.hasError('required')">
{{"labels.inputs.Opening Balances Date" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Opening Balances Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column" class="content" fxFlex="100%">
<div class="header" fxFlex="8%">
{{"labels.inputs.Type" |translate}}
{{"labels.inputs.Type" | translate}}
</div>
<div class="header" fxFlex="18%">
{{"labels.inputs.GL Code" |translate}}
{{"labels.inputs.GL Code" | translate}}
</div>
<div class="header" fxFlex="18%">
{{"labels.inputs.Account" |translate}}
{{"labels.inputs.Account" | translate}}
</div>
<div class="header" fxFlex="23%">
{{"labels.inputs.Total Debit" |translate}}: {{ debitsSum }}
{{"labels.inputs.Total Debit" | translate}}: {{ debitsSum }}
</div>
<div class="header" fxFlex="23%">
{{"labels.inputs.Total Credit" |translate}}: {{ creditsSum }}
{{"labels.inputs.Total Credit" | translate}}: {{ creditsSum }}
</div>
</div>
@@ -97,14 +97,14 @@
<div fxFlex="23%">
<mat-form-field>
<mat-label>{{"labels.inputs.Debit" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Debit" | translate}}</mat-label>
<input matInput type="number" formControlName="debit">
</mat-form-field>
</div>
<div fxFlex="23%">
<mat-form-field>
<mat-label>{{"labels.inputs.Credit" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Credit" | translate}}</mat-label>
<input matInput type="number" formControlName="credit">
</mat-form-field>
</div>
@@ -118,7 +118,7 @@
</mat-card-content>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px" *ngIf="openingBalancesData">
<button type="button" mat-raised-button [routerLink]="['../']">{{ "labels.buttons.Cancel" | translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!openingBalancesForm.valid" *mifosxHasPermission="'DEFINEOPENINGBALANCE_JOURNALENTRY'">{{"labels.buttons.Submit | translate}}</button>
</mat-card-actions>
@@ -129,11 +129,11 @@
</div>
<ng-template #templateSearchFormRef let-popover="popover">
<h2>{{"labels.heading.Migrate opening balances (Office-wise)" |translate}}</h2>
<p class="mw300">{{"labels.text.Migrate Opening Balances" |translate}} <a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/90243328/Migrate+opening+balances+Office-wise" target="_blank">{{"labels.inputs.Migrate opening balances (Office-wise)" |translate}}</a></p>
<h2>{{"labels.heading.Migrate opening balances (Office-wise)" | translate}}</h2>
<p class="mw300">{{"labels.text.Migrate Opening Balances" | translate}} <a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/90243328/Migrate+opening+balances+Office-wise" target="_blank">{{"labels.inputs.Migrate opening balances (Office-wise)" | translate}}</a></p>
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();popover.close();previousStep();">{{"labels.buttons.Back" |translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();popover.close();nextStep();">{{"labels.buttons.Next" |translate}}</button>
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();popover.close();previousStep();">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();popover.close();nextStep();">{{"labels.buttons.Next" | translate}}</button>
</div>
</ng-template>
@@ -9,12 +9,12 @@
<div fxLayout="row">
<mat-form-field fxFlex (click)="tillDatePicker.open()">
<mat-label>{{"labels.inputs.Accrue Till Date" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Accrue Till Date" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="tillDatePicker" required formControlName="tillDate">
<mat-datepicker-toggle matSuffix [for]="tillDatePicker"></mat-datepicker-toggle>
<mat-datepicker #tillDatePicker></mat-datepicker>
<mat-error *ngIf="periodicAccrualsForm.controls.tillDate.hasError('required')">
{{"labels.inputs.Accrue Date" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Accrue Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -23,10 +23,10 @@
</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 type="button" mat-raised-button [routerLink]="['../']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!periodicAccrualsForm.valid" *mifosxHasPermission="'EXECUTE_PERIODICACCRUALACCOUNTING'">
<fa-icon icon="play" class="m-r-10"></fa-icon>
{{ "labels.buttons.Run Periodic Accruals" | translate}}
{{"labels.buttons.Run Periodic Accruals" | translate}}
</button>
</mat-card-actions>
@@ -9,18 +9,18 @@
<div fxLayout="column">
<mat-form-field fxFlex (click)="datePicker.open()">
<mat-label>{{"labels.inputs.Date" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Date" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="datePicker" required formControlName="date">
<mat-datepicker-toggle matSuffix [for]="datePicker"></mat-datepicker-toggle>
<mat-datepicker #datePicker></mat-datepicker>
<mat-error *ngIf="provisioningEntryForm.controls.date.hasError('required')">
{{"labels.inputs.Date" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<div fxFlex>
<mat-checkbox labelPosition="before" formControlName="createjournalentries">
{{"labels.inputs.Create Journal Entries" |translate}}
{{"labels.inputs.Create Journal Entries" | translate}}
</mat-checkbox>
</div>
@@ -29,7 +29,7 @@
</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 type="button" mat-raised-button [routerLink]="['../']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!provisioningEntryForm.valid" *mifosxHasPermission="'CREATE_PROVISIONING_ENTRIES'">{{"labels.buttons.Submit" | translate}}</button>
</mat-card-actions>
@@ -1,7 +1,7 @@
<div class="container m-b-20" fxLayout="row" fxLayoutAlign="end" fxLayoutGap="20px">
<button mat-raised-button color="primary" [routerLink]="['create']" *mifosxHasPermission="'VIEW_ALL_PROVISIONING_ENTRIES'">
<fa-icon icon="plus" class="m-r-10"></fa-icon>
{{"labels.buttons.Create Provisioning Entry" |translate}}
{{"labels.buttons.Create Provisioning Entry" | translate}}
</button>
</div>
@@ -9,7 +9,7 @@
<div fxLayout="row">
<mat-form-field fxFlex>
<mat-label>{{ 'labels.inputs.Filter' | translate }}</mat-label>
<mat-label>{{'labels.inputs.Filter' | translate}}</mat-label>
<input matInput (keyup)="applyFilter($event.target.value)">
</mat-form-field>
</div>
@@ -19,45 +19,45 @@
<table mat-table [dataSource]="dataSource" matSort>
<ng-container matColumnDef="createdUser">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Created By" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Created By" | translate}} </th>
<td mat-cell *matCellDef="let provisioningEntry"> {{ provisioningEntry.createdUser }} </td>
</ng-container>
<ng-container matColumnDef="createdDate">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Created On" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Created On" | translate}} </th>
<td mat-cell *matCellDef="let provisioningEntry"> {{ provisioningEntry.createdDate }} </td>
</ng-container>
<ng-container matColumnDef="journalEntry">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Journal Entry Created" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Journal Entry Created" | translate}} </th>
<td mat-cell *matCellDef="let provisioningEntry">
<mat-checkbox [disabled]="true" [checked]="provisioningEntry.journalEntry"></mat-checkbox>
</td>
</ng-container>
<ng-container matColumnDef="viewReport">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.View Report" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.View Report" | translate}} </th>
<td mat-cell *matCellDef="let provisioningEntry">
<button mat-button color="primary" [routerLink]="['view', provisioningEntry.id]">
<fa-icon icon="eye" class="m-r-10"></fa-icon>{{"labels.buttons.View" |translate}}
<fa-icon icon="eye" class="m-r-10"></fa-icon>{{"labels.buttons.View" | translate}}
</button>
</td>
</ng-container>
<ng-container matColumnDef="recreateProvisioning">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Recreate Provisioning" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Recreate Provisioning" | translate}} </th>
<td mat-cell *matCellDef="let provisioningEntry">
<button mat-button (click)="recreateProvisioning($event, provisioningEntry.id)" [disabled]="provisioningEntry.journalEntry" color="primary">
<fa-icon icon="edit" class="m-r-10"></fa-icon>{{"labels.buttons.Recreate" |translate}}
<fa-icon icon="edit" class="m-r-10"></fa-icon>{{"labels.buttons.Recreate" | translate}}
</button>
</td>
</ng-container>
<ng-container matColumnDef="viewJournalEntry">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.View Journal Entry" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.View Journal Entry" | translate}} </th>
<td mat-cell *matCellDef="let provisioningEntry">
<button mat-button (click)="viewJournalEntry($event, provisioningEntry.id)" [disabled]="!provisioningEntry.journalEntry" color="primary">
<fa-icon icon="eye" class="m-r-10"></fa-icon>{{"labels.buttons.View" |translate}}
<fa-icon icon="eye" class="m-r-10"></fa-icon>{{"labels.buttons.View" | translate}}
</button>
</td>
</ng-container>
@@ -3,7 +3,7 @@
<div class="m-b-20" fxLayout="row" fxLayoutAlign="end" fxLayoutGap="20px">
<button mat-raised-button color="primary" (click)="createProvisioningJournalEntries()" [disabled]="provisioningEntry.journalEntry" *mifosxHasPermission="'CREATE_JOURNAL_ENTRY'">
<fa-icon icon="plus" class="m-r-10"></fa-icon>
{{"labels.buttons.Create Journal Entries" |translate}}
{{"labels.buttons.Create Journal Entries" | translate}}
</button>
</div>
@@ -14,7 +14,7 @@
<div fxLayout="row wrap" class="content" fxLayout.lt-md="column">
<div fxFlex="16%" class="header">
{{"labels.inputs.Created By" |translate}}
{{"labels.inputs.Created By" | translate}}
</div>
<div fxFlex="16%">
@@ -22,7 +22,7 @@
</div>
<div fxFlex="16%" class="header">
{{"labels.inputs.Created On" |translate}}
{{"labels.inputs.Created On" | translate}}
</div>
<div fxFlex="16%">
@@ -30,7 +30,7 @@
</div>
<div fxFlex="18%" class="header">
{{"labels.inputs.Amount to be Reserved" |translate}}
{{"labels.inputs.Amount to be Reserved" | translate}}
</div>
<div fxFlex="18%">
@@ -49,17 +49,17 @@
<div class="container m-t-20" fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
<mat-form-field fxFlex="31%">
<mat-label>{{"labels.inputs.Office Name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Office Name" | translate}}</mat-label>
<input matInput [formControl]="officeName" [matAutocomplete]="officeNameAutocomplete">
</mat-form-field>
<mat-form-field fxFlex="31%">
<mat-label>{{"labels.inputs.Loan Product" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Loan Product" | translate}}</mat-label>
<input matInput [formControl]="loanProduct" [matAutocomplete]="loanProductAutocomplete">
</mat-form-field>
<mat-form-field fxFlex="31%">
<mat-label>{{"labels.inputs.Provisioning Category" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Provisioning Category" | translate}}</mat-label>
<input matInput [formControl]="provisioningCategory" [matAutocomplete]="provisioningCategoryAutocomplete">
</mat-form-field>
@@ -91,37 +91,37 @@
<table mat-table [dataSource]="dataSource" matSort>
<ng-container matColumnDef="officeName">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Office Name" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Office Name" | translate}} </th>
<td mat-cell *matCellDef="let provisioningEntry"> {{ provisioningEntry.officeName }} </td>
</ng-container>
<ng-container matColumnDef="productName">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Product Name" |translate}}</th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Product Name" | translate}}</th>
<td mat-cell *matCellDef="let provisioningEntry"> {{ provisioningEntry.productName }} </td>
</ng-container>
<ng-container matColumnDef="currencyCode">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Currency Code" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Currency Code" | translate}} </th>
<td mat-cell *matCellDef="let provisioningEntry"> {{ provisioningEntry.currencyCode }} </td>
</ng-container>
<ng-container matColumnDef="categoryName">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Category Name" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Category Name" | translate}} </th>
<td mat-cell *matCellDef="let provisioningEntry"> {{ provisioningEntry.categoryName }} </td>
</ng-container>
<ng-container matColumnDef="amountreserved">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Provisioning Amount" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Provisioning Amount" | translate}} </th>
<td mat-cell *matCellDef="let provisioningEntry"> {{ provisioningEntry.amountreserved }} </td>
</ng-container>
<ng-container matColumnDef="liabilityAccountName">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Liability Account (CR)" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Liability Account (CR)" | translate}} </th>
<td mat-cell *matCellDef="let provisioningEntry"> {{ provisioningEntry.liabilityAccountName }} </td>
</ng-container>
<ng-container matColumnDef="expenseAccountName">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Expense Account (DR)" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Expense Account (DR)" | translate}} </th>
<td mat-cell *matCellDef="let provisioningEntry"> {{ provisioningEntry.expenseAccountName }} </td>
</ng-container>
@@ -2,7 +2,7 @@
<div fxLayout="row" fxLayoutGap="20px">
<mat-form-field fxFlex>
<mat-label>{{ 'labels.inputs.Filter' | translate }}</mat-label>
<mat-label>{{'labels.inputs.Filter' | translate}}</mat-label>
<input matInput (keyup)="applyFilter($event.target.value)">
</mat-form-field>
</div>
@@ -12,52 +12,52 @@
<table mat-table [dataSource]="dataSource" matSort>
<ng-container matColumnDef="id">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Entry ID" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Entry ID" | translate}} </th>
<td mat-cell *matCellDef="let provisioningJournalEntry"> {{ provisioningJournalEntry.id }} </td>
</ng-container>
<ng-container matColumnDef="officeName">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Office" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Office" | translate}} </th>
<td mat-cell *matCellDef="let provisioningJournalEntry"> {{ provisioningJournalEntry.officeName }} </td>
</ng-container>
<ng-container matColumnDef="transactionDate">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Transaction Date" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Transaction Date" | translate}} </th>
<td mat-cell *matCellDef="let provisioningJournalEntry"> {{ provisioningJournalEntry.transactionDate }} </td>
</ng-container>
<ng-container matColumnDef="transactionId">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Transaction ID" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Transaction ID" | translate}} </th>
<td mat-cell *matCellDef="let provisioningJournalEntry"> {{ provisioningJournalEntry.transactionId }} </td>
</ng-container>
<ng-container matColumnDef="glAccountType">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Type" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Type" | translate}} </th>
<td mat-cell *matCellDef="let provisioningJournalEntry"> {{ provisioningJournalEntry.glAccountType.value }} </td>
</ng-container>
<ng-container matColumnDef="createdByUserName">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Type" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Type" | translate}} </th>
<td mat-cell *matCellDef="let provisioningJournalEntry"> {{ provisioningJournalEntry.createdByUserName }} </td>
</ng-container>
<ng-container matColumnDef="glAccountCode">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Account Code" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Account Code" | translate}} </th>
<td mat-cell *matCellDef="let provisioningJournalEntry"> {{ provisioningJournalEntry.glAccountCode }} </td>
</ng-container>
<ng-container matColumnDef="glAccountName">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Account Name" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Account Name" | translate}} </th>
<td mat-cell *matCellDef="let provisioningJournalEntry"> {{ provisioningJournalEntry.glAccountName }} </td>
</ng-container>
<ng-container matColumnDef="debit">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Debit" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Debit" | translate}} </th>
<td mat-cell *matCellDef="let provisioningJournalEntry"><span *ngIf="provisioningJournalEntry.entryType.value === 'DEBIT'"> {{ (provisioningJournalEntry.currency.displaySymbol || provisioningJournalEntry.currency.code) + ' ' + provisioningJournalEntry.amount }} </span></td>
</ng-container>
<ng-container matColumnDef="credit">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Credit" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Credit" | translate}} </th>
<td mat-cell *matCellDef="let provisioningJournalEntry"><span *ngIf="provisioningJournalEntry.entryType.value === 'CREDIT'"> {{ (provisioningJournalEntry.currency.displaySymbol || provisioningJournalEntry.currency.code) + ' ' + provisioningJournalEntry.amount }} </span></td>
</ng-container>
@@ -1,31 +1,31 @@
<div *ngIf="!data.reverted; else reverted">
<h1 mat-dialog-title>{{ "labels.heading.Revert Transaction" |translate}}</h1>
<h1 mat-dialog-title>{{"labels.heading.Revert Transaction" | translate}}</h1>
<div mat-dialog-content>
<p>{{"labels.text.Revert this transaction?" |translate}}</p>
<p>{{"labels.text.Revert this transaction?" | translate}}</p>
<mat-form-field fxFlexFill>
<mat-label>{{"labels.inputs.Comments" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Comments" | translate}}</mat-label>
<textarea matInput [formControl]="comments"></textarea>
</mat-form-field>
</div>
<mat-dialog-actions align="end">
<button mat-button mat-dialog-close>{{"labels.buttons.No" |translate}}</button>
<button mat-button [mat-dialog-close]="{ revert: true, comments: comments.value }">{{"labels.buttons.Yes" |translate}}</button>
<button mat-button mat-dialog-close>{{"labels.buttons.No" | translate}}</button>
<button mat-button [mat-dialog-close]="{ revert: true, comments: comments.value }">{{"labels.buttons.Yes" | translate}}</button>
</mat-dialog-actions>
</div>
<ng-template #reverted>
<h1 mat-dialog-title>{{ "labels.heading.Transaction Reverted" |translate}}</h1>
<h1 mat-dialog-title>{{"labels.heading.Transaction Reverted" | translate}}</h1>
<div mat-dialog-content>
<h4>{{ "labels.heading.Success!" |translate}}</h4>
<p>{{"labels.text.Journal entry reverse transaction" |translate}}</p>
<p>{{"labels.text.Transaction ID" |translate}}: {{ data.transactionId }}</p>
<h4>{{"labels.heading.Success!" | translate}}</h4>
<p>{{"labels.text.Journal entry reverse transaction" | translate}}</p>
<p>{{"labels.text.Transaction ID" | translate}}: {{ data.transactionId }}</p>
</div>
<mat-dialog-actions align="end">
<button mat-button mat-dialog-close>{{"labels.buttons.Close" |translate}}</button>
<button mat-button [mat-dialog-close]="{ redirect: true }">{{"labels.buttons.Redirect to New Transaction" |translate}}</button>
<button mat-button mat-dialog-close>{{"labels.buttons.Close" | translate}}</button>
<button mat-button [mat-dialog-close]="{ redirect: true }">{{"labels.buttons.Redirect to New Transaction" | translate}}</button>
</mat-dialog-actions>
</ng-template>
@@ -1,17 +1,17 @@
<div class="container" fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
<mat-form-field fxFlex="31%">
<mat-label>{{"labels.inputs.Office Name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Office Name" | translate}}</mat-label>
<input matInput [formControl]="officeName" [matAutocomplete]="officeNameAutocomplete">
</mat-form-field>
<mat-form-field fxFlex="31%">
<mat-label>{{"labels.inputs.GL Account Name or Code" |translate}}</mat-label>
<mat-label>{{"labels.inputs.GL Account Name or Code" | translate}}</mat-label>
<input matInput [formControl]="glAccount" [matAutocomplete]="glAccountAutocomplete">
</mat-form-field>
<mat-form-field fxFlex="31%">
<mat-label>{{ 'labels.inputs.Filter' | translate }}</mat-label>
<mat-label>{{'labels.inputs.Filter' | translate}}</mat-label>
<mat-select [formControl]="entryTypeFilter" (selectionChange)="applyFilter($event.value, 'manualEntriesOnly')">
<mat-option *ngFor="let filter of entryTypeFilterData" [value]="filter.value">
{{ filter.option }}
@@ -20,33 +20,33 @@
</mat-form-field>
<mat-form-field fxFlex="31%" (click)="transactionDateFromPicker.open()">
<mat-label>{{"labels.inputs.Transaction Date From" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Transaction Date From" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="transactionDateFromPicker" [formControl]="transactionDateFrom">
<mat-datepicker-toggle matSuffix [for]="transactionDateFromPicker"></mat-datepicker-toggle>
<mat-datepicker #transactionDateFromPicker></mat-datepicker>
</mat-form-field>
<mat-form-field fxFlex="31%" (click)="transactionDateToPicker.open()">
<mat-label>{{"labels.inputs.Transaction Date To" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Transaction Date To" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="transactionDateToPicker" [formControl]="transactionDateTo">
<mat-datepicker-toggle matSuffix [for]="transactionDateToPicker"></mat-datepicker-toggle>
<mat-datepicker #transactionDateToPicker></mat-datepicker>
</mat-form-field>
<mat-form-field fxFlex="31%">
<mat-label>{{"labels.inputs.Transaction ID" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Transaction ID" | translate}}</mat-label>
<input matInput [formControl]="transactionId">
</mat-form-field>
<mat-form-field fxFlex="31%" (click)="submittedOnDateFromPicker.open()">
<mat-label>{{"labels.inputs.Submitted on Date From" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Submitted on Date From" | translate}}</mat-label>
<input matInput [max]="submittedOnDateTo.value" [matDatepicker]="submittedOnDateFromPicker" [formControl]="submittedOnDateFrom">
<mat-datepicker-toggle matSuffix [for]="submittedOnDateFromPicker"></mat-datepicker-toggle>
<mat-datepicker #submittedOnDateFromPicker></mat-datepicker>
</mat-form-field>
<mat-form-field fxFlex="31%" (click)="submittedOnDateToPicker.open()">
<mat-label>{{"labels.inputs.Submitted on Date To" |translate}} </mat-label>
<mat-label>{{"labels.inputs.Submitted on Date To" | translate}} </mat-label>
<input matInput [min]="submittedOnDateFrom.value" [matDatepicker]="submittedOnDateToPicker" [formControl]="submittedOnDateTo">
<mat-datepicker-toggle matSuffix [for]="submittedOnDateToPicker"></mat-datepicker-toggle>
<mat-datepicker #submittedOnDateToPicker></mat-datepicker>
@@ -74,62 +74,62 @@
<table mat-table [dataSource]="dataSource" matSort>
<ng-container matColumnDef="id">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Entry ID" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Entry ID" | translate}} </th>
<td mat-cell *matCellDef="let journalEntry"> {{ journalEntry.id }} </td>
</ng-container>
<ng-container matColumnDef="officeName">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Office" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Office" | translate}} </th>
<td mat-cell *matCellDef="let journalEntry"> {{ journalEntry.officeName }} </td>
</ng-container>
<ng-container matColumnDef="transactionId">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Transaction ID" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Transaction ID" | translate}} </th>
<td mat-cell *matCellDef="let journalEntry"> {{ journalEntry.transactionId }} </td>
</ng-container>
<ng-container matColumnDef="transactionDate">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Transaction Date" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Transaction Date" | translate}} </th>
<td mat-cell *matCellDef="let journalEntry"> {{ journalEntry.transactionDate | dateFormat }} </td>
</ng-container>
<ng-container matColumnDef="glAccountType">
<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 journalEntry"> {{ journalEntry.glAccountType.value }} </td>
</ng-container>
<ng-container matColumnDef="createdByUserName">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Created By" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Created By" | translate}} </th>
<td mat-cell *matCellDef="let journalEntry"> {{ journalEntry.createdByUserName }} </td>
</ng-container>
<ng-container matColumnDef="submittedOnDate">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Submitted on date" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Submitted on date" | translate}} </th>
<td mat-cell *matCellDef="let journalEntry"> {{ journalEntry.submittedOnDate | datetimeFormat }} </td>
</ng-container>
<ng-container matColumnDef="glAccountCode">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Account Code" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Account Code" | translate}} </th>
<td mat-cell *matCellDef="let journalEntry"> {{ journalEntry.glAccountCode }} </td>
</ng-container>
<ng-container matColumnDef="glAccountName">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Account Name" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Account Name" | translate}} </th>
<td mat-cell *matCellDef="let journalEntry"> {{ journalEntry.glAccountName }} </td>
</ng-container>
<ng-container matColumnDef="currency">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Currency" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Currency" | translate}} </th>
<td mat-cell *matCellDef="let journalEntry">{{ journalEntry.currency.code }}</td>
</ng-container>
<ng-container matColumnDef="debit">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Debit" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Debit" | translate}} </th>
<td mat-cell *matCellDef="let journalEntry"><span *ngIf="journalEntry.entryType.value === 'DEBIT'"> {{ journalEntry.amount | formatNumber }} </span></td>
</ng-container>
<ng-container matColumnDef="credit">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Credit" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Credit" | translate}} </th>
<td mat-cell *matCellDef="let journalEntry"><span *ngIf="journalEntry.entryType.value === 'CREDIT'"> {{ journalEntry.amount | formatNumber }} </span></td>
</ng-container>
+1 -8
View File
@@ -90,14 +90,7 @@ export function HttpLoaderFactory(http: HttpClient) {
CollectionsModule,
TasksModule,
ConfigurationWizardModule,
AppRoutingModule,
// TranslateModule.forRoot({
// loader: {
// provide: TranslateLoader,
// useFactory: HttpLoaderFactory,
// deps: [HttpClient]
// }
// })
AppRoutingModule
],
declarations: [WebAppComponent, NotFoundComponent],
providers: [DatePipe],
+8 -11
View File
@@ -4,9 +4,6 @@ import { Routes, RouterModule } from '@angular/router';
/** Routing Imports */
import { Route } from '../core/route/route.service';
/** Translation Imports */
import { extract } from '../core/i18n/i18n.service';
/** Custom Components */
import { CentersComponent } from './centers.component';
import { CreateCenterComponent } from './create-center/create-center.component';
@@ -34,7 +31,7 @@ const routes: Routes = [
{
path: 'centers',
data: { title: extract('Centers'), breadcrumb: 'Centers' },
data: { title: 'Centers', breadcrumb: 'Centers' },
children: [
{
path: '',
@@ -43,14 +40,14 @@ const routes: Routes = [
{
path: 'create',
component: CreateCenterComponent,
data: { title: extract('Create Center'), breadcrumb: 'Create' },
data: { title: 'Create Center', breadcrumb: 'Create' },
resolve: {
offices: OfficesResolver,
}
},
{
path: ':centerId',
data: { title: extract('Centers View'), routeParamBreadcrumb: 'centerId' },
data: { title: 'Centers View', routeParamBreadcrumb: 'centerId' },
resolve: {
centerViewData: CenterViewResolver,
},
@@ -66,7 +63,7 @@ const routes: Routes = [
{
path: 'general',
component: GeneralTabComponent,
data: { title: extract('General'), breadcrumb: 'General', routeParamBreadcrumb: false },
data: { title: 'General', breadcrumb: 'General', routeParamBreadcrumb: false },
resolve: {
centerSummaryData: CenterSummaryResolver,
centerViewData: CenterResourceResolver,
@@ -76,7 +73,7 @@ const routes: Routes = [
{
path: 'notes',
component: NotesTabComponent,
data: { title: extract('Notes'), breadcrumb: 'Notes', routeParamBreadcrumb: false },
data: { title: 'Notes', breadcrumb: 'Notes', routeParamBreadcrumb: false },
resolve: {
centerNotes: CenterNotesResolver
}
@@ -86,7 +83,7 @@ const routes: Routes = [
children: [{
path: ':datatableName',
component: DatatableTabComponent,
data: { title: extract('Data Table View'), routeParamBreadcrumb: 'datatableName' },
data: { title: 'Data Table View', routeParamBreadcrumb: 'datatableName' },
resolve: {
centerDatatable: CenterDatatableResolver
}
@@ -97,14 +94,14 @@ const routes: Routes = [
{
path: 'edit',
component: EditCenterComponent,
data: { title: extract('Edit Center'), breadcrumb: 'Edit', routeParamBreadcrumb: 'Edit' },
data: { title: 'Edit Center', breadcrumb: 'Edit', routeParamBreadcrumb: 'Edit' },
resolve: {
centerData: CenterDataAndTemplateResolver,
}
},
{
path: 'actions/:name',
data: { title: extract('Center Actions'), routeParamBreadcrumb: 'name' },
data: { title: 'Center Actions', routeParamBreadcrumb: 'name' },
component: CenterActionsComponent,
resolve: {
centersActionData: CenterActionsResolver
@@ -7,20 +7,20 @@
<mat-card-content>
<mat-form-field fxFlex (click)="activationDatePicker.open()">
<mat-label>{{"labels.inputs.Activated On Date" |translate}}</mat-label>
<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="activateCenterForm.controls.activationDate.hasError('required')">
{{"labels.inputs.Activated On Date" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"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]="!activateCenterForm.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]="!activateCenterForm.valid">{{"labels.buttons.Confirm" | translate}}</button>
</mat-card-actions>
</form>
@@ -9,52 +9,52 @@
<div fxLayout="column">
<mat-form-field (click)="startDatePicker.open()">
<mat-label>{{"labels.inputs.Meeting Start Date" |translate}}</mat-label>
<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="centerMeetingForm.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="centerMeetingForm.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="centerMeetingForm.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="centerMeetingForm.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="centerMeetingForm.controls.interval.hasError('repeatsOnDay')">
{{"labels.inputs.Repetition Interval" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Repetition Interval" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field *ngIf="centerMeetingForm.contains('repeatsOnDay')">
<mat-label>{{"labels.inputs.Repeats on Day" |translate}}</mat-label>
<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="centerMeetingForm.controls.repeatsOnDay.hasError('repeatsOnDay')">
{{"labels.inputs.At least" |translate}} <strong>{{"labels.inputs.one" |translate}}</strong> {{"labels.inputs.day must be selected" |translate}}
{{"labels.inputs.At least" | translate}} <strong>{{"labels.inputs.one" | translate}}</strong> {{"labels.inputs.day must be selected" | translate}}
</mat-error>
</mat-form-field>
@@ -63,7 +63,7 @@
</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 type="button" mat-raised-button [routerLink]="['../../']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!centerMeetingForm.valid" (click)="submit()">{{"labels.buttons.Submit | translate}}</button>
</mat-card-actions>
@@ -9,14 +9,14 @@
<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="centerAssignStaffForm.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>
@@ -25,8 +25,8 @@
</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]="!centerAssignStaffForm.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]="!centerAssignStaffForm.valid">{{"labels.buttons.Confirm" | translate}}</button>
</mat-card-actions>
</form>
@@ -3,30 +3,30 @@
<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 }}
{{ date | dateFormat }}
</mat-option>
</mat-select>
<mat-hint>{{"labels.inputs.Next Meeting on" |translate}}: {{ this.centerData.collectionMeetingCalendar.nextTenRecurringDates[0] | dateFormat }}</mat-hint>
<mat-hint>{{"labels.inputs.Next Meeting on" | translate}}: {{ this.centerData.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>
<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>
<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>
@@ -40,8 +40,8 @@
</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="'CREATE_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="'CREATE_MEETING'">{{"labels.buttons.Confirm" | translate}}</button>
</mat-card-actions>
</mat-card>
@@ -9,24 +9,24 @@
<div fxLayout="column">
<mat-form-field (click)="closureDatePicker.open()">
<mat-label>{{"labels.inputs.Closed On Date" |translate}}</mat-label>
<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="closeCenterForm.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="closeCenterForm.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>
@@ -35,8 +35,8 @@
</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]="!closeCenterForm.valid" *mifosxHasPermission="'CLOSE_CENTER'">{{ "labels.buttons.Confirm" | translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="warn" [disabled]="!closeCenterForm.valid" *mifosxHasPermission="'CLOSE_CENTER'">{{"labels.buttons.Confirm" | translate}}</button>
</mat-card-actions>
</form>
@@ -9,24 +9,24 @@
<div fxLayout="column">
<mat-form-field>
<mat-label>{{ "labels.inputs.Existing Meeting Date" |translate}}</mat-label>
<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 }}
{{ date | dateFormat }}
</mat-option>
</mat-select>
<mat-error *ngIf="centerEditMeetingScheduleForm.controls.presentMeetingDate.hasError('repeatsOnDay')">
{{ "labels.inputs.Existing Meeting Date" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"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>
<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="centerEditMeetingScheduleForm.controls.newMeetingDate.hasError('required')">
{{ "labels.inputs.Revised Meeting Date" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Revised Meeting Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -35,8 +35,8 @@
</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]="!centerEditMeetingScheduleForm.valid" (click)="submit()">{{ "labels.buttons.Submit" | translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!centerEditMeetingScheduleForm.valid" (click)="submit()">{{"labels.buttons.Submit" | translate}}</button>
</mat-card-actions>
</form>
@@ -1,7 +1,7 @@
<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>
@@ -16,51 +16,51 @@
<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="centerEditMeetingForm.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="centerEditMeetingForm.controls.interval.hasError('repeatsOnDay')">
{{"labels.inputs.Repetition Interval" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Repetition Interval" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field *ngIf="centerEditMeetingForm.contains('repeatsOnDay')">
<mat-label>{{"labels.inputs.Repeats on Day" |translate}}</mat-label>
<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="centerEditMeetingForm.controls.repeatsOnDay.hasError('repeatsOnDay')">
{{"labels.inputs.At least" |translate}} <strong>{{"labels.inputs.one" |translate}}</strong> {{"labels.inputs.day must be selected" |translate}}
{{"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>
<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="centerEditMeetingForm.controls.startDate.hasError('required')">
{{"labels.inputs.Changes Affection Date" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"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}}
{{"labels.text.Repeats' and 'Repeats every" | translate}}
</mat-hint>
</mat-form-field>
@@ -69,8 +69,8 @@
</mat-card-content>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../']">{{ "labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!centerEditMeetingForm.valid" (click)="submit()">{{ "labels.buttons.Submit" | translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!centerEditMeetingForm.valid" (click)="submit()">{{"labels.buttons.Submit" | translate}}</button>
</mat-card-actions>
</form>
@@ -3,7 +3,7 @@
<mat-card fxFlex class="group-card" fxLayout="column" fxLayoutGap="2%">
<mat-form-field fxFlex="30%">
<mat-label>{{ "labels.inputs.Add Groups" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Add Groups" | translate}}</mat-label>
<input matInput [formControl]="groupChoice" [matAutocomplete]="groupsAutocomplete">
</mat-form-field>
@@ -15,21 +15,21 @@
<div class="mat-table">
<div class="mat-header-row">
<div class="mat-header-cell">{{ "labels.inputs.Group Details" |translate}}</div>
<div class="mat-header-cell">{{"labels.inputs.Group Details" | translate}}</div>
<button mat-icon-button (click)="addGroup()">
<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">{{"labels.inputs.name" | translate}}</div>
<div class="mat-cell">{{groupChoice.value.name}}</div>
</div>
<div class="mat-row">
<div class="mat-cell">{{ "labels.inputs.Id" |translate}}</div>
<div class="mat-cell">{{"labels.inputs.Id" | translate}}</div>
<div class="mat-cell">{{groupChoice.value.id}}</div>
</div>
<div class="mat-row">
<div class="mat-cell">{{ "labels.inputs.Office" |translate}}</div>
<div class="mat-cell">{{"labels.inputs.Office" | translate}}</div>
<div class="mat-cell">{{groupChoice.value.officeName}}</div>
</div>
</div>
@@ -38,7 +38,7 @@
<mat-card fxFlex="40%">
<h3 matSubheader>{{"labels.heading.Group Members" |translate}}</h3>
<h3 matSubheader>{{"labels.heading.Group Members" | translate}}</h3>
<mat-nav-list *ngIf="groupMembers?.length">
<div mat-list-item *ngFor="let group of groupMembers index as i">
@@ -2,7 +2,7 @@
<div class="back-button">
<button type="button" color="primary" mat-raised-button [routerLink]="['../../']">
<fa-icon icon="arrow-left" class="m-r-10"></fa-icon>{{ "labels.buttons.Back" | translate}}
<fa-icon icon="arrow-left" class="m-r-10"></fa-icon>{{"labels.buttons.Back" | translate}}
</button>
</div>
@@ -11,7 +11,7 @@
<h3 fxFlex="95%">
<i class="fa fa-stop" matTooltip="{{ centerViewData.status.value }}"
[ngClass]="centerViewData.status.code |statusLookup"></i>
<b>{{"labels.heading.Center Name" |translate}} :</b> {{centerViewData.name}}
<b>{{"labels.heading.Center Name" | translate}} :</b> {{centerViewData.name}}
</h3>
<div fxFlex="5%" *ngIf="!(centerViewData.status.value==='Closed')">
<button mat-icon-button [matMenuTriggerFor]="centerMenu" aria-label="Center actions" yPosition="below">
@@ -25,36 +25,36 @@
<div fxLayout="row" fxLayout.lt-md="column">
<div fxFlex="50%">
<p>
{{ "labels.inputs.Account" |translate}} #:{{centerViewData.accountNo}} <br />
{{ "labels.inputs.Office" |translate}}: {{centerViewData.officeName}} <br />
{{"labels.inputs.Account" | translate}} #:{{centerViewData.accountNo}} <br />
{{"labels.inputs.Office" | translate}}: {{centerViewData.officeName}} <br />
<span *ngIf="centerViewData.externalId">
{{ "labels.inputs.External Id" |translate}}:
{{"labels.inputs.External Id" | translate}}:
<mifosx-external-identifier externalId="{{centerViewData.externalId}}"></mifosx-external-identifier><br />
</span>
<span *ngIf="centerViewData.staffName">
{{ "labels.inputs.Staff" |translate}}: {{centerViewData.staffName}} <br />
{{"labels.inputs.Staff" | translate}}: {{centerViewData.staffName}} <br />
</span>
{{ "labels.inputs.Activation Date" |translate}} :
{{"labels.inputs.Activation Date" | translate}} :
{{(centerViewData.activationDate)?(centerViewData.activationDate | dateFormat) :'Not Activated'}}<br />
</p>
</div>
<div fxFlex="45%" class="center-meeting" fxLayoutAlign="start start">
<div *ngIf="centerViewData.collectionMeetingCalendar; else unassigned">
<p>
{{ "labels.inputs.Next Meeting on" |translate}}: {{centerViewData.collectionMeetingCalendar?.nextTenRecurringDates[0] | dateFormat}}
{{"labels.inputs.Next Meeting on" | translate}}: {{centerViewData.collectionMeetingCalendar?.nextTenRecurringDates[0] | dateFormat}}
<span *ngIf="editMeeting">
<i class="fa fa-edit" (click)="doAction('Edit Meeting')"
*mifosxHasPermission="'UPDATE_MEETING'"></i><br />
</span>
{{ "labels.inputs.Meeting Frequency" |translate}}: {{centerViewData.collectionMeetingCalendar?.frequency.value | lowercase}}
{{"labels.inputs.Meeting Frequency" | translate}}: {{centerViewData.collectionMeetingCalendar?.frequency.value | lowercase}}
</p>
</div>
<ng-template #unassigned>
<div>
<p>
{{ "labels.inputs.Next Meeting on" |translate}}: {{"labels.text.Unassigned" |translate}}
{{"labels.inputs.Next Meeting on" | translate}}: {{"labels.text.Unassigned" | translate}}
<i class="fa fa-calendar"></i><br />
{{ "labels.inputs.Meeting Frequency" |translate}}: {{"labels.text.N/A" |translate}}
{{"labels.inputs.Meeting Frequency" | translate}}: {{"labels.text.N/A" | translate}}
</p>
</div>
</ng-template>
@@ -67,43 +67,43 @@
<span *ngIf="!(centerViewData.status.value=='Active')">
<button mat-menu-item *mifosxHasPermission="'ACTIVATE_CENTER'" (click)="doAction('Activate')"><i
class="fa fa-check-sign"></i> {{"labels.buttons.Activate" |translate}} </button>
class="fa fa-check-sign"></i> {{"labels.buttons.Activate" | translate}} </button>
</span>
<button mat-menu-item *mifosxHasPermission="'UPDATE_CENTER'" (click)="doAction('Edit')"><i
class="fa fa-edit"></i> {{"labels.buttons.Edit" |translate}} </button>
<button mat-menu-item *mifosxHasPermission="'CREATE_GROUP'"><i class="fa fa-plus"></i> {{"labels.buttons.Add Group" |translate}} </button>
class="fa fa-edit"></i> {{"labels.buttons.Edit" | translate}} </button>
<button mat-menu-item *mifosxHasPermission="'CREATE_GROUP'"><i class="fa fa-plus"></i> {{"labels.buttons.Add Group" | translate}} </button>
<button mat-menu-item *mifosxHasPermission="'ASSOCIATEGROUPS_CENTER'" (click)="doAction('Manage Groups')"> <i
class="fa fa-edit"></i> {{"labels.buttons.Manage Groups" |translate}} </button>
class="fa fa-edit"></i> {{"labels.buttons.Manage Groups" | translate}} </button>
<span *ngIf="centerViewData.active">
<button mat-menu-item *mifosxHasPermission="'CREATE_SAVINGSACCOUNT'"
[routerLink]="['savings-accounts', 'create']">
<i class="fa fa-file"></i> {{"labels.buttons.Centers Saving Application" |translate}}
<i class="fa fa-file"></i> {{"labels.buttons.Centers Saving Application" | translate}}
</button>
</span>
<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="centerViewData.collectionMeetingCalendar">
<button mat-menu-item *mifosxHasPermission="'SAVEORUPDATEATTENDANCE_MEETING'"
(click)="doAction('Attendance')"> {{"labels.buttons.Attendance" |translate}} </button>
(click)="doAction('Attendance')"> {{"labels.buttons.Attendance" | translate}} </button>
</span>
<span *ngIf="!(centerViewData.staffId)">
<button mat-menu-item *mifosxHasPermission="'ASSIGNSTAFF_GROUP'" (click)="doAction('Assign Staff')">
{{"labels.buttons.Assign Staff" |translate}} </button>
<button mat-menu-item *mifosxHasPermission="'ASSIGNSTAFF_GROUP'" (click)="doAction('Assign Staff')">
{{"labels.buttons.Assign Staff" | translate}} </button>
</span>
<span *ngIf="centerViewData.staffId">
<button mat-menu-item *mifosxHasPermission="'UNASSIGNSTAFF_GROUP'" (click)="doAction('Unassign Staff')">
{{"labels.buttons.Unassign Staff" |translate}} </button>
{{"labels.buttons.Unassign Staff" | translate}} </button>
</span>
<span *ngIf="centerViewData.status.value==='Active'">
<button mat-menu-item *mifosxHasPermission="'DELETE_CENTER'" (click)="doAction('Delete')"> {{"labels.buttons.Delete " |translate}}</button>
<button mat-menu-item *mifosxHasPermission="'DELETE_CENTER'" (click)="doAction('Delete')"> {{"labels.buttons.Delete " | translate}}</button>
</span>
<button mat-menu-item *mifosxHasPermission="'CLOSE_CENTER'" (click)="doAction('Close')"> {{"labels.buttons.Close" |translate}} </button>
<button mat-menu-item *mifosxHasPermission="'CLOSE_CENTER'" (click)="doAction('Close')"> {{"labels.buttons.Close" | translate}} </button>
<span *ngIf="centerViewData.status.value==='Active' && !(centerViewData.collectionMeetingCalendar)">
<button mat-menu-item *mifosxHasPermission="'CREATE_MEETING'" (click)="doAction('Attach Meeting')">
{{"labels.buttons.Attach Meeting" |translate}} </button>
<button mat-menu-item *mifosxHasPermission="'CREATE_MEETING'" (click)="doAction('Attach Meeting')">
{{"labels.buttons.Attach Meeting" | translate}} </button>
</span>
<button mat-menu-item *mifosxHasPermission="'READ_Staff Assignment History'"
(click)="doAction('Staff Assignment History')"> {{"labels.buttons.Staff Assignment History" |translate}} </button>
(click)="doAction('Staff Assignment History')"> {{"labels.buttons.Staff Assignment History" | translate}} </button>
</mat-menu>
</mat-menu>
</mat-card-title-group>
@@ -113,11 +113,11 @@
<nav mat-tab-nav-bar class="navigation-tabs">
<a mat-tab-link [routerLink]="['./general']" routerLinkActive #general="routerLinkActive"
[active]="general.isActive">
{{"labels.inputs.General" |translate}}
{{"labels.inputs.General" | translate}}
</a>
<a mat-tab-link *mifosxHasPermission="'READ_GROUPNOTE'" [routerLink]="['./notes']" routerLinkActive
#notes="routerLinkActive" [active]="notes.isActive">
{{"labels.inputs.Notes" |translate}}
{{"labels.inputs.Notes" | translate}}
</a>
<span *ngFor="let centerDatatable of centerDatatables">
<a mat-tab-link *mifosxHasPermission="'READ_' + centerDatatable.registeredTableName"
@@ -1,19 +1,19 @@
<div class="tab-container mat-typography">
<div *ngIf="centerViewData.status.value=='Closed'">
<h3 class="closedCenter">{{"labels.heading.Center Closed" |translate}}</h3>
<h3 class="closedCenter">{{"labels.heading.Center Closed" | translate}}</h3>
</div>
<h3>{{"labels.heading.Summary Details" |translate}}</h3>
<h3>{{"labels.heading.Summary Details" | translate}}</h3>
<div fxLayout="row" fxLayoutGap="32px" class="summary-details-container">
<p>
{{ "labels.inputs.Active Clients" |translate}}: {{centerSummaryData.activeClients}}<br />
{{ "labels.inputs.Active Group Loans" |translate}}: {{centerSummaryData.activeGroupLoans}}<br />
{{ "labels.inputs.Active Client Loans" |translate}}: {{centerSummaryData.activeClientLoans}}<br />
{{ "labels.inputs.Active Overdue Group Loans" |translate}}: {{centerSummaryData.overdueGroupLoans}}<br />
{{"labels.inputs.Active Clients" | translate}}: {{centerSummaryData.activeClients}}<br />
{{"labels.inputs.Active Group Loans" | translate}}: {{centerSummaryData.activeGroupLoans}}<br />
{{"labels.inputs.Active Client Loans" | translate}}: {{centerSummaryData.activeClientLoans}}<br />
{{"labels.inputs.Active Overdue Group Loans" | translate}}: {{centerSummaryData.overdueGroupLoans}}<br />
</p>
<p>
{{ "labels.inputs.Active Group Borrowers" |translate}}: {{centerSummaryData.activeGroupBorrowers}}<br />
{{ "labels.inputs.Active Client Borrowers" |translate}}: {{centerSummaryData.activeClientBorrowers}}<br />
{{ "labels.inputs.Active Overdue Client Loans" |translate}}: {{centerSummaryData.overdueClientLoans}}<br />
{{"labels.inputs.Active Group Borrowers" | translate}}: {{centerSummaryData.activeGroupBorrowers}}<br />
{{"labels.inputs.Active Client Borrowers" | translate}}: {{centerSummaryData.activeClientBorrowers}}<br />
{{"labels.inputs.Active Overdue Client Loans" | translate}}: {{centerSummaryData.overdueClientLoans}}<br />
</p>
</div>
@@ -25,25 +25,25 @@
<table mat-table [dataSource]="groupResourceData" matSort>
<ng-container matColumnDef="Account No">
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Account Number" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account Number" | translate}} </th>
<td mat-cell *matCellDef="let element"> <i class="fa fa-stop" matTooltip="{{ element.status.value }}"
[ngClass]="element.status.code|statusLookup"></i>
{{element.accountNo}} </td>
</ng-container>
<ng-container matColumnDef="Group Name">
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Group Name" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Group Name" | translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.name}} </td>
</ng-container>
<ng-container matColumnDef="Office Name">
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Office Name" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Office Name" | translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.officeName}} </td>
</ng-container>
<ng-container matColumnDef="Submitted On">
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Submitted On" |translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.timeline.submittedOnDate | dateFormat}} </td>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Submitted On" | translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.timeline.submittedOnDate | dateFormat}} </td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="groupsColumns"></tr>
@@ -58,62 +58,62 @@
<ng-container *ngIf="savingsAccountData.length > 0">
<h3>{{"labels.heading.Savings Account Overview" |translate}}</h3>
<h3>{{"labels.heading.Savings Account Overview" | translate}}</h3>
<table mat-table [dataSource]="savingsAccountData" matSort>
<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" matTooltip="{{ element.status.value }}"
[ngClass]="element.status.code|statusLookup"></i>
{{element.accountNo}} </td>
</ng-container>
<ng-container matColumnDef="Products">
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Products" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Products" | translate}} </th>
<td mat-cell *matCellDef="let element"> {{element.productName}} </td>
</ng-container>
<ng-container matColumnDef="Balance">
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Balance" |translate}}</th>
<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">
<ng-container *ngIf="element.status.active">
<button class="account-action-button" mat-raised-button color="primary" *ngIf="element.depositType.id == '100'"
(click)="routeEdit($event)" [routerLink]="['../','savings-accounts', element.id, 'actions', 'Deposit']">
<i class="fa fa-arrow-right" matTooltip="{{ 'tooltips.Deposit' | translate }}"></i>
<i class="fa fa-arrow-right" matTooltip="{{ 'tooltips.Deposit' | translate}}"></i>
</button>
<button class="account-action-button" mat-raised-button color="primary" *ngIf="element.depositType.id == '300'"
(click)="routeEdit($event)" [routerLink]="['../','savings-accounts', element.id, 'actions', 'Deposit']">
<i class="fa fa-arrow-right" matTooltip="{{ 'tooltips.Deposit' | translate }}"></i>
<i class="fa fa-arrow-right" matTooltip="{{ 'tooltips.Deposit' | translate}}"></i>
</button>
<button class="account-action-button" mat-raised-button color="primary" *ngIf="element.depositType.id == '100'"
(click)="routeEdit($event)" [routerLink]="['../','savings-accounts', element.id, 'actions', 'Withdrawal']">
<i class="fa fa-arrow-left" matTooltip="{{ 'tooltips.Withdraw' | translate }}"></i>
<i class="fa fa-arrow-left" matTooltip="{{ 'tooltips.Withdraw' | translate}}"></i>
</button>
<button class="account-action-button" mat-raised-button color="primary" *ngIf="element.depositType.id == '300'"
(click)="routeEdit($event)" [routerLink]="['../','savings-accounts', element.id, 'actions', 'Withdrawal']">
<i class="fa fa-arrow-left" matTooltip="{{ 'tooltips.Withdraw' | translate }}"></i>
<i class="fa fa-arrow-left" matTooltip="{{ 'tooltips.Withdraw' | translate}}"></i>
</button>
</ng-container>
<ng-container *ngIf="element.status.submittedAndPendingApproval">
<button 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>
<i class="fa fa-check" matTooltip="{{ 'tooltips.Approve' | translate}}"></i>
</button>
</ng-container>
<ng-container *ngIf="!element.status.submittedAndPendingApproval && !element.status.active">
<button 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 Approve' | translate }}"></i>
<i class="fa fa-undo" matTooltip="{{ 'tooltips.Undo Approve' | translate}}"></i>
</button>
<button class="account-action-button" mat-raised-button color="primary"
(click)="routeEdit($event)" [routerLink]="['../','savings-accounts', element.id, 'actions', 'Activate']">
<i class="fa fa-power-off" matTooltip="{{ 'tooltips.Activate' | translate }}"></i>
<i class="fa fa-power-off" matTooltip="{{ 'tooltips.Activate' | translate}}"></i>
</button>
</ng-container>
</td>
@@ -1,5 +1,5 @@
<div class="tab-container mat-typography">
<h3>{{"labels.heading.Notes" |translate}}</h3>
<h3>{{"labels.heading.Notes" | translate}}</h3>
<div>
<form #formRef="ngForm" [formGroup]="noteForm" fxLayout="row" fxLayoutAlign="start baseline" fxLayoutGap="20px"
(ngSubmit)="submit()">
@@ -7,7 +7,7 @@
<textarea formControlName="note" matInput placeholder="Write a note ...."></textarea>
</mat-form-field>
<button mat-raised-button fxFlex color="primary" [disabled]="!noteForm.valid" *mifosxHasPermission="'CREATE_GROUPNOTE'">
<fa-icon icon="plus" class="m-r-10"></fa-icon> {{"labels.buttons.Add" |translate}}
<fa-icon icon="plus" class="m-r-10"></fa-icon> {{"labels.buttons.Add" | translate}}
</button>
</form>
</div>
@@ -16,8 +16,8 @@
<fa-icon icon="sticky-note" matListIcon></fa-icon>
<h3 matLine>{{centerNote.note}} </h3>
<p matLine>
<span>{{ "labels.inputs.Created By" |translate}}: {{centerNote.createdByUsername}}</span><br />
<span>{{ "labels.inputs.Date" |translate}}: {{centerNote.createdOn | dateFormat}}</span>
<span>{{"labels.inputs.Created By" | translate}}: {{centerNote.createdByUsername}}</span><br />
<span>{{"labels.inputs.Date" | translate}}: {{centerNote.createdOn | dateFormat}}</span>
</p>
<div fxLayout="row" fxLayoutAlign="flex-start">
<button mat-button color="primary" (click)="editNote(centerNote.id,centerNote.note,i)">
+8 -8
View File
@@ -8,15 +8,15 @@
<input matInput placeholder="Search by ExternalID" [formControl]="externalId">
</mat-form-field>
<mat-checkbox #showClosedCenters labelPosition="after" (change)="changeShowClosedCenters()">
{{"labels.inputs.Show Closed Centers" |translate}}
{{"labels.inputs.Show Closed Centers" | translate}}
</mat-checkbox>
</div>
<div class="action-button" fxLayoutGap="25px">
<button mat-raised-button color="primary" [routerLink]="['../', 'organization', 'bulk-import', 'Centers']" *mifosxHasPermission="'CREATE_CENTER'">
<fa-icon icon="download" class="m-r-10"></fa-icon>{{ "labels.buttons.Import Center" | translate}}
<fa-icon icon="download" class="m-r-10"></fa-icon>{{"labels.buttons.Import Center" | translate}}
</button>
<button mat-raised-button color="primary" [routerLink]="['create']" *mifosxHasPermission="'CREATE_CENTER'">
<fa-icon icon="plus" class="m-r-10"></fa-icon>{{ "labels.buttons.Create Center" | translate}}
<fa-icon icon="plus" class="m-r-10"></fa-icon>{{"labels.buttons.Create Center" | translate}}
</button>
</div>
</div>
@@ -24,22 +24,22 @@
<table mat-table [dataSource]="dataSource" matSort>
<ng-container matColumnDef="name">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.name" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.name" | translate}} </th>
<td mat-cell *matCellDef="let center"> {{ center.name }} </td>
</ng-container>
<ng-container matColumnDef="accountNo">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account" |translate}} # </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Account" | translate}} # </th>
<td mat-cell *matCellDef="let center"> {{ center.accountNo }} </td>
</ng-container>
<ng-container matColumnDef="externalId">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.External Id" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.External Id" | translate}} </th>
<td mat-cell *matCellDef="let center"> {{ center.externalId }} </td>
</ng-container>
<ng-container matColumnDef="status">
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Status" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Status" | translate}} </th>
<td mat-cell *matCellDef="let row">
<div [ngClass]="row.status.code|statusLookup">
<fa-icon icon="stop"></fa-icon>
@@ -48,7 +48,7 @@
</ng-container>
<ng-container matColumnDef="officeName">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Office Name" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Office Name" | translate}} </th>
<td mat-cell *matCellDef="let center"> {{ center.officeName }} </td>
</ng-container>
@@ -9,30 +9,30 @@
<div fxLayout="column">
<mat-form-field>
<mat-label>{{"labels.inputs.name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.name" | translate}}</mat-label>
<input matInput required formControlName="name">
<mat-error *ngIf="centerForm.controls.name.hasError('required')">
{{"labels.inputs.Center Name" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Center Name" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
<mat-error *ngIf="centerForm.controls.name.hasError('pattern')">
{{"labels.inputs.Center Name" |translate}} <strong>{{"labels.inputs.cannot" |translate}}</strong> {{"labels.inputs.begin with a special character or number" |translate}}
{{"labels.inputs.Center Name" | translate}} <strong>{{"labels.inputs.cannot" | translate}}</strong> {{"labels.inputs.begin with a special character or number" | translate}}
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Office" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Office" | translate}}</mat-label>
<mat-select required formControlName="officeId">
<mat-option *ngFor="let office of officeData" [value]="office.id">
{{ office.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="centerForm.controls.officeId.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-form-field>
<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 }}
@@ -41,36 +41,36 @@
</mat-form-field>
<mat-checkbox labelPosition="before" formControlName="active">
{{"labels.inputs.Active" |translate}}
{{"labels.inputs.Active" | translate}}
</mat-checkbox>
<mat-form-field *ngIf="this.centerForm.controls.active.value" (click)="activationDatePicker.open()">
<mat-label>{{"labels.inputs.Activation Date" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Activation 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="centerForm.controls.activationDate.hasError('required')">
{{"labels.inputs.Activation Date" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Activation Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.External Id" |translate}}</mat-label>
<mat-label>{{"labels.inputs.External Id" | translate}}</mat-label>
<input matInput formControlName="externalId">
</mat-form-field>
<mat-form-field (click)="submittedOnDatePicker.open()">
<mat-label>{{"labels.inputs.Submitted On" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Submitted On" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="submittedOnDatePicker" required formControlName="submittedOnDate">
<mat-datepicker-toggle matSuffix [for]="submittedOnDatePicker"></mat-datepicker-toggle>
<mat-datepicker #submittedOnDatePicker></mat-datepicker>
<mat-error *ngIf="centerForm.controls.submittedOnDate.hasError('required')">
{{"labels.inputs.Submission Date" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Submission Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.Select and Add groups" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Select and Add groups" | translate}}</mat-label>
<mat-select [formControl]="groupChoice">
<mat-option *ngFor="let group of groupsData" [value]="group">
{{ group.name }}
@@ -84,27 +84,27 @@
<div class="mat-table" *ngIf="groupChoice.value">
<div class="mat-header-row">
<div class="mat-header-cell">{{"labels.inputs.Group Details" |translate}}</div>
<div class="mat-header-cell">{{"labels.inputs.Group Details" | translate}}</div>
<button mat-icon-button (click)="addGroup()">
<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">{{"labels.inputs.name" | translate}}</div>
<div class="mat-cell">{{groupChoice.value.name}}</div>
</div>
<div class="mat-row">
<div class="mat-cell">{{"labels.inputs.Id" |translate}}</div>
<div class="mat-cell">{{"labels.inputs.Id" | translate}}</div>
<div class="mat-cell">{{groupChoice.value.id}}</div>
</div>
<div class="mat-row">
<div class="mat-cell">{{"labels.inputs.Office" |translate}}</div>
<div class="mat-cell">{{"labels.inputs.Office" | translate}}</div>
<div class="mat-cell">{{groupChoice.value.officeName}}</div>
</div>
</div>
<mat-nav-list *ngIf="groupMembers.length">
<h3 matSubheader>{{"labels.heading.Selected Groups" |translate}}</h3>
<h3 matSubheader>{{"labels.heading.Selected Groups" | translate}}</h3>
<div mat-list-item *ngFor="let group of groupMembers index as i">
<button mat-icon-button (click)="removeGroup(i)">
<fa-icon icon="trash"></fa-icon>
@@ -118,8 +118,8 @@
</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]="!centerForm.valid" (click)="submit()" *mifosxHasPermission="'CREATE_CENTER'">{{ "labels.buttons.Submit" | translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!centerForm.valid" (click)="submit()" *mifosxHasPermission="'CREATE_CENTER'">{{"labels.buttons.Submit" | translate}}</button>
</mat-card-actions>
</form>
@@ -9,18 +9,18 @@
<div fxLayout="column">
<mat-form-field>
<mat-label>{{"labels.inputs.name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.name" | translate}}</mat-label>
<input matInput required formControlName="name">
<mat-error *ngIf="editCenterForm.controls.name.hasError('required')">
{{"labels.inputs.Center Name" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Center Name" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
<mat-error *ngIf="editCenterForm.controls.name.hasError('pattern')">
{{"labels.inputs.Center Name" |translate}} <strong>{{"labels.inputs.cannot" |translate}}</strong> {{"labels.inputs.begin with a special character or number" |translate}}
{{"labels.inputs.Center Name" | translate}} <strong>{{"labels.inputs.cannot" | translate}}</strong> {{"labels.inputs.begin with a special character or number" | translate}}
</mat-error>
</mat-form-field>
<mat-form-field>
<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 staffs" [value]="staff.id">
{{ staff.displayName }}
@@ -29,19 +29,19 @@
</mat-form-field>
<mat-form-field>
<mat-label>{{"labels.inputs.External Id" |translate}}</mat-label>
<mat-label>{{"labels.inputs.External Id" | translate}}</mat-label>
<input matInput formControlName="externalId">
</mat-form-field>
<ng-container *ngIf="centerData.status.value=='Pending'" (click)="activatedOnDatePicker.open()">
<mat-form-field>
<mat-label>{{"labels.inputs.Activation Date" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Activation Date" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="activatedOnDatePicker" required
formControlName="activationDate">
<mat-datepicker-toggle matSuffix [for]="activatedOnDatePicker"></mat-datepicker-toggle>
<mat-datepicker #activatedOnDatePicker></mat-datepicker>
<mat-error *ngIf="editCenterForm.controls.activationDate.hasError('required')">
{{"labels.inputs.Activation Date" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Activation Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
</ng-container>
@@ -51,8 +51,8 @@
</mat-card-content>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../general']">{{ "labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!editCenterForm.valid">{{ "labels.buttons.Confirm" | translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../general']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!editCenterForm.valid">{{"labels.buttons.Confirm" | translate}}</button>
</mat-card-actions>
</form>
@@ -1,10 +1,10 @@
<div class="mat-typography">
<h3>{{"labels.heading.Address" |translate}}</h3>
<h3>{{"labels.heading.Address" | translate}}</h3>
<div fxLayout="row" fxLayoutAlign="flex-end" class="m-b-20">
<button mat-raised-button color="primary" (click)="addAddress()">
<fa-icon icon="plus" class="m-r-10"></fa-icon>{{ "labels.buttons.Add" | translate}}
<fa-icon icon="plus" class="m-r-10"></fa-icon>{{"labels.buttons.Add" | translate}}
</button>
</div>
@@ -37,18 +37,18 @@
</div>
<p>
<span *ngIf="isFieldEnabled('street')">{{ "labels.inputs.Street" |translate}} : {{address.street}}<br /></span>
<span *ngIf="isFieldEnabled('addressLine1')">{{ "labels.inputs.Address Line" |translate}} 1 : {{address.addressLine1}}<br /></span>
<span *ngIf="isFieldEnabled('addressLine2')">{{ "labels.inputs.Address Line" |translate}} 2 : {{address.addressLine2}}<br /></span>
<span *ngIf="isFieldEnabled('addressLine3')">{{ "labels.inputs.Address Line" |translate}} 3 : {{address.addressLine3}}<br /></span>
<span *ngIf="isFieldEnabled('townVillage')">{{ "labels.inputs.Town / Village" |translate}} : {{address.townVillage}}<br /></span>
<span *ngIf="isFieldEnabled('city')">{{ "labels.inputs.City" |translate}} : {{address.city}}<br /></span>
<span *ngIf="isFieldEnabled('stateProvinceId')">{{ "labels.inputs.State / Province" |translate}} :
<span *ngIf="isFieldEnabled('street')">{{"labels.inputs.Street" | translate}} : {{address.street}}<br /></span>
<span *ngIf="isFieldEnabled('addressLine1')">{{"labels.inputs.Address Line" | translate}} 1 : {{address.addressLine1}}<br /></span>
<span *ngIf="isFieldEnabled('addressLine2')">{{"labels.inputs.Address Line" | translate}} 2 : {{address.addressLine2}}<br /></span>
<span *ngIf="isFieldEnabled('addressLine3')">{{"labels.inputs.Address Line" | translate}} 3 : {{address.addressLine3}}<br /></span>
<span *ngIf="isFieldEnabled('townVillage')">{{"labels.inputs.Town / Village" | translate}} : {{address.townVillage}}<br /></span>
<span *ngIf="isFieldEnabled('city')">{{"labels.inputs.City" | translate}} : {{address.city}}<br /></span>
<span *ngIf="isFieldEnabled('stateProvinceId')">{{"labels.inputs.State / Province" | translate}} :
{{getSelectedValue('stateProvinceIdOptions',address.stateProvinceId)?.name}}<br /></span>
<span *ngIf="isFieldEnabled('countryId')">{{ "labels.inputs.Country" |translate}} :
<span *ngIf="isFieldEnabled('countryId')">{{"labels.inputs.Country" | translate}} :
{{getSelectedValue('countryIdOptions',address.countryId)?.name}}<br /></span>
<span *ngIf="isFieldEnabled('postalCode')">{{ "labels.inputs.Postal Code" |translate}} : {{address.postalCode}}<br /></span>
<span *ngIf="isFieldEnabled('isActive')">{{ "labels.inputs.Active Status" |translate}} : {{address.isActive}}<br /></span>
<span *ngIf="isFieldEnabled('postalCode')">{{"labels.inputs.Postal Code" | translate}} : {{address.postalCode}}<br /></span>
<span *ngIf="isFieldEnabled('isActive')">{{"labels.inputs.Active Status" | translate}} : {{address.isActive}}<br /></span>
</p>
</mat-expansion-panel>
@@ -58,10 +58,10 @@
<div fxLayout="row" class="margin-t" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="2%">
<button mat-raised-button matStepperPrevious>
<fa-icon icon="arrow-left" class="m-r-10"></fa-icon>
{{ "labels.buttons.Previous" | translate}}
{{"labels.buttons.Previous" | translate}}
</button>
<button mat-raised-button matStepperNext>
{{ "labels.buttons.Next" | translate}}
{{"labels.buttons.Next" | translate}}
<fa-icon icon="arrow-right" class="m-l-10"></fa-icon>
</button>
</div>
@@ -40,10 +40,10 @@
<div fxLayout="row" class="margin-t" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="2%">
<button mat-raised-button matStepperPrevious disabled>
<fa-icon icon="arrow-left" class="m-r-10"></fa-icon>
{{ "labels.buttons.Previous" | translate}}
{{"labels.buttons.Previous" | translate}}
</button>
<button mat-raised-button matStepperNext>
{{ "labels.buttons.Next" | translate}}
{{"labels.buttons.Next" | translate}}
<fa-icon icon="arrow-right" class="m-l-10"></fa-icon>
</button>
</div>
@@ -1,71 +1,71 @@
<h1 mat-dialog-title>{{ data.context }} {{"labels.heading.Family Member" |translate}}</h1>
<h1 mat-dialog-title>{{ data.context }} {{"labels.heading.Family Member" | translate}}</h1>
<form [formGroup]="familyMemberForm">
<div fxLayout="row wrap" fxLayout.lt-md="column" fxLayoutAlign="start center" fxLayoutGap="2%">
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.First Name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.First Name" | translate}}</mat-label>
<input formControlName="firstName" required matInput />
<mat-error *ngIf="familyMemberForm.controls.firstName.hasError('required')">
{{ "labels.inputs.First Name" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.First Name" | 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.Middle Name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Middle Name" | translate}}</mat-label>
<input formControlName="middleName" matInput />
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.Last Name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Last Name" | translate}}</mat-label>
<input formControlName="lastName" required matInput />
<mat-error *ngIf="familyMemberForm.controls.lastName.hasError('required')">
{{ "labels.inputs.Last Name" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Last Name" | 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.Qualification" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Qualification" | translate}}</mat-label>
<input formControlName="qualification" matInput />
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.Age" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Age" | translate}}</mat-label>
<input type="number" formControlName="age" matInput [min]="0"/>
<mat-error *ngIf="familyMemberForm.controls.age.hasError('required')">
{{ "labels.inputs.Age" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required and cannot be negative" | translate}}</strong>
{{"labels.inputs.Age" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required and cannot be negative" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-checkbox formControlName="isDependent" labelPosition="before" fxFlex="48%">{{ "labels.inputs.Is Dependent" |translate}}?</mat-checkbox>
<mat-checkbox formControlName="isDependent" labelPosition="before" fxFlex="48%">{{"labels.inputs.Is Dependent" | translate}}?</mat-checkbox>
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.Relationship" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Relationship" | translate}}</mat-label>
<mat-select formControlName="relationshipId" required>
<mat-option *ngFor="let relation of data.options.relationshipIdOptions" [value]="relation.id">
{{ relation.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="familyMemberForm.controls.relationshipId.hasError('required')">
{{ "labels.inputs.Relationship" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Relationship" | 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.Gender" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Gender" | translate}}</mat-label>
<mat-select formControlName="genderId" required>
<mat-option *ngFor="let gender of data.options.genderIdOptions" [value]="gender.id">
{{ gender.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="familyMemberForm.controls.genderId.hasError('required')">
{{ "labels.inputs.Gender" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Gender" | 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.Profession" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Profession" | translate}}</mat-label>
<mat-select formControlName="professionId">
<mat-option *ngFor="let profession of data.options.professionIdOptions" [value]="profession.id">
{{ profession.name }}
@@ -74,7 +74,7 @@
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.Marital Status" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Marital Status" | translate}}</mat-label>
<mat-select formControlName="maritalStatusId">
<mat-option *ngFor="let maritalStatus of data.options.maritalStatusIdOptions"
[value]="maritalStatus.id">
@@ -85,20 +85,20 @@
<mat-form-field fxFlex="98%" (click)="dueDatePicker.open()">
<mat-label>{{ "labels.inputs.Date Of Birth" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Date Of Birth" | translate}}</mat-label>
<input formControlName="dateOfBirth" matInput [max]="maxDate" [matDatepicker]="dueDatePicker" required>
<mat-datepicker-toggle matSuffix [for]="dueDatePicker"></mat-datepicker-toggle>
<mat-datepicker #dueDatePicker></mat-datepicker>
<mat-error *ngIf="familyMemberForm.controls.dateOfBirth.hasError('required')">
{{ "labels.inputs.Date of birth" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Date Of Birth" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
</div>
<mat-dialog-actions align="center">
<button mat-raised-button mat-dialog-close>{{ "labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!familyMemberForm.valid" [mat-dialog-close]="{ member: familyMember }">{{ "labels.buttons.Confirm" | translate}}</button>
<button mat-raised-button mat-dialog-close>{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!familyMemberForm.valid" [mat-dialog-close]="{ member: familyMember }">{{"labels.buttons.Confirm" | translate}}</button>
</mat-dialog-actions>
</form>
@@ -1,10 +1,10 @@
<div class="mat-typography">
<h3>{{"labels.heading.Family Members" |translate}}</h3>
<h3>{{"labels.heading.Family Members" | translate}}</h3>
<div fxLayout="row" fxLayoutAlign="flex-end" class="m-b-20">
<button mat-raised-button color="primary" (click)="addFamilyMember()">
<fa-icon icon="plus" class="m-r-10"></fa-icon>{{ "labels.buttons.Add" | translate}}
<fa-icon icon="plus" class="m-r-10"></fa-icon>{{"labels.buttons.Add" | translate}}
</button>
</div>
@@ -36,17 +36,17 @@
</div>
<p>
{{ "labels.inputs.First Name" |translate}} : {{ member.firstName }}<br />
{{ "labels.inputs.Middle Name" |translate}} : {{ member.middleName }}<br />
{{ "labels.inputs.Last Name" |translate}} : {{ member.lastName }}<br />
{{ "labels.inputs.Qualification" |translate}} : {{ member.qualification }}<br />
{{ "labels.inputs.Relationship" |translate}} : {{ member.relationshipId | find:clientTemplate.familyMemberOptions.relationshipIdOptions:'id':'name' }}<br />
{{ "labels.inputs.Age" |translate}} : {{ member.age }}<br />
{{ "labels.inputs.Is Dependent" |translate}} : {{ member.isDependent ? 'Yes' : 'No' }}<br />
{{ "labels.inputs.Marital Status" |translate}} : {{ member.maritalStatusId | find:clientTemplate.familyMemberOptions.maritalStatusIdOptions:'id':'name' }}<br />
{{ "labels.inputs.Gender" |translate}} : {{ member.genderId | find:clientTemplate.familyMemberOptions.genderIdOptions:'id':'name' }}<br />
{{ "labels.inputs.Profession" |translate}} : {{member.professionId | find:clientTemplate.familyMemberOptions.professionIdOptions:'id':'name' }}<br />
{{ "labels.inputs.Date Of Birth" |translate}} : {{member.dateOfBirth | dateFormat}}<br />
{{"labels.inputs.First Name" | translate}} : {{ member.firstName }}<br />
{{"labels.inputs.Middle Name" | translate}} : {{ member.middleName }}<br />
{{"labels.inputs.Last Name" | translate}} : {{ member.lastName }}<br />
{{"labels.inputs.Qualification" | translate}} : {{ member.qualification }}<br />
{{"labels.inputs.Relationship" | translate}} : {{ member.relationshipId | find:clientTemplate.familyMemberOptions.relationshipIdOptions:'id':'name' }}<br />
{{"labels.inputs.Age" | translate}} : {{ member.age }}<br />
{{"labels.inputs.Is Dependent" | translate}} : {{ member.isDependent ? 'Yes' : 'No' }}<br />
{{"labels.inputs.Marital Status" | translate}} : {{ member.maritalStatusId | find:clientTemplate.familyMemberOptions.maritalStatusIdOptions:'id':'name' }}<br />
{{"labels.inputs.Gender" | translate}} : {{ member.genderId | find:clientTemplate.familyMemberOptions.genderIdOptions:'id':'name' }}<br />
{{"labels.inputs.Profession" | translate}} : {{member.professionId | find:clientTemplate.familyMemberOptions.professionIdOptions:'id':'name' }}<br />
{{"labels.inputs.Date Of Birth" | translate}} : {{member.dateOfBirth | dateFormat}}<br />
</p>
</mat-expansion-panel>
@@ -56,10 +56,10 @@
<div fxLayout="row" class="margin-t" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="2%">
<button mat-raised-button matStepperPrevious>
<fa-icon icon="arrow-left" class="m-r-10"></fa-icon>
{{ "labels.buttons.Previous" | translate}}
{{"labels.buttons.Previous" | translate}}
</button>
<button mat-raised-button matStepperNext>
{{ "labels.buttons.Next" | translate}}
{{"labels.buttons.Next" | translate}}
<fa-icon icon="arrow-right" class="m-l-10"></fa-icon>
</button>
</div>
@@ -3,19 +3,19 @@
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.Office" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Office" | translate}}</mat-label>
<mat-select required formControlName="officeId">
<mat-option *ngFor="let office of officeOptions" [value]="office.id">
{{ office.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="createClientForm.controls.officeId.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-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.Legal Form" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Legal Form" | translate}}</mat-label>
<mat-select required formControlName="legalFormId">
<mat-option *ngFor="let legalForm of legalFormOptions" [value]="legalForm.id">
{{ legalForm.value }}
@@ -24,7 +24,7 @@
</mat-form-field>
<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 staffOptions" [value]="staff.id">
{{ staff.displayName }}
@@ -36,40 +36,40 @@
<mat-label>{{ createClientForm.value.legalFormId === 1 ? 'Name' : 'Entity Name' }}</mat-label>
<input matInput required formControlName="fullname">
<mat-error *ngIf="createClientForm.controls.fullname.hasError('required')">
{{ "labels.inputs.Client name" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Client name" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
<mat-error *ngIf="createClientForm.controls.fullname.hasError('pattern')">
{{ "labels.inputs.Client name" |translate}} <strong>{{ "labels.inputs.cannot" |translate}}</strong> {{ "labels.commons.begin with a special character or number" | translate }}
{{"labels.inputs.Client name" | translate}} <strong>{{"labels.inputs.cannot" | translate}}</strong> {{"labels.commons.begin with a special character or number" | translate}}
</mat-error>
</mat-form-field>
<mat-form-field *ngIf="createClientForm.contains('firstname')" fxFlex="48%">
<mat-label>{{ "labels.inputs.First Name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.First Name" | translate}}</mat-label>
<input matInput required formControlName="firstname">
<mat-error *ngIf="createClientForm.controls.firstname.hasError('required')">
{{ "labels.inputs.Client first name" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Client first name" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
<mat-error *ngIf="createClientForm.controls.firstname.hasError('pattern')">
{{ "labels.inputs.Client first name" |translate}} <strong>{{ "labels.inputs.cannot" |translate}}</strong> {{ "labels.commons.begin with a special character or number" | translate }}
{{"labels.inputs.Client first name" | translate}} <strong>{{"labels.inputs.cannot" | translate}}</strong> {{"labels.commons.begin with a special character or number" | translate}}
</mat-error>
</mat-form-field>
<mat-form-field *ngIf="createClientForm.contains('middlename')" fxFlex="48%">
<mat-label>{{ "labels.inputs.Middle Name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Middle Name" | translate}}</mat-label>
<input matInput formControlName="middlename">
<mat-error *ngIf="createClientForm.controls.middlename.hasError('pattern')">
{{ "labels.inputs.Client middle name" |translate}} <strong>{{ "labels.inputs.cannot" |translate}}</strong> {{ "labels.commons.begin with a special character or number" | translate }}
{{"labels.inputs.Client middle name" | translate}} <strong>{{"labels.inputs.cannot" | translate}}</strong> {{"labels.commons.begin with a special character or number" | translate}}
</mat-error>
</mat-form-field>
<mat-form-field *ngIf="createClientForm.contains('lastname')" fxFlex="48%">
<mat-label>{{ "labels.inputs.Last Name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Last Name" | translate}}</mat-label>
<input matInput required formControlName="lastname">
<mat-error *ngIf="createClientForm.controls.lastname.hasError('required')">
{{ "labels.inputs.Client last name" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Client last name" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
<mat-error *ngIf="createClientForm.controls.lastname.hasError('pattern')">
{{ "labels.inputs.Client last name" |translate}} <strong>{{ "labels.inputs.cannot" |translate}}</strong> {{ "labels.commons.begin with a special character or number" | translate }}
{{"labels.inputs.Client last name" | translate}} <strong>{{"labels.inputs.cannot" | translate}}</strong> {{"labels.commons.begin with a special character or number" | translate}}
</mat-error>
</mat-form-field>
@@ -81,7 +81,7 @@
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.External Id" |translate}}</mat-label>
<mat-label>{{"labels.inputs.External Id" | translate}}</mat-label>
<input matInput formControlName="externalId">
</mat-form-field>
@@ -89,7 +89,7 @@
*ngIf="createClientForm.contains('clientNonPersonDetails')">
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.Constitution" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Constitution" | translate}}</mat-label>
<mat-select formControlName="constitutionId" required>
<mat-option *ngFor="let constitution of constitutionOptions" [value]="constitution.id">
{{ constitution.name }}
@@ -98,7 +98,7 @@
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.Main Business Line" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Main Business Line" | translate}}</mat-label>
<mat-select formControlName="mainBusinessLineId">
<mat-option *ngFor="let business of businessLineOptions" [value]="business.id">
{{ business.name }}
@@ -107,26 +107,26 @@
</mat-form-field>
<mat-form-field fxFlex="48%" (click)="incorpValidityTillDateDatePicker.open()">
<mat-label>{{ "labels.inputs.Incorporation Validity Till Date" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Incorporation Validity Till Date" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="incorpValidityTillDateDatePicker" formControlName="incorpValidityTillDate">
<mat-datepicker-toggle matSuffix [for]="incorpValidityTillDateDatePicker"></mat-datepicker-toggle>
<mat-datepicker #incorpValidityTillDateDatePicker></mat-datepicker>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.Incorporation Number" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Incorporation Number" | translate}}</mat-label>
<input matInput formControlName="incorpNumber">
</mat-form-field>
<mat-form-field fxFlex="98%">
<mat-label>{{ "labels.inputs.Remarks" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Remarks" | translate}}</mat-label>
<textarea matInput formControlName="remarks" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
</div>
<mat-form-field *ngIf="createClientForm.value.legalFormId === 1" fxFlex="48%">
<mat-label>{{ "labels.inputs.Gender" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Gender" | translate}}</mat-label>
<mat-select formControlName="genderId">
<mat-option *ngFor="let gender of genderOptions" [value]="gender.id">
{{ gender.name }}
@@ -135,24 +135,24 @@
</mat-form-field>
<mat-checkbox *ngIf="createClientForm.value.legalFormId === 1" fxFlex="48%" labelPosition="before" formControlName="isStaff" class="margin-v">
{{ "labels.inputs.Is staff" |translate}}?
{{"labels.inputs.Is staff" | translate}}?
</mat-checkbox>
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.Mobile No" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Mobile No" | translate}}</mat-label>
<input matInput type="number" formControlName="mobileNo">
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.Email Address" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Email Address" | translate}}</mat-label>
<input matInput formControlName="emailAddress">
<mat-error *ngIf="createClientForm.controls.emailAddress.errors?.email">
{{"error.Email not valid" |translate}}
{{"error.Email not valid" | translate}}
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.Client Type" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Client Type" | translate}}</mat-label>
<mat-select formControlName="clientTypeId">
<mat-option *ngFor="let clientType of clientTypeOptions" [value]="clientType.id">
{{ clientType.name }}
@@ -161,7 +161,7 @@
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.Client Classification" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Client Classification" | translate}}</mat-label>
<mat-select formControlName="clientClassificationId">
<mat-option *ngFor="let clientClassification of clientClassificationTypeOptions" [value]="clientClassification.id">
{{ clientClassification.name }}
@@ -170,7 +170,7 @@
</mat-form-field>
<mat-form-field fxFlex="48%" (click)="submittedOnDatePicker.open()">
<mat-label>{{ "labels.inputs.Submitted On" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Submitted On" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="submittedOnDatePicker" formControlName="submittedOnDate" required>
<mat-datepicker-toggle matSuffix [for]="submittedOnDatePicker"></mat-datepicker-toggle>
<mat-datepicker #submittedOnDatePicker></mat-datepicker>
@@ -179,33 +179,33 @@
<br />
<mat-checkbox fxFlex="48%" labelPosition="before" formControlName="active" class="margin-v">
{{ "labels.inputs.Active" |translate}}?
{{"labels.inputs.Active" | translate}}?
</mat-checkbox>
<mat-form-field *ngIf="createClientForm.contains('activationDate')" fxFlex="48%" (click)="activatedOnDatePicker.open()">
<mat-label>{{ "labels.inputs.Activation Date" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Activation Date" | translate}}</mat-label>
<input matInput [min]="createClientForm.value.submittedOnDate" [max]="maxDate" [matDatepicker]="activatedOnDatePicker" required
formControlName="activationDate">
<mat-datepicker-toggle matSuffix [for]="activatedOnDatePicker"></mat-datepicker-toggle>
<mat-datepicker #activatedOnDatePicker></mat-datepicker>
<mat-error *ngIf="createClientForm.controls.activationDate.hasError('required')">
{{ "labels.inputs.Activation Date" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Activation Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-checkbox fxFlex="48%" labelPosition="before" formControlName="addSavings" class="margin-v">
{{ "labels.inputs.Open Savings Account" |translate}}?
{{"labels.inputs.Open Savings Account" | translate}}?
</mat-checkbox>
<mat-form-field *ngIf="createClientForm.contains('savingsProductId')" fxFlex="48%">
<mat-label>{{ "labels.inputs.Savings Product" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Savings Product" | translate}}</mat-label>
<mat-select required formControlName="savingsProductId">
<mat-option *ngFor="let product of savingProductOptions" [value]="product.id">
{{ product.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="createClientForm.controls.savingsProductId.hasError('required')">
{{ "labels.inputs.Savings Product" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Savings Product" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -214,10 +214,10 @@
<div fxLayout="row" class="margin-t" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="2%">
<button mat-raised-button matStepperPrevious disabled>
<fa-icon icon="arrow-left" class="m-r-10"></fa-icon>
{{ "labels.buttons.Previous" | translate}}
{{"labels.buttons.Previous" | translate}}
</button>
<button mat-raised-button matStepperNext>
{{ "labels.buttons.Next" | translate}}
{{"labels.buttons.Next" | translate}}
<fa-icon icon="arrow-right" class="m-l-10"></fa-icon>
</button>
</div>
@@ -1,91 +1,91 @@
<div fxLayout="row wrap" fxLayout.lt-md="column">
<h3 class="mat-h3" fxFlexFill>{{ "labels.heading.General" |translate}}</h3>
<h3 class="mat-h3" fxFlexFill>{{"labels.heading.General" | translate}}</h3>
<mat-divider fxFlexFill></mat-divider>
<div fxFlexFill>
<span fxFlex="40%">{{ "labels.inputs.name" |translate}}</span>
<span fxFlex="40%">{{"labels.inputs.name" | translate}}</span>
<span fxFlex="60%" *ngIf="client.legalFormId === 2">{{ client.fullname }}</span>
<span fxFlex="60%" *ngIf="client.legalFormId === 1">{{ client.firstname }} {{ client.middlename ? client.middlename + ' ' + client.lastname : client.lastname }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{ "labels.inputs.Office" |translate}}</span>
<span fxFlex="40%">{{"labels.inputs.Office" | translate}}</span>
<span fxFlex="60%">{{ client.officeId | find:clientTemplate.officeOptions:'id':'name' }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{ "labels.inputs.Legal Form" |translate}}</span>
<span fxFlex="40%">{{"labels.inputs.Legal Form" | translate}}</span>
<span fxFlex="60%">{{ client.legalFormId | find:clientTemplate.clientLegalFormOptions:'id':'value' }}</span>
</div>
<div fxFlexFill *ngIf="client.staffId">
<span fxFlex="40%">{{ "labels.inputs.Staff" |translate}}</span>
<span fxFlex="40%">{{"labels.inputs.Staff" | translate}}</span>
<span fxFlex="60%">{{ client.staffId | find:clientTemplate.staffOptions:'id':'displayName' }}</span>
</div>
<div fxFlexFill *ngIf="client.dateOfBirth">
<span fxFlex="40%">{{ client.legalFormId === 1 ? 'Date of Birth' : 'Incorporation Date' }}</span>
<span fxFlex="60%">{{ client.dateOfBirth | dateFormat }}</span>
<span fxFlex="60%">{{ client.dateOfBirth | dateFormat }}</span>
</div>
<div fxFlexFill *ngIf="client.externalId">
<span fxFlex="40%">{{ "labels.inputs.External Id" |translate}}</span>
<span fxFlex="40%">{{"labels.inputs.External Id" | translate}}</span>
<span fxFlex="60%">
<mifosx-external-identifier externalId="{{client.externalId}}"></mifosx-external-identifier>
</span>
</div>
<div fxFlexFill *ngIf="client.mobileNo">
<span fxFlex="40%">{{ "labels.inputs.Mobile No" |translate}}</span>
<span fxFlex="40%">{{"labels.inputs.Mobile No" | translate}}</span>
<span fxFlex="60%">{{ client.mobileNo }}</span>
</div>
<div fxFlexFill *ngIf="client.emailAddress">
<span fxFlex="40%">{{ "labels.inputs.Email Address" |translate}}</span>
<span fxFlex="40%">{{"labels.inputs.Email Address" | translate}}</span>
<span fxFlex="60%">{{ client.emailAddress }}</span>
</div>
<div fxFlexFill *ngIf="client.clientTypeId">
<span fxFlex="40%">{{ "labels.inputs.Client Type" |translate}}</span>
<span fxFlex="40%">{{"labels.inputs.Client Type" | translate}}</span>
<span fxFlex="60%">{{ client.clientTypeId | find:clientTemplate.clientTypeOptions:'id':'name' }}</span>
</div>
<div fxFlexFill *ngIf="client.clientClassificationId">
<span fxFlex="40%">{{ "labels.inputs.Client Classification" |translate}}</span>
<span fxFlex="40%">{{"labels.inputs.Client Classification" | translate}}</span>
<span fxFlex="60%">{{ client.clientClassificationId | find:clientTemplate.clientClassificationOptions:'id':'name' }}</span>
</div>
<div fxFlexFill *ngIf="client.savingsProductId">
<span fxFlex="40%">{{ "labels.inputs.Savings Product" |translate}}</span>
<span fxFlex="40%">{{"labels.inputs.Savings Product" | translate}}</span>
<span fxFlex="60%">{{ client.savingsProductId | find:clientTemplate.savingProductOptions:'id':'name' }}</span>
</div>
<div fxFlexFill *ngIf="client.submittedOnDate">
<span fxFlex="40%">{{ "labels.inputs.Submitted On Date" |translate}}</span>
<span fxFlex="60%">{{ client.submittedOnDate | dateFormat }}</span>
<span fxFlex="40%">{{"labels.inputs.Submitted On Date" | translate}}</span>
<span fxFlex="60%">{{ client.submittedOnDate | dateFormat }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{ "labels.inputs.Active" |translate}}?</span>
<span fxFlex="40%">{{"labels.inputs.Active" | translate}}?</span>
<span fxFlex="60%">{{ client.active | yesNo }}</span>
</div>
<div fxFlexFill *ngIf="client.activationDate">
<span fxFlex="40%">{{ "labels.inputs.Activation Date" |translate}}</span>
<span fxFlex="60%">{{ client.activationDate | dateFormat }}</span>
<span fxFlex="40%">{{"labels.inputs.Activation Date" | translate}}</span>
<span fxFlex="60%">{{ client.activationDate | dateFormat }}</span>
</div>
<ng-container *ngIf="client.legalFormId === 1">
<div fxFlexFill *ngIf="client.genderId">
<span fxFlex="40%">{{ "labels.inputs.Gender" |translate}}</span>
<span fxFlex="40%">{{"labels.inputs.Gender" | translate}}</span>
<span fxFlex="60%">{{ client.genderId | find:clientTemplate.genderOptions:'id':'name' }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{ "labels.inputs.Is Staff" |translate}}?</span>
<span fxFlex="40%">{{"labels.inputs.Is Staff" | translate}}?</span>
<span fxFlex="60%">{{ client.isStaff | yesNo }}</span>
</div>
@@ -94,27 +94,27 @@
<ng-container *ngIf="client.legalFormId === 2">
<div fxFlexFill *ngIf="client.clientNonPersonDetails.incorpValidityTillDate">
<span fxFlex="40%">{{ "labels.inputs.Incorporation Validity Till Date" |translate}}</span>
<span fxFlex="60%">{{ client.clientNonPersonDetails.incorpValidityTillDate | dateFormat }}</span>
<span fxFlex="40%">{{"labels.inputs.Incorporation Validity Till Date" | translate}}</span>
<span fxFlex="60%">{{ client.clientNonPersonDetails.incorpValidityTillDate | dateFormat }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{ "labels.inputs.Incorportation Number" |translate}}</span>
<span fxFlex="40%">{{"labels.inputs.Incorportation Number" | translate}}</span>
<span fxFlex="60%">{{ client.clientNonPersonDetails.incorpNumber || 'Not Provided' }}</span>
</div>
<div fxFlexFill *ngIf="client.clientNonPersonDetails.mainBusinessLineId">
<span fxFlex="40%">{{ "labels.inputs.Main Business Line" |translate}}</span>
<span fxFlex="40%">{{"labels.inputs.Main Business Line" | translate}}</span>
<span fxFlex="60%">{{ client.clientNonPersonDetails.mainBusinessLineId | find:clientTemplate.clientNonPersonMainBusinessLineOptions:'id':'name' }}</span>
</div>
<div fxFlexFill *ngIf="client.clientNonPersonDetails.constitutionId">
<span fxFlex="40%">{{ "labels.inputs.Constitution" |translate}}</span>
<span fxFlex="40%">{{"labels.inputs.Constitution" | translate}}</span>
<span fxFlex="60%">{{ client.clientNonPersonDetails.constitutionId | find:clientTemplate.clientNonPersonConstitutionOptions:'id':'name'}}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">{{ "labels.inputs.Remarks" |translate}}</span>
<span fxFlex="40%">{{"labels.inputs.Remarks" | translate}}</span>
<span fxFlex="60%">{{ client.clientNonPersonDetails.remarks || 'N/A' }}</span>
</div>
@@ -122,7 +122,7 @@
<div fxFlexFill *ngIf="client.familyMembers.length" fxLayout="row wrap" fxLayout.lt-md="column" class="m-b-20">
<h3 class="mat-h3" fxFlexFill>{{ "labels.heading.Family Members" |translate}}</h3>
<h3 class="mat-h3" fxFlexFill>{{"labels.heading.Family Members" | translate}}</h3>
<mat-divider fxFlexFill></mat-divider>
@@ -145,17 +145,17 @@
<mat-divider></mat-divider>
<p>
{{ "labels.inputs.First Name" |translate}} : {{ member.firstName }}<br />
{{ "labels.inputs.Middle Name" |translate}} : {{ member.middleName }}<br />
{{ "labels.inputs.Last Name" |translate}} : {{ member.lastName }}<br />
{{ "labels.inputs.Qualification" |translate}} : {{ member.qualification }}<br />
{{ "labels.inputs.Relationship" |translate}} : {{ member.relationshipId | find:clientTemplate.familyMemberOptions.relationshipIdOptions:'id':'name' }}<br />
{{ "labels.inputs.Age" |translate}} : {{ member.age }}<br />
{{ "labels.inputs.Is Dependent" |translate}} : {{ member.isDependent ? 'Yes' : 'No' }}<br />
{{ "labels.inputs.Marital Status" |translate}} : {{ member.maritalStatusId | find:clientTemplate.familyMemberOptions.maritalStatusIdOptions:'id':'name' }}<br />
{{ "labels.inputs.Gender" |translate}} : {{ member.genderId | find:clientTemplate.familyMemberOptions.genderIdOptions:'id':'name' }}<br />
{{ "labels.inputs.Profession" |translate}} : {{ member.professionId | find:clientTemplate.familyMemberOptions.professionIdOptions:'id':'name' }}<br />
{{ "labels.inputs.Date Of Birth" |translate}} : {{ member.dateOfBirth | dateFormat }}<br />
{{"labels.inputs.First Name" | translate}} : {{ member.firstName }}<br />
{{"labels.inputs.Middle Name" | translate}} : {{ member.middleName }}<br />
{{"labels.inputs.Last Name" | translate}} : {{ member.lastName }}<br />
{{"labels.inputs.Qualification" | translate}} : {{ member.qualification }}<br />
{{"labels.inputs.Relationship" | translate}} : {{ member.relationshipId | find:clientTemplate.familyMemberOptions.relationshipIdOptions:'id':'name' }}<br />
{{"labels.inputs.Age" | translate}} : {{ member.age }}<br />
{{"labels.inputs.Is Dependent" | translate}} : {{ member.isDependent ? 'Yes' : 'No' }}<br />
{{"labels.inputs.Marital Status" | translate}} : {{ member.maritalStatusId | find:clientTemplate.familyMemberOptions.maritalStatusIdOptions:'id':'name' }}<br />
{{"labels.inputs.Gender" | translate}} : {{ member.genderId | find:clientTemplate.familyMemberOptions.genderIdOptions:'id':'name' }}<br />
{{"labels.inputs.Profession" | translate}} : {{ member.professionId | find:clientTemplate.familyMemberOptions.professionIdOptions:'id':'name' }}<br />
{{"labels.inputs.Date Of Birth" | translate}} : {{ member.dateOfBirth | dateFormat }}<br />
</p>
</mat-expansion-panel>
@@ -166,7 +166,7 @@
<div fxFlexFill *ngIf="clientTemplate.isAddressEnabled && client.address && client.address.length" fxLayout="row wrap" fxLayout.lt-md="column">
<h3 class="mat-h3" fxFlexFill>{{ "labels.heading.Address" |translate}}</h3>
<h3 class="mat-h3" fxFlexFill>{{"labels.heading.Address" | translate}}</h3>
<mat-divider fxFlexFill></mat-divider>
@@ -189,18 +189,18 @@
<mat-divider></mat-divider>
<p>
<span *ngIf="isFieldEnabled('street')">{{ "labels.inputs.Street" |translate}} : {{address.street}}<br /></span>
<span *ngIf="isFieldEnabled('addressLine1')">{{ "labels.inputs.Address Line" |translate}} 1 : {{address.addressLine1}}<br /></span>
<span *ngIf="isFieldEnabled('addressLine2')">{{ "labels.inputs.Address Line" |translate}} 2 : {{address.addressLine2}}<br /></span>
<span *ngIf="isFieldEnabled('addressLine3')">{{ "labels.inputs.Address Line" |translate}} 3 : {{address.addressLine3}}<br /></span>
<span *ngIf="isFieldEnabled('townVillage')">{{ "labels.inputs.Town / Village" |translate}} : {{address.townVillage}}<br /></span>
<span *ngIf="isFieldEnabled('city')">{{ "labels.inputs.City" |translate}} : {{address.city}}<br /></span>
<span *ngIf="isFieldEnabled('stateProvinceId')">{{ "labels.inputs.State / Province" |translate}} :
<span *ngIf="isFieldEnabled('street')">{{"labels.inputs.Street" | translate}} : {{address.street}}<br /></span>
<span *ngIf="isFieldEnabled('addressLine1')">{{"labels.inputs.Address Line" | translate}} 1 : {{address.addressLine1}}<br /></span>
<span *ngIf="isFieldEnabled('addressLine2')">{{"labels.inputs.Address Line" | translate}} 2 : {{address.addressLine2}}<br /></span>
<span *ngIf="isFieldEnabled('addressLine3')">{{"labels.inputs.Address Line" | translate}} 3 : {{address.addressLine3}}<br /></span>
<span *ngIf="isFieldEnabled('townVillage')">{{"labels.inputs.Town / Village" | translate}} : {{address.townVillage}}<br /></span>
<span *ngIf="isFieldEnabled('city')">{{"labels.inputs.City" | translate}} : {{address.city}}<br /></span>
<span *ngIf="isFieldEnabled('stateProvinceId')">{{"labels.inputs.State / Province" | translate}} :
{{getSelectedValue('stateProvinceIdOptions',address.stateProvinceId)?.name}}<br /></span>
<span *ngIf="isFieldEnabled('countryId')">{{ "labels.inputs.Country" |translate}} :
<span *ngIf="isFieldEnabled('countryId')">{{"labels.inputs.Country" | translate}} :
{{getSelectedValue('countryIdOptions',address.countryId)?.name}}<br /></span>
<span *ngIf="isFieldEnabled('postalCode')">{{ "labels.inputs.Postal Code" |translate}} : {{address.postalCode}}<br /></span>
<span *ngIf="isFieldEnabled('isActive')">{{ "labels.inputs.Active Status" |translate}} : {{address.isActive}}<br /></span>
<span *ngIf="isFieldEnabled('postalCode')">{{"labels.inputs.Postal Code" | translate}} : {{address.postalCode}}<br /></span>
<span *ngIf="isFieldEnabled('isActive')">{{"labels.inputs.Active Status" | translate}} : {{address.isActive}}<br /></span>
</p>
</mat-expansion-panel>
@@ -214,12 +214,12 @@
<div fxLayout="row" class="margin-t" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="2%">
<button mat-raised-button matStepperPrevious>
<fa-icon icon="arrow-left" class="m-r-10"></fa-icon>
{{ "labels.buttons.Previous" | translate}}
{{"labels.buttons.Previous" | translate}}
</button>
<button mat-raised-button [routerLink]="['../']">
{{ "labels.buttons.Cancel" | translate}}
{{"labels.buttons.Cancel" | translate}}
</button>
<button mat-raised-button color="primary" (click)="submit.emit()">
{{ "labels.buttons.Submit" | translate}}
{{"labels.buttons.Submit" | translate}}
</button>
</div>
+19 -22
View File
@@ -4,9 +4,6 @@ import { Routes, RouterModule } from '@angular/router';
/** Routing Imports */
import { Route } from '../core/route/route.service';
/** Translation Imports */
import { extract } from '../core/i18n/i18n.service';
/** Custom Components */
import { ClientsComponent } from './clients.component';
import { ClientsViewComponent } from './clients-view/clients-view.component';
@@ -53,7 +50,7 @@ import { ClientCollateralResolver } from './common-resolvers/client-collateral.r
const routes: Routes = [
Route.withShell([{
path: 'clients',
data: { title: extract('Clients'), breadcrumb: 'Clients', routeParamBreadcrumb: false },
data: { title: 'Clients', breadcrumb: 'Clients', routeParamBreadcrumb: false },
children: [
{
path: '',
@@ -61,7 +58,7 @@ const routes: Routes = [
},
{
path: 'create',
data: { title: extract('Create Client'), breadcrumb: 'Create Client', routeParamBreadcrumb: false },
data: { title: 'Create Client', breadcrumb: 'Create Client', routeParamBreadcrumb: false },
component: CreateClientComponent,
resolve: {
clientAddressFieldConfig: ClientAddressFieldConfigurationResolver,
@@ -71,7 +68,7 @@ const routes: Routes = [
{
path: ':clientId',
component: ClientsViewComponent,
data: { title: extract('Clients View'), routeParamBreadcrumb: 'clientId' },
data: { title: 'Clients View', routeParamBreadcrumb: 'clientId' },
resolve: {
clientViewData: ClientViewResolver,
clientTemplateData: ClientTemplateResolver,
@@ -86,7 +83,7 @@ const routes: Routes = [
{
path: 'general',
component: GeneralTabComponent,
data: { title: extract('General'), breadcrumb: 'General', routeParamBreadcrumb: false },
data: { title: 'General', breadcrumb: 'General', routeParamBreadcrumb: false },
resolve: {
clientAccountsData: ClientAccountsResolver,
clientChargesData: ClientChargesResolver,
@@ -96,7 +93,7 @@ const routes: Routes = [
{
path: 'address',
component: AddressTabComponent,
data: { title: extract('Address'), breadcrumb: 'Address', routeParamBreadcrumb: false },
data: { title: 'Address', breadcrumb: 'Address', routeParamBreadcrumb: false },
resolve: {
clientAddressFieldConfig: ClientAddressFieldConfigurationResolver,
clientAddressTemplateData: ClientAddressTemplateResolver,
@@ -105,7 +102,7 @@ const routes: Routes = [
},
{
path: 'family-members',
data: { title: extract('Family Members'), breadcrumb: 'Family Members', routeParamBreadcrumb: false },
data: { title: 'Family Members', breadcrumb: 'Family Members', routeParamBreadcrumb: false },
children: [
{
path: '',
@@ -117,7 +114,7 @@ const routes: Routes = [
{
path: 'add',
component: AddFamilyMemberComponent,
data: { title: extract('Add'), breadcrumb: 'Add', routeParamBreadcrumb: false },
data: { title: 'Add', breadcrumb: 'Add', routeParamBreadcrumb: false },
resolve: {
clientTemplate: ClientTemplateResolver
}
@@ -127,7 +124,7 @@ const routes: Routes = [
children: [{
path: 'edit',
component: EditFamilyMemberComponent,
data: { title: extract('Family Member View'), routeParamBreadcrumb: 'familyMemberId' },
data: { title: 'Family Member View', routeParamBreadcrumb: 'familyMemberId' },
resolve: {
clientTemplate: ClientTemplateResolver,
editFamilyMember: ClientFamilyMemberResolver
@@ -139,7 +136,7 @@ const routes: Routes = [
{
path: 'identities',
component: IdentitiesTabComponent,
data: { title: extract('Identities'), breadcrumb: 'Identities', routeParamBreadcrumb: false },
data: { title: 'Identities', breadcrumb: 'Identities', routeParamBreadcrumb: false },
resolve: {
clientIdentities: ClientIdentitiesResolver,
clientIdentifierTemplate: ClientIdentifierTemplateResolver
@@ -148,7 +145,7 @@ const routes: Routes = [
{
path: 'documents',
component: DocumentsTabComponent,
data: { title: extract('Documents'), breadcrumb: 'Documents', routeParamBreadcrumb: false },
data: { title: 'Documents', breadcrumb: 'Documents', routeParamBreadcrumb: false },
resolve: {
clientDocuments: ClientDocumentsResolver
}
@@ -156,7 +153,7 @@ const routes: Routes = [
{
path: 'notes',
component: NotesTabComponent,
data: { title: extract('Notes'), breadcrumb: 'Notes', routeParamBreadcrumb: false },
data: { title: 'Notes', breadcrumb: 'Notes', routeParamBreadcrumb: false },
resolve: {
clientNotes: ClientNotesResolver
}
@@ -166,7 +163,7 @@ const routes: Routes = [
children: [{
path: ':datatableName',
component: DatatableTabComponent,
data: { title: extract('Data Table View'), routeParamBreadcrumb: 'datatableName' },
data: { title: 'Data Table View', routeParamBreadcrumb: 'datatableName' },
resolve: {
clientDatatable: ClientDatatableResolver
}
@@ -178,18 +175,18 @@ const routes: Routes = [
},
{
path: 'clients',
data: { title: extract('Clients'), breadcrumb: 'Clients', routeParamBreadcrumb: false },
data: { title: 'Clients', breadcrumb: 'Clients', routeParamBreadcrumb: false },
children: [
{
path: ':clientId',
data: { title: extract('Clients View'), routeParamBreadcrumb: 'clientId' },
data: { title: 'Clients View', routeParamBreadcrumb: 'clientId' },
resolve: {
clientViewData: ClientViewResolver
},
children: [
{
path: 'edit',
data: { title: extract('Edit Client'), breadcrumb: 'Edit', routeParamBreadcrumb: false },
data: { title: 'Edit Client', breadcrumb: 'Edit', routeParamBreadcrumb: false },
component: EditClientComponent,
resolve: {
clientDataAndTemplate: ClientDataAndTemplateResolver
@@ -197,7 +194,7 @@ const routes: Routes = [
},
{
path: 'actions/:name',
data: { title: extract('Client Actions'), routeParamBreadcrumb: 'name' },
data: { title: 'Client Actions', routeParamBreadcrumb: 'name' },
component: ClientActionsComponent,
resolve: {
clientActionData: ClientActionsResolver
@@ -208,7 +205,7 @@ const routes: Routes = [
children: [
{
path: 'overview',
data: { title: extract('Charges Overview'), breadcrumb: 'Charges Overview' },
data: { title: 'Charges Overview', breadcrumb: 'Charges Overview' },
component: ChargesOverviewComponent,
resolve: {
clientChargesData: ClientChargeOverviewResolver
@@ -216,7 +213,7 @@ const routes: Routes = [
},
{
path: ':chargeId',
data: { title: extract('Charges'), routeParamBreadcrumb: 'chargeId' },
data: { title: 'Charges', routeParamBreadcrumb: 'chargeId' },
children: [
{
path: '',
@@ -227,7 +224,7 @@ const routes: Routes = [
},
{
path: 'pay',
data: { title: extract('Pay Charge'), routeParamBreadcrumb: false },
data: { title: 'Pay Charge', routeParamBreadcrumb: false },
component: ClientPayChargesComponent,
resolve: {
transactionData: ClientTransactionPayResolver
@@ -1,10 +1,10 @@
<div class="tab-container mat-typography">
<h3>{{ "labels.heading.Address" |translate}}</h3>
<h3>{{"labels.heading.Address" | translate}}</h3>
<div fxLayout="row" fxLayoutAlign="flex-end">
<button mat-raised-button color="primary" (click)="addAddress()">
<fa-icon icon="plus" class="m-r-10"></fa-icon>{{ "labels.buttons.Add" | translate}}
<fa-icon icon="plus" class="m-r-10"></fa-icon>{{"labels.buttons.Add" | translate}}
</button>
</div>
@@ -31,18 +31,18 @@
</div>
<p>
<span *ngIf="isFieldEnabled('street')">{{ "labels.inputs.Street" |translate}} : {{address.street}}<br /></span>
<span *ngIf="isFieldEnabled('addressLine1')">{{ "labels.inputs.Address Line" |translate}} 1 : {{address.addressLine1}}<br /></span>
<span *ngIf="isFieldEnabled('addressLine2')">{{ "labels.inputs.Address Line" |translate}} 2 : {{address.addressLine2}}<br /></span>
<span *ngIf="isFieldEnabled('addressLine3')">{{ "labels.inputs.Address Line" |translate}} 3 : {{address.addressLine3}}<br /></span>
<span *ngIf="isFieldEnabled('townVillage')">{{ "labels.inputs.Town / Village" |translate}} : {{address.townVillage}}<br /></span>
<span *ngIf="isFieldEnabled('city')">{{ "labels.inputs.City" |translate}} : {{address.city}}<br /></span>
<span *ngIf="isFieldEnabled('stateProvinceId')">{{ "labels.inputs.State / Province" |translate}} :
<span *ngIf="isFieldEnabled('street')">{{"labels.inputs.Street" | translate}} : {{address.street}}<br /></span>
<span *ngIf="isFieldEnabled('addressLine1')">{{"labels.inputs.Address Line" | translate}} 1 : {{address.addressLine1}}<br /></span>
<span *ngIf="isFieldEnabled('addressLine2')">{{"labels.inputs.Address Line" | translate}} 2 : {{address.addressLine2}}<br /></span>
<span *ngIf="isFieldEnabled('addressLine3')">{{"labels.inputs.Address Line" | translate}} 3 : {{address.addressLine3}}<br /></span>
<span *ngIf="isFieldEnabled('townVillage')">{{"labels.inputs.Town / Village" | translate}} : {{address.townVillage}}<br /></span>
<span *ngIf="isFieldEnabled('city')">{{"labels.inputs.City" | translate}} : {{address.city}}<br /></span>
<span *ngIf="isFieldEnabled('stateProvinceId')">{{"labels.inputs.State / Province" | translate}} :
{{getSelectedValue('stateProvinceIdOptions',address.stateProvinceId)?.name}}<br /></span>
<span *ngIf="isFieldEnabled('countryId')">{{ "labels.inputs.Country" |translate}} :
<span *ngIf="isFieldEnabled('countryId')">{{"labels.inputs.Country" | translate}} :
{{getSelectedValue('countryIdOptions',address.countryId)?.name}}<br /></span>
<span *ngIf="isFieldEnabled('postalCode')">{{ "labels.inputs.Postal Code" |translate}} : {{address.postalCode}}<br /></span>
<span *ngIf="isFieldEnabled('isActive')">{{ "labels.inputs.Active Status" |translate}} : {{address.isActive}}<br /></span>
<span *ngIf="isFieldEnabled('postalCode')">{{"labels.inputs.Postal Code" | translate}} : {{address.postalCode}}<br /></span>
<span *ngIf="isFieldEnabled('isActive')">{{"labels.inputs.Active Status" | translate}} : {{address.isActive}}<br /></span>
</p>
</mat-expansion-panel>
@@ -1,40 +1,40 @@
<div class="tab-container mat-typography">
<mat-card class="charges-card">
<div style="margin-top: 5px;">
<div class="tab-container mat-typography">
<h2>{{ "labels.heading.Charges Overview" |translate}}</h2>
<h2>{{"labels.heading.Charges Overview" | translate}}</h2>
<table mat-table [dataSource]="dataSource">
<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 chargeOverviewData"><i class="fa fa-stop"
[ngClass]="(!(chargeOverviewData.isWaived || chargeOverviewData.isPaid))|statusLookup"></i>
[ngClass]="(!(chargeOverviewData.isWaived || chargeOverviewData.isPaid))|statusLookup"></i>
{{chargeOverviewData.name}} </td>
</ng-container>
<ng-container matColumnDef="dueAsOf">
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Due as of" |translate}} </th>
<td mat-cell *matCellDef="let chargeOverviewData"> {{chargeOverviewData.dueDate | dateFormat}} </td>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Due as of" | translate}} </th>
<td mat-cell *matCellDef="let chargeOverviewData"> {{chargeOverviewData.dueDate | dateFormat}} </td>
</ng-container>
<ng-container matColumnDef="due">
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Due" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Due" | translate}} </th>
<td mat-cell *matCellDef="let chargeOverviewData"> {{chargeOverviewData.amount}} </td>
</ng-container>
<ng-container matColumnDef="paid">
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Paid" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Paid" | translate}} </th>
<td mat-cell *matCellDef="let chargeOverviewData"> {{chargeOverviewData.amountPaid}} </td>
</ng-container>
<ng-container matColumnDef="waived">
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Waived" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Waived" | translate}} </th>
<td mat-cell *matCellDef="let chargeOverviewData"> {{chargeOverviewData.amountWaived}} </td>
</ng-container>
<ng-container matColumnDef="outstanding">
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Outstanding" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Outstanding" | translate}} </th>
<td mat-cell *matCellDef="let chargeOverviewData"> {{chargeOverviewData.amountOutstanding}} </td>
</ng-container>
@@ -45,4 +45,5 @@
<mat-paginator [pageSizeOptions]="[10, 20, 25]" showFirstLastButtons></mat-paginator>
</div>
</div>
</mat-card>
@@ -1,4 +1,15 @@
table {
width: 100%;
margin-top: 3%;
}
.tab-container {
padding: 1%;
margin: 1%;
padding: 1%;
margin: 1%;
}
.charges-card {
margin: 0 auto;
max-width: 80rem;
width: 90%;
}
@@ -7,28 +7,28 @@
<div fxLayout="column">
<mat-form-field>
<mat-label> {{ "labels.inputs.Amount" |translate}} </mat-label>
<mat-label> {{"labels.inputs.Amount" | translate}} </mat-label>
<input matInput required autofocus formControlName="amount">
<mat-error *ngIf="transactionForm.controls.amount.hasError('required')">
{{ "labels.inputs.Amount" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Amount" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field (click)="transactionDatePicker.open()">
<mat-label> {{ "labels.inputs.Transaction date" |translate}} </mat-label>
<mat-label> {{"labels.inputs.Transaction date" | translate}} </mat-label>
<input matInput [min]="minDate" [matDatepicker]="transactionDatePicker" required formControlName="transactionDate">
<mat-datepicker-toggle matSuffix [for]="transactionDatePicker"></mat-datepicker-toggle>
<mat-datepicker #transactionDatePicker></mat-datepicker>
<mat-error *ngIf="transactionForm.controls.transactionDate.hasError('required')">
{{ "labels.inputs.Transaction date" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Transaction date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
</div>
<div fxLayout="row" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../..','general']">{{ "labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!transactionForm.valid">{{ "labels.buttons.Submit" | translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../..','general']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!transactionForm.valid">{{"labels.buttons.Submit" | translate}}</button>
</div>
</form>
@@ -1,15 +1,15 @@
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column" class="container m-b-20">
<button mat-raised-button color="primary" [routerLink]="['pay']" *mifosxHasPermission="'PAY_CLIENTCHARGE'">
<fa-icon icon="dollar-sign" class="m-r-10"></fa-icon>
{{ "labels.buttons.Pay" | translate}}
{{"labels.buttons.Pay" | translate}}
</button>
<button mat-raised-button color="primary" (click)="waiveCharge()" *mifosxHasPermission="'WAIVE_CLIENTCHARGE'">
<i class="fa fa-flag"></i>
{{ "labels.buttons.Waive Charge" | translate}}
{{"labels.buttons.Waive Charge" | translate}}
</button>
<button mat-raised-button color="primary" (click)="deleteCharge()">
<fa-icon icon="trash" class="m-r-10"></fa-icon>
{{ "labels.buttons.Delete" | translate}}
{{"labels.buttons.Delete" | translate}}
</button>
</div>
@@ -32,41 +32,41 @@
<tbody>
<tr>
<td> {{ "labels.inputs.Currency" |translate}} </td>
<td> {{"labels.inputs.Currency" | translate}} </td>
<td> {{ chargeData.currency.name }} </td>
</tr>
<tr>
<td> {{ "labels.inputs.Charge Time Type" |translate}} </td>
<td> {{"labels.inputs.Charge Time Type" | translate}} </td>
<td> {{ chargeData.chargeTimeType.value }} </td>
</tr>
<tr>
<td> {{ "labels.inputs.Charge Calculation Type" |translate}} </td>
<td> {{"labels.inputs.Charge Calculation Type" | translate}} </td>
<td> {{ chargeData.chargeCalculationType.value }} </td>
</tr>
<tr>
<td> {{ "labels.inputs.Due as of" |translate}} </td>
<td> {{ chargeData.dueDate | dateFormat }} </td>
<td> {{"labels.inputs.Due as of" | translate}} </td>
<td> {{ chargeData.dueDate | dateFormat }} </td>
</tr>
<tr>
<td> {{ "labels.inputs.Due" |translate}} </td>
<td> {{"labels.inputs.Due" | translate}} </td>
<td> {{ chargeData.amount }} </td>
</tr>
<tr>
<td> {{ "labels.inputs.Paid" |translate}} </td>
<td> {{"labels.inputs.Paid" | translate}} </td>
<td> {{ chargeData.amountPaid }} </td>
</tr>
<tr>
<td> {{ "labels.inputs.Waived" |translate}} </td>
<td> {{"labels.inputs.Waived" | translate}} </td>
<td> {{ chargeData.amountWaived }} </td>
</tr>
<tr>
<td> {{ "labels.inputs.Outstanding" |translate}} </td>
<td> {{"labels.inputs.Outstanding" | translate}} </td>
<td> {{ chargeData.amountOutstanding }} </td>
</tr>
@@ -79,36 +79,36 @@
</mat-card-content>
<div fxLayout="row wrap" class="content" style="padding-top:10px">
<h1><b> {{ "labels.heading.Transactions" |translate}} </b></h1>
<h1><b> {{"labels.heading.Transactions" | translate}} </b></h1>
<table mat-table [dataSource]="chargeData.clientTransactionDatas" *ngIf="chargeData.clientTransactionDatas">
<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" [ngClass]="{'strikeoff':element.reversed}"> {{element.id}} </td>
</ng-container>
<ng-container matColumnDef="officeName">
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Office Name" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Office Name" | translate}} </th>
<td mat-cell *matCellDef="let element" [ngClass]="{'strikeoff':element.reversed}"> {{element.officeName }} </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" [ngClass]="{'strikeoff':element.reversed}"> {{element.type.value}} </td>
</ng-container>
<ng-container matColumnDef="transactionDate">
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Transaction Date" |translate}} </th>
<td mat-cell *matCellDef="let element" [ngClass]="{'strikeoff':element.reversed}"> {{element.date | dateFormat}} </td>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Transaction Date" | translate}} </th>
<td mat-cell *matCellDef="let element" [ngClass]="{'strikeoff':element.reversed}"> {{element.date | dateFormat}} </td>
</ng-container>
<ng-container matColumnDef="amount">
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Amount" |translate}} </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Amount" | translate}} </th>
<td mat-cell *matCellDef="let element" [ngClass]="{'strikeoff':element.reversed}"> {{element.amount | formatNumber }} </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" [ngClass]="{'strikeoff':element.reversed}">
<button mat-raised-button color="primary" (click)="undoTransaction(element.id)" class="delBtn">
<fa-icon icon="trash" class="m-r-10"></fa-icon>
@@ -124,7 +124,7 @@
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../','general']">{{ "labels.buttons.Back" | translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../','general']">{{"labels.buttons.Back" | translate}}</button>
</mat-card-actions>
</mat-card>
@@ -7,22 +7,22 @@
<mat-card-content fxLayout="column">
<mat-form-field (click)="transferDatePicker.open()">
<mat-label>{{ "labels.inputs.Transfer Date" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Transfer Date" | translate}}</mat-label>
<input matInput [matDatepicker]="transferDatePicker" required formControlName="transferDate">
<mat-datepicker-toggle matSuffix [for]="transferDatePicker"></mat-datepicker-toggle>
<mat-datepicker #transferDatePicker></mat-datepicker>
</mat-form-field>
<mat-form-field fxFlex>
<mat-label>{{ "labels.inputs.Note" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Note" | translate}}</mat-label>
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</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]="!acceptClientTransferForm.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]="!acceptClientTransferForm.valid">{{"labels.buttons.Confirm" | translate}}</button>
</mat-card-actions>
</form>
@@ -7,20 +7,20 @@
<mat-card-content>
<mat-form-field fxFlex (click)="activationDatePicker.open()">
<mat-label>{{ "labels.inputs.Activated On Date" |translate}}</mat-label>
<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="activateClientForm.controls.activationDate.hasError('required')">
{{ "labels.inputs.Activated On Date" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"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]="!activateClientForm.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]="!activateClientForm.valid">{{"labels.buttons.Confirm" | translate}}</button>
</mat-card-actions>
</form>
@@ -8,29 +8,29 @@
<div fxLayout="column">
<mat-form-field>
<mat-label>{{ "labels.inputs.Charge" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Charge" | translate}}</mat-label>
<mat-select required formControlName="chargeId">
<mat-option *ngFor="let clientCharge of clientChargeOptions" [value]="clientCharge.id">
{{ clientCharge.name + ' (' + clientCharge.currency.name + ')' }}
</mat-option>
</mat-select>
<mat-error *ngIf="clientChargeForm.controls.chargeId.hasError('required')">
{{ "labels.inputs.Charge" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Charge" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<div *ngIf="chargeDetails" fxLayout="column">
<mat-form-field>
<mat-label>{{ "labels.inputs.Amount" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Amount" | translate}}</mat-label>
<input type="number" required matInput formControlName="amount" />
<mat-error *ngIf="clientChargeForm.controls.amount.hasError('required')">
{{ "labels.inputs.Amount" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Amount" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{ "labels.inputs.Charge Calculation" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Charge Calculation" | translate}}</mat-label>
<mat-select formControlName="chargeCalculationType">
<mat-option *ngFor="let chargeCalculation of chargeDetails.chargeCalculationTypeOptions"
[value]="chargeCalculation.id">
@@ -40,7 +40,7 @@
</mat-form-field>
<mat-form-field>
<mat-label>{{ "labels.inputs.Charge time type" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Charge time type" | translate}}</mat-label>
<mat-select formControlName="chargeTimeType">
<mat-option *ngFor="let chargeTime of chargeDetails.chargeTimeTypeOptions" [value]="chargeTime.id">
{{ chargeTime.value }}
@@ -49,29 +49,29 @@
</mat-form-field>
<mat-form-field *ngIf="clientChargeForm.contains('dueDate')" (click)="dueDatePicker.open()">
<mat-label>{{ "labels.inputs.Due for collection on" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Due for collection on" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="dueDatePicker" required
formControlName="dueDate">
<mat-datepicker-toggle matSuffix [for]="dueDatePicker"></mat-datepicker-toggle>
<mat-datepicker #dueDatePicker></mat-datepicker>
<mat-error *ngIf="clientChargeForm.controls.dueDate.hasError('required')">
{{ "labels.inputs.Due for collection on" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Due for collection on" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field *ngIf="clientChargeForm.contains('feeOnMonthDay')" (click)="feeOnMonthDayPicker.open()">
<mat-label>{{ "labels.inputs.Due On" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Due On" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="feeOnMonthDayPicker" required
formControlName="feeOnMonthDay">
<mat-datepicker-toggle matSuffix [for]="feeOnMonthDayPicker"></mat-datepicker-toggle>
<mat-datepicker #feeOnMonthDayPicker></mat-datepicker>
<mat-error *ngIf="clientChargeForm.controls.feeOnMonthDay.hasError('required')">
{{ "labels.inputs.Due Date" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Due Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field *ngIf="clientChargeForm.contains('feeInterval')">
<mat-label>{{ "labels.inputs.Repeats Every" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Repeats Every" | translate}}</mat-label>
<input matInput formControlName="feeInterval" />
</mat-form-field>
@@ -80,8 +80,8 @@
</div>
<mat-card-actions fxLayoutGap="5px" fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center">
<button type="button" mat-raised-button [routerLink]="['../../']">{{ "labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!clientChargeForm.valid">{{ "labels.buttons.Submit" | translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!clientChargeForm.valid">{{"labels.buttons.Submit" | translate}}</button>
</mat-card-actions>
</mat-card-content>
@@ -8,59 +8,59 @@
<div fxLayout="column">
<mat-form-field>
<mat-label>{{ "labels.inputs.Collateral" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Collateral" | translate}}</mat-label>
<mat-select required formControlName="collateralId">
<mat-option *ngFor="let clientCollateral of clientCollateralOptions" [value]="clientCollateral.id">
{{ clientCollateral.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="clientCollateralForm.controls.collateralId.hasError('required')">
{{ "labels.inputs.Collateral" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Collateral" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<div *ngIf="collateralDetails" fxLayout="column">
<mat-form-field>
<mat-label>{{ "labels.inputs.name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.name" | translate}}</mat-label>
<input matInput required formControlName="name">
</mat-form-field>
<mat-form-field>
<mat-label>{{ "labels.inputs.Type/Quality" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Type/Quality" | translate}}</mat-label>
<input matInput required formControlName="quality">
</mat-form-field>
<mat-form-field>
<mat-label>{{ "labels.inputs.Unit Type" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Unit Type" | translate}}</mat-label>
<input matInput required formControlName="unitType">
</mat-form-field>
<mat-form-field>
<mat-label>{{ "labels.inputs.Base Price" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Base Price" | translate}}</mat-label>
<input matInput required formControlName="basePrice">
</mat-form-field>
<mat-form-field>
<mat-label>{{ "labels.inputs.Percentage To Base" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Percentage To Base" | translate}}</mat-label>
<input matInput required formControlName="pctToBase">
</mat-form-field>
<mat-form-field>
<mat-label>{{ "labels.inputs.Quantity" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Quantity" | translate}}</mat-label>
<input matInput required formControlName="quantity">
<mat-error *ngIf="clientCollateralForm.controls.quantity.hasError('required')">
{{ "labels.inputs.Quantity" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Quantity" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{ "labels.inputs.Total" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Total" | translate}}</mat-label>
<input matInput required formControlName="totalValue">
</mat-form-field>
<mat-form-field>
<mat-label>{{ "labels.inputs.Total Collateral Value" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Total Collateral Value" | translate}}</mat-label>
<input matInput required formControlName="totalCollateralValue">
</mat-form-field>
@@ -71,8 +71,8 @@
</mat-card-content>
<mat-card-actions fxLayoutGap="5px" fxLayout="row" fsLayout.xs="column" fxLayoutAlign="center">
<button type="button" mat-raised-button [routerLink]="['../../']">{{ "labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!clientCollateralForm.valid">{{ "labels.buttons.Submit" | translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!clientCollateralForm.valid">{{"labels.buttons.Submit" | translate}}</button>
</mat-card-actions>
</form>
@@ -9,14 +9,14 @@
<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="clientAssignStaffForm.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>
@@ -25,8 +25,8 @@
</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]="!clientAssignStaffForm.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]="!clientAssignStaffForm.valid">{{"labels.buttons.Confirm" | translate}}</button>
</mat-card-actions>
</form>
@@ -9,14 +9,14 @@
<div>
<mat-form-field fxFlex>
<mat-label>{{ "labels.inputs.Client Screen Reports" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Client Screen Reports" | translate}}</mat-label>
<mat-select formControlName="templateId">
<mat-option *ngFor="let template of templatesData" [value]="template.id">
{{ template.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="clientScreenReportForm.controls.templateId.hasError('required')">
{{ "labels.inputs.Screen Report" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Screen Report" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -25,9 +25,9 @@
</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 type="button" mat-raised-button [routerLink]="['../../']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!clientScreenReportForm.valid">
<fa-icon icon="cogs" size="sm" class="m-r-10"></fa-icon>{{ "labels.buttons.Generate Report" | translate}}</button>
<fa-icon icon="cogs" size="sm" class="m-r-10"></fa-icon>{{"labels.buttons.Generate Report" | translate}}</button>
</mat-card-actions>
</form>
@@ -43,7 +43,7 @@
<div fxLayoutAlign="end">
<button mat-stroked-button color="primary" [disabled]="!template" (click)="print()">
<fa-icon icon="file" class="m-r-10"></fa-icon>
{{ "labels.buttons.Print" | translate}}
{{"labels.buttons.Print" | translate}}
</button>
</div>
@@ -9,24 +9,24 @@
<div fxLayout="column">
<mat-form-field (click)="closureDatePicker.open()">
<mat-label>{{ "labels.inputs.Closed On Date" |translate}}</mat-label>
<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="closeClientForm.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="closeClientForm.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>
@@ -35,8 +35,8 @@
</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]="!closeClientForm.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]="!closeClientForm.valid">{{"labels.buttons.Confirm" | translate}}</button>
</mat-card-actions>
</form>
@@ -9,48 +9,48 @@
<div div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
<mat-form-field fxFlex="48%">
<mat-label> {{ "labels.inputs.User Name" |translate}} </mat-label>
<mat-label> {{"labels.inputs.User Name" | translate}} </mat-label>
<input matInput required formControlName="username">
<mat-error *ngIf="createSelfServiceForm.controls.username.hasError('required')">
{{ "labels.inputs.User Name" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.User Name" | 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.First Name" |translate}} </mat-label>
<mat-label> {{"labels.inputs.First Name" | translate}} </mat-label>
<input matInput required formControlName="firstname">
<mat-error *ngIf="createSelfServiceForm.controls.firstname.hasError('required')">
{{ "labels.inputs.First Name" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.First Name" | 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.Last Name" |translate}} </mat-label>
<mat-label> {{"labels.inputs.Last Name" | translate}} </mat-label>
<input matInput required formControlName="lastname">
<mat-error *ngIf="createSelfServiceForm.controls.lastname.hasError('required')">
{{ "labels.inputs.Last Name" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Last Name" | 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.Email" |translate}} </mat-label>
<mat-label> {{"labels.inputs.Email" | translate}} </mat-label>
<input matInput required formControlName="email">
<mat-error *ngIf="createSelfServiceForm.controls.email.hasError('required')">
{{ "labels.inputs.Email" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Email" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
<mat-error *ngIf="createSelfServiceForm.controls.email.hasError('email')">
{{ "labels.inputs.Email should be a" |translate}} <strong>{{ "labels.inputs.valid" |translate}}</strong> {{ "labels.inputs.email" |translate}}.
{{"labels.inputs.Email should be a" | translate}} <strong>{{"labels.inputs.valid" | translate}}</strong> {{"labels.inputs.email" | translate}}.
</mat-error>
</mat-form-field>
<mat-checkbox labelPosition="before" formControlName="sendPasswordToEmail" fxFlex="48%">
{{ "labels.inputs.Auto Generate Password" |translate}}
{{"labels.inputs.Auto Generate Password" | translate}}
</mat-checkbox>
<div fxFlex="48%" fxLayoutGap="5px" fxLayout="row">
<mat-checkbox labelPosition="before" formControlName="passwordNeverExpires">
{{ "labels.inputs.Override Password Expire Policy" |translate}} ?
{{"labels.inputs.Override Password Expire Policy" | translate}} ?
</mat-checkbox>
<i class="fa fa-question-circle fa fa-align-left" title="Determines if passwords do not expire for this user even if global configuration for password expiry is enabled"></i>
@@ -58,34 +58,34 @@
</div>
<mat-form-field fxFlex="48%" *ngIf="!hidePasswordField">
<mat-label> {{ "labels.inputs.Password" |translate}} </mat-label>
<mat-label> {{"labels.inputs.Password" | translate}} </mat-label>
<input matInput required formControlName="password" type="password">
<mat-error *ngIf="createSelfServiceForm.controls.password.hasError('required')">
{{ "labels.inputs.Password" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Password" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%" *ngIf="!hidePasswordField">
<mat-label> {{ "labels.inputs.Repeat Password" |translate}} </mat-label>
<mat-label> {{"labels.inputs.Repeat Password" | translate}} </mat-label>
<input matInput required formControlName="repeatPassword" type="password">
<mat-error *ngIf="createSelfServiceForm.controls.repeatPassword.hasError('required')">
{{ "labels.inputs.Repeat password" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Repeat password" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
<mat-error *ngIf="createSelfServiceForm.controls.repeatPassword.hasError('notequal')">
{{ "labels.inputs.Passwords should be" |translate}} <strong>{{ "labels.inputs.matched" |translate}}</strong>
{{"labels.inputs.Passwords should be" | translate}} <strong>{{"labels.inputs.matched" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label> {{ "labels.inputs.Status" |translate}} </mat-label>
<mat-label> {{"labels.inputs.Status" | translate}} </mat-label>
<input matInput formControlName="status">
</mat-form-field>
</div>
<mat-card-actions fxLayoutGap="5px" fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center">
<button type="button" mat-raised-button [routerLink]="['../../']">{{ "labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!createSelfServiceForm.valid">{{ "labels.buttons.Activate Self Service User" | translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!createSelfServiceForm.valid">{{"labels.buttons.Activate Self Service User" | translate}}</button>
<i class="fa fa-question-circle fa-2x" title="Activate Self Service User Help"></i>
</mat-card-actions>
@@ -7,20 +7,20 @@
<mat-card-content>
<mat-form-field fxFlex (click)="reactivationDatePicker.open()">
<mat-label>{{ "labels.inputs.Re Activation On Date" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Re Activation On Date" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="reactivationDatePicker" required formControlName="reactivationDate">
<mat-datepicker-toggle matSuffix [for]="reactivationDatePicker"></mat-datepicker-toggle>
<mat-datepicker #reactivationDatePicker></mat-datepicker>
<mat-error *ngIf="reactivateClientForm.controls.reactivationDate.hasError('required')">
{{ "labels.inputs.Reactivation Date" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Reactivation 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]="!reactivateClientForm.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]="!reactivateClientForm.valid">{{"labels.buttons.Confirm" | translate}}</button>
</mat-card-actions>
</form>
@@ -7,22 +7,22 @@
<mat-card-content fxLayout="column">
<mat-form-field (click)="transferDatePicker.open()">
<mat-label>{{ "labels.inputs.Transfer Date" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Transfer Date" | translate}}</mat-label>
<input matInput [matDatepicker]="transferDatePicker" required formControlName="transferDate">
<mat-datepicker-toggle matSuffix [for]="transferDatePicker"></mat-datepicker-toggle>
<mat-datepicker #transferDatePicker></mat-datepicker>
</mat-form-field>
<mat-form-field fxFlex>
<mat-label>{{ "labels.inputs.Note" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Note" | translate}}</mat-label>
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</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]="!rejectClientTransferForm.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]="!rejectClientTransferForm.valid">{{"labels.buttons.Confirm" | translate}}</button>
</mat-card-actions>
</form>
@@ -9,24 +9,24 @@
<div fxLayout="column">
<mat-form-field (click)="rejectionDatePicker.open()">
<mat-label>{{ "labels.inputs.Rejection Date" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Rejection Date" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="rejectionDatePicker" required formControlName="rejectionDate">
<mat-datepicker-toggle matSuffix [for]="rejectionDatePicker"></mat-datepicker-toggle>
<mat-datepicker #rejectionDatePicker></mat-datepicker>
<mat-error *ngIf="rejectClientForm.controls.rejectionDate.hasError('required')">
{{ "labels.inputs.Rejection Date" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Rejection 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.Rejection Reason" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Rejection Reason" | translate}}</mat-label>
<mat-select formControlName="rejectionReasonId">
<mat-option *ngFor="let reason of rejectionData" [value]="reason.id">
{{ reason.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="rejectClientForm.controls.rejectionReasonId.hasError('required')">
{{ "labels.inputs.Rejection Reason" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Rejection Reason" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -35,8 +35,8 @@
</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]="!rejectClientForm.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]="!rejectClientForm.valid">{{"labels.buttons.Confirm" | translate}}</button>
</mat-card-actions>
</form>
@@ -4,7 +4,7 @@
<div class="surveySelect" fxLayout="row">
<mat-label class="nameLabel">{{ "labels.inputs.Survey Name" |translate}}</mat-label>
<mat-label class="nameLabel">{{"labels.inputs.Survey Name" | translate}}</mat-label>
<mat-select (selectionChange)="onSurveyChange($event)">
<mat-option *ngFor="let surveyData of allSurveyData" [value]="surveyData">
{{surveyData.name}}
@@ -42,7 +42,7 @@
</div>
<div *ngIf="question.answer">{{ "labels.text.Your answer is" |translate}}: {{question.answer.text}}</div>
<div *ngIf="question.answer">{{"labels.text.Your answer is" | translate}}: {{question.answer.text}}</div>
</ng-container>
@@ -52,8 +52,8 @@
</div>
<button mat-raised-button class="button-cancel" color="danger" [routerLink]="['../../general']">{{ "labels.buttons.Cancel" |translate}}</button>
<button mat-raised-button class="button-submit" color="primary" (click)=submit()>{{ "labels.buttons.Submit" |translate}}</button>
<button mat-raised-button class="button-cancel" color="danger" [routerLink]="['../../general']">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button class="button-submit" color="primary" (click)=submit()>{{"labels.buttons.Submit" | translate}}</button>
</div>
@@ -9,29 +9,29 @@
<div fxLayout="column">
<mat-form-field>
<mat-label>{{ "labels.inputs.Office" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Office" | translate}}</mat-label>
<mat-select required formControlName="destinationOfficeId">
<mat-option *ngFor="let office of officeData" [value]="office.id">
{{ office.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="transferClientForm.controls.destinationOfficeId.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-form-field (click)="transferDatePicker.open()">
<mat-label>{{ "labels.inputs.Transfer Date" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Transfer Date" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="transferDatePicker" required formControlName="transferDate">
<mat-datepicker-toggle matSuffix [for]="transferDatePicker"></mat-datepicker-toggle>
<mat-datepicker #transferDatePicker></mat-datepicker>
<mat-error *ngIf="transferClientForm.controls.transferDate.hasError('required')">
{{ "labels.inputs.Transfer Date" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Transfer Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>{{ "labels.inputs.Note" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Note" | translate}}</mat-label>
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
@@ -40,8 +40,8 @@
</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]="!transferClientForm.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]="!transferClientForm.valid">{{"labels.buttons.Confirm" | translate}}</button>
</mat-card-actions>
</form>
@@ -7,20 +7,20 @@
<mat-card-content>
<mat-form-field fxFlex (click)="reopenedDatePicker.open()">
<mat-label>{{ "labels.inputs.Reopened On Date" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Reopened On Date" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="reopenedDatePicker" required formControlName="reopenedDate">
<mat-datepicker-toggle matSuffix [for]="reopenedDatePicker"></mat-datepicker-toggle>
<mat-datepicker #reopenedDatePicker></mat-datepicker>
<mat-error *ngIf="undoClientRejectionForm.controls.reopenedDate.hasError('required')">
{{ "labels.inputs.Reopened On Date" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Reopened 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]="!undoClientRejectionForm.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]="!undoClientRejectionForm.valid">{{"labels.buttons.Confirm" | translate}}</button>
</mat-card-actions>
</form>
@@ -7,22 +7,22 @@
<mat-card-content fxLayout="column">
<mat-form-field (click)="transferDatePicker.open()">
<mat-label>{{ "labels.inputs.Transfer Date" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Transfer Date" | translate}}</mat-label>
<input matInput [matDatepicker]="transferDatePicker" required formControlName="transferDate">
<mat-datepicker-toggle matSuffix [for]="transferDatePicker"></mat-datepicker-toggle>
<mat-datepicker #transferDatePicker></mat-datepicker>
</mat-form-field>
<mat-form-field fxFlex>
<mat-label>{{ "labels.inputs.Note" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Note" | translate}}</mat-label>
<textarea matInput formControlName="note" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</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]="!undoClientTransferForm.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]="!undoClientTransferForm.valid">{{"labels.buttons.Confirm" | translate}}</button>
</mat-card-actions>
</form>
@@ -9,14 +9,14 @@
<div fxLayout="column">
<mat-form-field fxFlex="48%">
<mat-label>{{ "labels.inputs.Default Savings Account" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Default Savings Account" | translate}}</mat-label>
<mat-select formControlName="savingsAccountId">
<mat-option *ngFor="let account of savingsAccounts" [value]="account.id">
{{ account.accountNo }}
</mat-option>
</mat-select>
<mat-error *ngIf="clientSavingsAccountForm.controls.savingsAccountId.hasError('required')">
{{ "labels.inputs.Account" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Account" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -25,8 +25,8 @@
</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]="!clientSavingsAccountForm.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]="!clientSavingsAccountForm.valid">{{"labels.buttons.Confirm" | translate}}</button>
</mat-card-actions>
</form>
@@ -1,7 +1,7 @@
<div class="container m-b-20" fxLayoutAlign="end">
<button mat-raised-button color="primary" [routerLink]="['../Take Survey']">
<fa-icon icon="edit" class="m-r-10"></fa-icon>
{{ "labels.buttons.Take Survey" |translate}}
{{"labels.buttons.Take Survey" | translate}}
</button>
</div>
@@ -10,7 +10,7 @@
<div fxLayout="row">
<mat-form-field fxFlex>
<mat-label>{{ 'labels.inputs.Filter' | translate }}</mat-label>
<mat-label>{{'labels.inputs.Filter' | translate}}</mat-label>
<input matInput (keyup)="applyFilter($event.target.value)">
</mat-form-field>
</div>
@@ -20,22 +20,22 @@
<table mat-table [dataSource]="dataSource" matSort>
<ng-container matColumnDef="surveyName">
<th mat-header-cell *matHeaderCellDef mat-sort-header="surveyName"> {{ "labels.inputs.Survey" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header="surveyName"> {{"labels.inputs.Survey" | translate}} </th>
<td mat-cell *matCellDef="let survey"> {{ survey.surveyName }} </td>
</ng-container>
<ng-container matColumnDef="createdBy">
<th mat-header-cell *matHeaderCellDef mat-sort-header="createdBy"> {{ "labels.inputs.Created By" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header="createdBy"> {{"labels.inputs.Created By" | translate}} </th>
<td mat-cell *matCellDef="let survey"> {{ survey.createdBy }} </td>
</ng-container>
<ng-container matColumnDef="date">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{ "labels.inputs.DateTime" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.DateTime" | translate}} </th>
<td mat-cell *matCellDef="let survey"> {{ survey.date | datetimeFormat }} </td>
</ng-container>
<ng-container matColumnDef="score">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{ "labels.inputs.Score" |translate}} </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Score" | translate}} </th>
<td mat-cell *matCellDef="let survey"> {{ survey.score | formatNumber }} </td>
</ng-container>
@@ -9,24 +9,24 @@
<div fxLayout="column">
<mat-form-field (click)="withdrawalDatePicker.open()">
<mat-label>{{ "labels.inputs.Withdrawal Date" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Withdrawal Date" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="withdrawalDatePicker" required formControlName="withdrawalDate">
<mat-datepicker-toggle matSuffix [for]="withdrawalDatePicker"></mat-datepicker-toggle>
<mat-datepicker #withdrawalDatePicker></mat-datepicker>
<mat-error *ngIf="withdrawClientForm.controls.withdrawalDate.hasError('required')">
{{ "labels.inputs.Withdrawal Date" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Withdrawal 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.Withdrawal Reason" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Withdrawal Reason" | translate}}</mat-label>
<mat-select formControlName="withdrawalReasonId">
<mat-option *ngFor="let reason of withdrawalData" [value]="reason.id">
{{ reason.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="withdrawClientForm.controls.withdrawalReasonId.hasError('required')">
{{ "labels.inputs.Withdrawal Reason" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Withdrawal Reason" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -35,8 +35,8 @@
</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]="!withdrawClientForm.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]="!withdrawClientForm.valid">{{"labels.buttons.Confirm" | translate}}</button>
</mat-card-actions>
</form>
@@ -11,20 +11,20 @@
</div>
<div fxLayoutAlign="center center" class="m-b-5">
<button class="client-image-button" mat-raised-button (click)="doAction('Upload Image')"
matTooltip="{{ 'tooltips.Upload Image' | translate }}" *mifosxHasPermission="'CREATE_CLIENTIMAGE'">
matTooltip="{{ 'tooltips.Upload Image' | translate}}" *mifosxHasPermission="'CREATE_CLIENTIMAGE'">
<i class="fa fa-upload"></i>
</button>
<button class="client-image-button" mat-raised-button (click)="doAction('Capture Image')"
matTooltip="{{ 'tooltips.Capture Image' | translate }}" *mifosxHasPermission="'CREATE_CLIENTIMAGE'">
matTooltip="{{ 'tooltips.Capture Image' | translate}}" *mifosxHasPermission="'CREATE_CLIENTIMAGE'">
<i class="fa fa-camera"></i>
</button>
<button class="client-image-button" mat-raised-button (click)="doAction('Delete Image')"
matTooltip="{{ 'tooltips.Delete Image' | translate }}" *mifosxHasPermission="'DELETE_CLIENTIMAGE'">
matTooltip="{{ 'tooltips.Delete Image' | translate}}" *mifosxHasPermission="'DELETE_CLIENTIMAGE'">
<i class="fa fa-trash"></i>
</button>
<br>
</div>
<p (click)="doAction('View Signature')" class="signature">{{"labels.inputs.View Signature" |translate}}</p>
<p (click)="doAction('View Signature')" class="signature">{{"labels.inputs.View Signature" | translate}}</p>
</div>
<div class="mat-typography client-card-title">
@@ -33,7 +33,7 @@
<h3 fxFlex="95%">
<i class="fa fa-stop" [ngClass]="clientViewData.status.code|statusLookup"
[matTooltip]="clientViewData.status.value"></i>
<b>{{"labels.inputs.Client Name" |translate}} :</b><mifosx-entity-name entityName="{{clientViewData.displayName}}"></mifosx-entity-name>
<b>{{"labels.inputs.Client Name" | translate}} :</b><mifosx-entity-name entityName="{{clientViewData.displayName}}"></mifosx-entity-name>
</h3>
<div fxFlex="5%">
<button mat-icon-button [matMenuTriggerFor]="clientMenu" aria-label="Client actions" yPosition="below">
@@ -46,15 +46,15 @@
<mat-card-subtitle>
<p>
<b>{{"labels.inputs.Office" |translate}} :</b><mifosx-entity-name entityName="{{clientViewData.officeName}}"></mifosx-entity-name><br />
<b>{{"labels.inputs.Client" |translate}} :</b> <mifosx-account-number accountNo="{{clientViewData.accountNo}}"></mifosx-account-number><br />
<b>{{"labels.inputs.External Id" |translate}}:</b><mifosx-external-identifier externalId="{{clientViewData.externalId}}" completed="true"></mifosx-external-identifier><br />
<span *ngIf="clientViewData.staffName"><b>{{"labels.inputs.Staff" |translate}} :</b> {{clientViewData.staffName ||
<b>{{"labels.inputs.Office" | translate}} :</b><mifosx-entity-name entityName="{{clientViewData.officeName}}"></mifosx-entity-name><br />
<b>{{"labels.inputs.Client" | translate}} :</b> <mifosx-account-number accountNo="{{clientViewData.accountNo}}"></mifosx-account-number><br />
<b>{{"labels.inputs.External Id" | translate}}:</b><mifosx-external-identifier externalId="{{clientViewData.externalId}}" completed="true"></mifosx-external-identifier><br />
<span *ngIf="clientViewData.staffName"><b>{{"labels.inputs.Staff" | translate}} :</b> {{clientViewData.staffName ||
'Unassigned'}}<br /></span>
<span *ngIf="clientViewData.activationDate"><b>{{"labels.inputs.Activation Date" |translate}} :</b> {{clientViewData.activationDate |
<span *ngIf="clientViewData.activationDate"><b>{{"labels.inputs.Activation Date" | translate}} :</b> {{clientViewData.activationDate |
dateFormat}}<br /></span>
<span *ngIf="clientViewData.groups.length > 0">
{{"labels.inputs.Member Of" |translate}} :
{{"labels.inputs.Member Of" | translate}} :
<span *ngFor="let group of clientViewData.groups">
<a>{{group.name}}</a>&nbsp;
</span>
@@ -70,28 +70,28 @@
<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 *ngIf="isActive()" mat-menu-item [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>
<button mat-menu-item [matMenuTriggerFor]="Actions">
<mat-icon matListIcon>
<fa-icon icon="tasks" size="sm"></fa-icon>
</mat-icon>
<span>{{ "labels.buttons.Actions" |translate}}</span>
<span>{{"labels.buttons.Actions" | translate}}</span>
</button>
<button mat-menu-item (click)="doAction('Assign Staff')" *ngIf="!clientViewData.staffId">
<mat-icon matListIcon>
<fa-icon icon="user-tie" size="sm"></fa-icon>
</mat-icon>
<span>{{ "labels.buttons.Assign Staff" |translate}}</span>
<span>{{"labels.buttons.Assign Staff" | translate}}</span>
</button>
<span *ngIf="clientViewData.staffId">
@@ -99,67 +99,67 @@
<mat-icon matListIcon>
<fa-icon icon="user-tie" size="sm"></fa-icon>
</mat-icon>
<span>{{ "labels.buttons.Unassign Staff" |translate}}</span>
<span>{{"labels.buttons.Unassign Staff" | translate}}</span>
</button>
</span>
<button mat-menu-item [matMenuTriggerFor]="More">{{ "labels.buttons.More" |translate}}</button>
<button mat-menu-item [matMenuTriggerFor]="More">{{"labels.buttons.More" | translate}}</button>
</mat-menu>
<mat-menu #accountApplications="matMenu">
<button mat-menu-item *mifosxHasPermission="'CREATE_LOAN'"
[routerLink]="['loans-accounts', 'create']">{{ "labels.buttons.New Loan Account" |translate}}</button>
[routerLink]="['loans-accounts', 'create']">{{"labels.buttons.New Loan Account" | translate}}</button>
<button mat-menu-item *mifosxHasPermission="'CREATE_SAVINGSACCOUNT'"
[routerLink]="['savings-accounts', 'create']">{{ "labels.buttons.New Savings Account" |translate}}</button>
[routerLink]="['savings-accounts', 'create']">{{"labels.buttons.New Savings Account" | translate}}</button>
<button mat-menu-item *mifosxHasPermission="'CREATE_SHAREACCOUNT'"
[routerLink]="['shares-accounts', 'create']">{{ "labels.buttons.New Share Account" |translate}}</button>
[routerLink]="['shares-accounts', 'create']">{{"labels.buttons.New Share Account" | translate}}</button>
<button mat-menu-item *mifosxHasPermission="'CREATE_RECURRINGDEPOSITACCOUNT'"
[routerLink]="['recurringdeposits', 'create-recurring-deposits-account']">{{ "labels.buttons.New Recurring Deposit Account" |translate}}</button>
[routerLink]="['recurringdeposits', 'create-recurring-deposits-account']">{{"labels.buttons.New Recurring Deposit Account" | translate}}</button>
<button mat-menu-item *mifosxHasPermission="'CREATE_FIXEDDEPOSITACCOUNT'"
[routerLink]="['fixed-deposits-accounts', 'create']">{{ "labels.buttons.New Fixed Deposits Account" |translate}}</button>
[routerLink]="['fixed-deposits-accounts', 'create']">{{"labels.buttons.New Fixed Deposits Account" | translate}}</button>
</mat-menu>
<mat-menu #Actions="matMenu">
<button mat-menu-item (click)="doAction('Close')">{{ "labels.buttons.Close" |translate}}</button>
<button mat-menu-item (click)="doAction('Transfer Client')">{{ "labels.buttons.Transfer Client" |translate}}</button>
<button mat-menu-item (click)="doAction('Close')">{{"labels.buttons.Close" | translate}}</button>
<button mat-menu-item (click)="doAction('Transfer Client')">{{"labels.buttons.Transfer Client" | translate}}</button>
<span *ngIf="clientViewData.status.value === 'Pending'"><button mat-menu-item
(click)="doAction('Activate')">{{ "labels.buttons.Activate" |translate}}</button></span>
(click)="doAction('Activate')">{{"labels.buttons.Activate" | translate}}</button></span>
<span *ngIf="clientViewData.status.value === 'Pending'"><button mat-menu-item
(click)="doAction('Withdraw')">{{ "labels.buttons.Withdraw" |translate}}</button></span>
(click)="doAction('Withdraw')">{{"labels.buttons.Withdraw" | translate}}</button></span>
<span *ngIf="clientViewData.status.value === 'Pending'"><button mat-menu-item
(click)="doAction('Reject')">{{ "labels.buttons.Reject" |translate}}</button></span>
(click)="doAction('Reject')">{{"labels.buttons.Reject" | translate}}</button></span>
<span *ngIf="clientViewData.status.value === 'Pending'"><button mat-menu-item
*mifosxHasPermission="'DELETE_CLIENT'" (click)="doAction('Delete')">{{ "labels.buttons.Delete" |translate}}</button></span>
*mifosxHasPermission="'DELETE_CLIENT'" (click)="doAction('Delete')">{{"labels.buttons.Delete" | translate}}</button></span>
<span *ngIf="clientViewData.status.value === 'Closed'"><button mat-menu-item
(click)="doAction('Reactivate')">{{ "labels.buttons.Reactivate" |translate}}</button></span>
(click)="doAction('Reactivate')">{{"labels.buttons.Reactivate" | translate}}</button></span>
<span *ngIf="clientViewData.status.value === 'Rejected'"><button mat-menu-item
(click)="doAction('Undo Rejection')">{{ "labels.buttons.Undo Rejection" |translate}}</button></span>
(click)="doAction('Undo Rejection')">{{"labels.buttons.Undo Rejection" | translate}}</button></span>
<span *ngIf="clientViewData.status.value === 'Transfer in progress'"><button mat-menu-item
(click)="doAction('Undo Transfer')">{{ "labels.buttons.Undo Transfer" |translate}}</button></span>
(click)="doAction('Undo Transfer')">{{"labels.buttons.Undo Transfer" | translate}}</button></span>
<span *ngIf="clientViewData.status.value === 'Transfer in progress'"><button mat-menu-item
(click)="doAction('Accept Transfer')">{{ "labels.buttons.Accept Transfer" |translate}}</button></span>
(click)="doAction('Accept Transfer')">{{"labels.buttons.Accept Transfer" | translate}}</button></span>
<span *ngIf="clientViewData.status.value === 'Transfer in progress'"><button mat-menu-item
(click)="doAction('Reject Transfer')">{{ "labels.buttons.Reject transfer" |translate}}</button></span>
(click)="doAction('Reject Transfer')">{{"labels.buttons.Reject transfer" | translate}}</button></span>
</mat-menu>
<mat-menu #More="matMenu">
<button mat-menu-item (click)="doAction('Add Charge')" *mifosxHasPermission="'CREATE_CLIENTCHARGE'"> {{ "labels.buttons.Add Charge" |translate}}
<button mat-menu-item (click)="doAction('Add Charge')" *mifosxHasPermission="'CREATE_CLIENTCHARGE'"> {{"labels.buttons.Add Charge" | translate}}
</button>
<button mat-menu-item (click)="doAction('Create Collateral')">{{ "labels.buttons.Create Collateral" |translate}}</button>
<button mat-menu-item (click)="doAction('Survey')">{{ "labels.buttons.Survey" |translate}}</button>
<button mat-menu-item (click)="doAction('Create Collateral')">{{"labels.buttons.Create Collateral" | translate}}</button>
<button mat-menu-item (click)="doAction('Survey')">{{"labels.buttons.Survey" | translate}}</button>
<button mat-menu-item (click)="doAction('Update Default Savings')"
*mifosxHasPermission="'UPDATESAVINGSACCOUNT_CLIENT'"> {{ "labels.buttons.Update Default Savings" |translate}} </button>
<button mat-menu-item (click)="doAction('Upload Signature')" *mifosxHasPermission="'CREATE_CLIENTIMAGE'"> {{ "labels.buttons.Upload Signature" |translate}} </button>
<button mat-menu-item (click)="doAction('Delete Signature')" *mifosxHasPermission="'DELETE_CLIENTIMAGE'"> {{ "labels.buttons.Delete Signature" |translate}} </button>
<button mat-menu-item (click)="doAction('Client Screen Reports')"> {{ "labels.buttons.Client Screen Reports" |translate}} </button>
*mifosxHasPermission="'UPDATESAVINGSACCOUNT_CLIENT'"> {{"labels.buttons.Update Default Savings" | translate}} </button>
<button mat-menu-item (click)="doAction('Upload Signature')" *mifosxHasPermission="'CREATE_CLIENTIMAGE'"> {{"labels.buttons.Upload Signature" | translate}} </button>
<button mat-menu-item (click)="doAction('Delete Signature')" *mifosxHasPermission="'DELETE_CLIENTIMAGE'"> {{"labels.buttons.Delete Signature" | translate}} </button>
<button mat-menu-item (click)="doAction('Client Screen Reports')"> {{"labels.buttons.Client Screen Reports" | translate}} </button>
<button mat-menu-item (click)="doAction('Create Standing Instructions')"
*mifosxHasPermission="'CREATE_STANDINGINSTRUCTION'"> {{ "labels.buttons.Create Standing Instructions" |translate}}</button>
*mifosxHasPermission="'CREATE_STANDINGINSTRUCTION'"> {{"labels.buttons.Create Standing Instructions" | translate}}</button>
<span *ngIf="clientViewData.status.value!='Transfer on hold'">
<button mat-menu-item (click)="doAction('View Standing Instructions')"
*mifosxHasPermission="'READ_STANDINGINSTRUCTION'"> {{ "labels.buttons.View Standing Instructions" |translate}}</button>
*mifosxHasPermission="'READ_STANDINGINSTRUCTION'"> {{"labels.buttons.View Standing Instructions" | translate}}</button>
</span>
<button mat-menu-item (click)="doAction('Create Self Service User')"> {{ "labels.buttons.Create Self Service User" |translate}}</button>
<button mat-menu-item (click)="doAction('Create Self Service User')"> {{"labels.buttons.Create Self Service User" | translate}}</button>
</mat-menu>
</mat-card-title-group>
@@ -170,27 +170,27 @@
<nav mat-tab-nav-bar class="navigation-tabs">
<a mat-tab-link [routerLink]="['./general']" routerLinkActive #general="routerLinkActive"
[active]="general.isActive">
{{"labels.inputs.General" |translate}}
{{"labels.inputs.General" | translate}}
</a>
<a mat-tab-link [routerLink]="['./address']" routerLinkActive #address="routerLinkActive"
[active]="address.isActive">
{{"labels.inputs.Address" |translate}}
{{"labels.inputs.Address" | translate}}
</a>
<a mat-tab-link [routerLink]="['./family-members']" routerLinkActive #familyMembers="routerLinkActive"
[active]="familyMembers.isActive">
{{"labels.inputs.Family Members" |translate}}
{{"labels.inputs.Family Members" | translate}}
</a>
<a mat-tab-link [routerLink]="['./identities']" routerLinkActive #identities="routerLinkActive"
[active]="identities.isActive" *mifosxHasPermission="'READ_CLIENTIDENTIFIER'">
{{"labels.inputs.Identities" |translate}}
{{"labels.inputs.Identities" | translate}}
</a>
<a mat-tab-link [routerLink]="['./documents']" routerLinkActive #documents="routerLinkActive"
[active]="documents.isActive" *mifosxHasPermission="'READ_DOCUMENT'">
{{"labels.inputs.Documents" |translate}}
{{"labels.inputs.Documents" | translate}}
</a>
<a mat-tab-link [routerLink]="['./notes']" routerLinkActive #notes="routerLinkActive" [active]="notes.isActive"
*mifosxHasPermission="'READ_CLIENTNOTE'">
{{"labels.inputs.Notes" |translate}}
{{"labels.inputs.Notes" | translate}}
</a>
<ng-container *ngFor="let clientDatatable of clientDatatables">
<a mat-tab-link [routerLink]="['./datatables',clientDatatable.registeredTableName]" routerLinkActive
@@ -1,6 +1,6 @@
<div fxLayout="column" fxLayoutGap="2%">
<h1 mat-dialog-title align="center">{{ "labels.heading.Capture Client Image" |translate}}</h1>
<h1 mat-dialog-title align="center">{{"labels.heading.Capture Client Image" | translate}}</h1>
<video #video width="540" height="480" autoplay></video>
@@ -12,16 +12,16 @@
<div fxFlex="20%" align="center">
<button #captureButton *ngIf="!isCaptured" mat-stroked-button color="primary" (click)="capture()">
{{ "labels.buttons.Capture" |translate}}
{{"labels.buttons.Capture" | translate}}
</button>
<button *ngIf="isCaptured" mat-stroked-button color="primary" (click)="recapture()">
<fa-icon icon="undo" size="sm" class="m-r-10"></fa-icon>{{ "labels.buttons.Recapture" |translate}}
<fa-icon icon="undo" size="sm" class="m-r-10"></fa-icon>{{"labels.buttons.Recapture" | translate}}
</button>
</div>
<mat-dialog-actions align="end">
<button mat-raised-button mat-dialog-close>{{ "labels.buttons.Cancel" |translate}}</button>
<button [disabled]="!isCaptured" mat-raised-button color="primary" [mat-dialog-close]="clientImageDataURL">{{ "labels.buttons.Upload" |translate}}</button>
<button mat-raised-button mat-dialog-close>{{"labels.buttons.Cancel" | translate}}</button>
<button [disabled]="!isCaptured" mat-raised-button color="primary" [mat-dialog-close]="clientImageDataURL">{{"labels.buttons.Upload" | translate}}</button>
</mat-dialog-actions>
</div>
@@ -1,15 +1,15 @@
<h1 mat-dialog-title>{{ "labels.heading.Delete Client Signature" |translate}}</h1>
<h1 mat-dialog-title>{{"labels.heading.Delete Client Signature" | translate}}</h1>
<div *ngIf="signatureId" mat-dialog-content>
<p>{{"labels.text.Delete clients signature" |translate}} ?</p>
<p>{{"labels.text.Delete clients signature" | translate}} ?</p>
</div>
<div *ngIf="!signatureId" mat-dialog-content>
<p>{{"labels.text.Client Signature is not provided." |translate}}</p>
<p>{{"labels.text.Client Signature is not provided." | translate}}</p>
</div>
<mat-dialog-actions align="end">
<button mat-raised-button mat-dialog-close>{{ "labels.buttons.Cancel" |translate}}</button>
<button mat-raised-button *ngIf="signatureId" color="warn" [mat-dialog-close]="{ delete: true, id: signatureId }">{{ "labels.buttons.Confirm" |translate}}</button>
<button mat-raised-button *ngIf="!signatureId" color="primary" [mat-dialog-close]="{ upload: true }">{{ "labels.buttons.Upload" |translate}}</button>
<button mat-raised-button mat-dialog-close>{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button *ngIf="signatureId" color="warn" [mat-dialog-close]="{ delete: true, id: signatureId }">{{"labels.buttons.Confirm" | translate}}</button>
<button mat-raised-button *ngIf="!signatureId" color="primary" [mat-dialog-close]="{ upload: true }">{{"labels.buttons.Upload" | translate}}</button>
</mat-dialog-actions>
@@ -1,13 +1,13 @@
<h1 mat-dialog-title>{{ "labels.heading.Edit Note" |translate}}</h1>
<h1 mat-dialog-title>{{"labels.heading.Edit Note" | translate}}</h1>
<div>
<form #formRef="ngForm" [formGroup]="noteForm">
<mat-form-field>
<textarea formControlName="note" matInput placeholder="Write a note ...."></textarea>
</mat-form-field>
<mat-dialog-actions align="end">
<button mat-raised-button mat-dialog-close>{{ "labels.buttons.Cancel" |translate}}</button>
<button mat-raised-button mat-dialog-close>{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="noteForm.pristine"
[mat-dialog-close]="{ editForm: noteForm }">{{ "labels.buttons.Confirm" |translate}}</button>
[mat-dialog-close]="{ editForm: noteForm }">{{"labels.buttons.Confirm" | translate}}</button>
</mat-dialog-actions>
</form>
</div>
</div>
@@ -1,8 +1,8 @@
<h1 mat-dialog-title>{{ "labels.heading.Unassign Staff" |translate}}</h1>
<h1 mat-dialog-title>{{"labels.heading.Unassign Staff" | translate}}</h1>
<div mat-dialog-content>
<p>{{ "labels.text.Unassign Staff client" |translate}} ?</p>
<p>{{"labels.text.Unassign Staff client" | 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,26 +1,26 @@
<h1 mat-dialog-title>{{ "labels.heading.Upload" |translate}} {{ entityType }} {{ "labels.heading.Documents" |translate}}</h1>
<h1 mat-dialog-title>{{"labels.heading.Upload" | translate}} {{ entityType }} {{"labels.heading.Documents" | translate}}</h1>
<div>
<form [formGroup]="uploadDocumentForm" fxLayout="column">
<mat-form-field fxFlex>
<mat-label>{{"labels.inputs.File Name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.File Name" | translate}}</mat-label>
<input formControlName="fileName" required matInput />
<mat-error *ngIf="uploadDocumentForm.controls.fileName.hasError('required')">
{{"labels.inputs.File Name" |translate}} is <strong>required</strong>
{{"labels.inputs.File Name" | translate}} is <strong>required</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex *ngIf="!documentIdentifier">
<mat-label>{{"labels.inputs.Description" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Description" | translate}}</mat-label>
<input formControlName="description" matInput />
</mat-form-field>
<mifosx-file-upload flex="60%" (change)="onFileSelect($event)"></mifosx-file-upload>
<mat-dialog-actions align="end">
<button mat-raised-button mat-dialog-close>{{ "labels.buttons.Cancel" |translate}}</button>
<button mat-raised-button mat-dialog-close>{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!uploadDocumentForm.valid"
[mat-dialog-close]="uploadDocumentForm.value">{{ "labels.buttons.Confirm" |translate}}</button>
[mat-dialog-close]="uploadDocumentForm.value">{{"labels.buttons.Confirm" | translate}}</button>
</mat-dialog-actions>
</form>
@@ -1,12 +1,12 @@
<h1 mat-dialog-title>{{ "labels.heading.Upload Client Image" |translate}}</h1>
<h1 mat-dialog-title>{{"labels.heading.Upload Client Image" | translate}}</h1>
<div>
<mifosx-file-upload flex="60%" (change)="onFileSelect($event)" acceptFilter=".png,.jpeg,.jpg"></mifosx-file-upload>
<mat-dialog-actions align="end">
<button mat-raised-button mat-dialog-close>{{ "labels.buttons.Cancel" |translate}}</button>
<button mat-raised-button color="primary" [disabled]="!image" [mat-dialog-close]="image">{{ "labels.buttons.Confirm" |translate}}</button>
<button mat-raised-button mat-dialog-close>{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!image" [mat-dialog-close]="image">{{"labels.buttons.Confirm" | translate}}</button>
</mat-dialog-actions>
</div>
@@ -1,12 +1,12 @@
<h1 mat-dialog-title>{{ "labels.heading.Upload Client Signature" |translate}}</h1>
<h1 mat-dialog-title>{{"labels.heading.Upload Client Signature" | translate}}</h1>
<div>
<mifosx-file-upload flex="60%" (change)="onFileSelect($event)" acceptFilter=".png,.jpeg,.jpg"></mifosx-file-upload>
<mat-dialog-actions align="end">
<button mat-raised-button mat-dialog-close>{{ "labels.buttons.Cancel" |translate}}</button>
<button mat-raised-button color="primary" [disabled]="!signature" [mat-dialog-close]="signature">{{ "labels.buttons.Confirm" |translate}}</button>
<button mat-raised-button mat-dialog-close>{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!signature" [mat-dialog-close]="signature">{{"labels.buttons.Confirm" | translate}}</button>
</mat-dialog-actions>
</div>
@@ -1,15 +1,15 @@
<h1 mat-dialog-title>{{ "labels.heading.View Client Signature" |translate}}</h1>
<h1 mat-dialog-title>{{"labels.heading.View Client Signature" | translate}}</h1>
<div *ngIf="signatureId" mat-dialog-content>
<img [src]="signatureImage" alt="Signature">
</div>
<div *ngIf="!signatureId" mat-dialog-content>
<p>{{ "labels.text.Client Signature is not provided." |translate}}</p>
<p>{{"labels.text.Client Signature is not provided." | translate}}</p>
</div>
<mat-dialog-actions align="end">
<button mat-raised-button mat-dialog-close>{{ "labels.buttons.Close" |translate}}</button>
<button mat-raised-button *ngIf="signatureId" color="warn" [mat-dialog-close]="{ delete: true }">{{ "labels.buttons.Delete" |translate}}</button>
<button mat-raised-button mat-dialog-close>{{"labels.buttons.Close" | translate}}</button>
<button mat-raised-button *ngIf="signatureId" color="warn" [mat-dialog-close]="{ delete: true }">{{"labels.buttons.Delete" | translate}}</button>
<button mat-raised-button color="primary" [mat-dialog-close]="{ upload: true }">{{ signatureId ? 'Reupload' : 'Upload'}}</button>
</mat-dialog-actions>
@@ -5,68 +5,68 @@
<div fxLayout="row wrap" fxLayout.lt-md="column" fxLayoutAlign="start center">
<mat-form-field fxFlex="calc(50% - 25px)">
<mat-label>{{"labels.inputs.First Name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.First Name" | translate}}</mat-label>
<input formControlName="firstName" required matInput />
<mat-error *ngIf="addFamilyMemberForm.controls.firstName.hasError('required')">
{{"labels.inputs.First Name" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.First Name" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="calc(50% - 25px)">
<mat-label>{{"labels.inputs.Middle Name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Middle Name" | translate}}</mat-label>
<input formControlName="middleName" matInput />
</mat-form-field>
<mat-form-field fxFlex="calc(50% - 25px)">
<mat-label>{{"labels.inputs.Last Name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Last Name" | translate}}</mat-label>
<input formControlName="lastName" required matInput />
<mat-error *ngIf="addFamilyMemberForm.controls.lastName.hasError('required')">
{{"labels.inputs.Last Name" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Last Name" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="calc(50% - 25px)">
<mat-label>{{"labels.inputs.Qualification" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Qualification" | translate}}</mat-label>
<input formControlName="qualification" matInput />
</mat-form-field>
<mat-form-field fxFlex="calc(50% - 25px)">
<mat-label>{{"labels.inputs.Age" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Age" | translate}}</mat-label>
<input type="number" formControlName="age" required matInput [min]="minAge" />
<mat-error *ngIf="addFamilyMemberForm.controls.age.hasError('required')">
{{"labels.inputs.Age" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required and cannot be negative" | translate}}</strong>
{{"labels.inputs.Age" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required and cannot be negative" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-checkbox formControlName="isDependent" labelPosition="before" fxFlex="calc(50% - 25px)">{{"labels.inputs.Is Dependent" |translate}}?
<mat-checkbox formControlName="isDependent" labelPosition="before" fxFlex="calc(50% - 25px)">{{"labels.inputs.Is Dependent" | translate}}?
</mat-checkbox>
<mat-form-field fxFlex="calc(50% - 25px)">
<mat-label>{{"labels.inputs.Relationship" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Relationship" | translate}}</mat-label>
<mat-select formControlName="relationshipId" required>
<mat-option *ngFor="let relation of addFamilyMemberTemplate.relationshipIdOptions" [value]="relation.id">
{{ relation.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="addFamilyMemberForm.controls.relationshipId.hasError('required')">
{{"labels.inputs.Relationship" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Relationship" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="calc(50% - 25px)">
<mat-label>{{"labels.inputs.Gender" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Gender" | translate}}</mat-label>
<mat-select formControlName="genderId" required>
<mat-option *ngFor="let gender of addFamilyMemberTemplate.genderIdOptions" [value]="gender.id">
{{ gender.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="addFamilyMemberForm.controls.genderId.hasError('required')">
{{"labels.inputs.Gender" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Gender" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="calc(50% - 25px)">
<mat-label>{{"labels.inputs.Profession" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Profession" | translate}}</mat-label>
<mat-select formControlName="professionId">
<mat-option *ngFor="let profession of addFamilyMemberTemplate.professionIdOptions" [value]="profession.id">
{{ profession.name }}
@@ -75,7 +75,7 @@
</mat-form-field>
<mat-form-field fxFlex="calc(50% - 25px)">
<mat-label>{{"labels.inputs.Marital Status" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Marital Status" | translate}}</mat-label>
<mat-select formControlName="maritalStatusId">
<mat-option *ngFor="let maritalStatus of addFamilyMemberTemplate.maritalStatusIdOptions"
[value]="maritalStatus.id">
@@ -86,21 +86,21 @@
<mat-form-field fxFlex (click)="dueDatePicker.open()">
<mat-label>{{"labels.inputs.Date Of Birth" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Date Of Birth" | translate}}</mat-label>
<input formControlName="dateOfBirth" matInput [max]="maxDate" [matDatepicker]="dueDatePicker"
required>
<mat-datepicker-toggle matSuffix [for]="dueDatePicker"></mat-datepicker-toggle>
<mat-datepicker #dueDatePicker></mat-datepicker>
<mat-error *ngIf="addFamilyMemberForm.controls.dateOfBirth.hasError('required')">
{{"labels.inputs.Date of birth" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Date Of Birth" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
</div>
<div fxLayout="row" fxLayoutGap="32px" fxLayoutAlign="center">
<button type="button" mat-raised-button [routerLink]="['../']">{{ "labels.buttons.Cancel" |translate}}</button>
<button type="submit" mat-raised-button color="primary" [disabled]="!addFamilyMemberForm.valid">{{ "labels.buttons.Submit" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../']">{{"labels.buttons.Cancel" | translate}}</button>
<button type="submit" mat-raised-button color="primary" [disabled]="!addFamilyMemberForm.valid">{{"labels.buttons.Submit" | translate}}</button>
</div>
</form>
@@ -5,36 +5,36 @@
<div fxLayout="row wrap" fxLayout.lt-md="column" fxLayoutAlign="start center">
<mat-form-field fxFlex="calc(50% - 25px)">
<mat-label>{{"labels.inputs.First Name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.First Name" | translate}}</mat-label>
<input formControlName="firstName" required matInput />
<mat-error *ngIf="editFamilyMemberForm.controls.firstName.hasError('required')">
{{"labels.inputs.First Name" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.First Name" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="calc(50% - 25px)">
<mat-label>{{"labels.inputs.Middle Name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Middle Name" | translate}}</mat-label>
<input formControlName="middleName" matInput />
</mat-form-field>
<mat-form-field fxFlex="calc(50% - 25px)">
<mat-label>{{"labels.inputs.Last Name" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Last Name" | translate}}</mat-label>
<input formControlName="lastName" required matInput />
<mat-error *ngIf="editFamilyMemberForm.controls.lastName.hasError('required')">
{{"labels.inputs.Last Name" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Last Name" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="calc(50% - 25px)">
<mat-label>{{"labels.inputs.Qualification" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Qualification" | translate}}</mat-label>
<input formControlName="qualification" matInput />
</mat-form-field>
<mat-form-field fxFlex="calc(50% - 25px)">
<mat-label>{{"labels.inputs.Age" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Age" | translate}}</mat-label>
<input type="number" formControlName="age" required matInput />
<mat-error *ngIf="editFamilyMemberForm.controls.age.hasError('required')">
{{"labels.inputs.Age" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required and cannot be negative" | translate}}</strong>
{{"labels.inputs.Age" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required and cannot be negative" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -42,31 +42,31 @@
</mat-checkbox>
<mat-form-field fxFlex="calc(50% - 25px)">
<mat-label>{{"labels.inputs.Relationship" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Relationship" | translate}}</mat-label>
<mat-select formControlName="relationshipId" required>
<mat-option *ngFor="let relation of addFamilyMemberTemplate.relationshipIdOptions" [value]="relation.id">
{{ relation.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="editFamilyMemberForm.controls.relationshipId.hasError('required')">
{{"labels.inputs.Relationship" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Relationship" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="calc(50% - 25px)">
<mat-label>{{"labels.inputs.Gender" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Gender" | translate}}</mat-label>
<mat-select formControlName="genderId" required>
<mat-option *ngFor="let gender of addFamilyMemberTemplate.genderIdOptions" [value]="gender.id">
{{ gender.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="editFamilyMemberForm.controls.genderId.hasError('required')">
{{"labels.inputs.Gender" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Gender" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="calc(50% - 25px)">
<mat-label>{{"labels.inputs.Profession" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Profession" | translate}}</mat-label>
<mat-select formControlName="professionId">
<mat-option *ngFor="let profession of addFamilyMemberTemplate.professionIdOptions" [value]="profession.id">
{{ profession.name }}
@@ -75,7 +75,7 @@
</mat-form-field>
<mat-form-field fxFlex="calc(50% - 25px)">
<mat-label>{{"labels.inputs.Marital Status" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Marital Status" | translate}}</mat-label>
<mat-select formControlName="maritalStatusId">
<mat-option *ngFor="let maritalStatus of addFamilyMemberTemplate.maritalStatusIdOptions"
[value]="maritalStatus.id">
@@ -86,21 +86,21 @@
<mat-form-field fxFlex (click)="dueDatePicker.open()">
<mat-label>{{"labels.inputs.Date Of Birth" |translate}}</mat-label>
<mat-label>{{"labels.inputs.Date Of Birth" | translate}}</mat-label>
<input formControlName="dateOfBirth" matInput [max]="maxDate" [matDatepicker]="dueDatePicker"
required>
<mat-datepicker-toggle matSuffix [for]="dueDatePicker"></mat-datepicker-toggle>
<mat-datepicker #dueDatePicker></mat-datepicker>
<mat-error *ngIf="editFamilyMemberForm.controls.dateOfBirth.hasError('required')">
{{"labels.inputs.Date of birth" |translate}} {{ "labels.commons.is" | translate }} <strong>{{ "labels.commons.required" | translate}}</strong>
{{"labels.inputs.Date Of Birth" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
</div>
<div fxLayout="row" fxLayoutGap="32px" fxLayoutAlign="center">
<button type="button" mat-raised-button [routerLink]="['../../']">{{ "labels.buttons.Cancel" |translate}}</button>
<button type="submit" mat-raised-button color="primary" [disabled]="editFamilyMemberForm.pristine||!editFamilyMemberForm.valid">{{ "labels.buttons.Submit" |translate}}</button>
<button type="button" mat-raised-button [routerLink]="['../../']">{{"labels.buttons.Cancel" | translate}}</button>
<button type="submit" mat-raised-button color="primary" [disabled]="editFamilyMemberForm.pristine||!editFamilyMemberForm.valid">{{"labels.buttons.Submit" | translate}}</button>
</div>
</form>
@@ -2,11 +2,11 @@
<router-outlet>
<h3>{{"labels.heading.Family Members" |translate}}</h3>
<h3>{{"labels.heading.Family Members" | translate}}</h3>
<div fxLayout="row" fxLayoutAlign="flex-end">
<button mat-raised-button color="primary" [routerLink]="['./add']">
<fa-icon icon="plus" class="m-r-10"></fa-icon>{{ "labels.buttons.Add" |translate}}
<fa-icon icon="plus" class="m-r-10"></fa-icon>{{"labels.buttons.Add" | translate}}
</button>
</div>
@@ -35,17 +35,17 @@
</div>
<p>
{{"labels.inputs.First Name" |translate}} : {{member.firstName}}<br />
{{"labels.inputs.Middle Name" |translate}} : {{member.middleName}}<br />
{{"labels.inputs.Last Name" |translate}} : {{member.lastName}}<br />
{{"labels.inputs.Qualification" |translate}} : {{member.qualification}}<br />
{{"labels.inputs.Mobile Number" |translate}} : {{member.mobileNumber}}<br />
{{"labels.inputs.Age" |translate}} : {{member.age}}<br />
{{"labels.inputs.Is Dependent" |translate}} : {{member.isDependent}}<br />
{{"labels.inputs.Martial Status" |translate}} : {{member.maritalStatus}}<br />
{{"labels.inputs.Gender" |translate}} : {{member.gender}}<br />
{{"labels.inputs.Profession" |translate}} : {{member.profession}}<br />
{{"labels.inputs.Date Of Birth" |translate}} : {{member.dateOfBirth | dateFormat}}<br />
{{"labels.inputs.First Name" | translate}} : {{member.firstName}}<br />
{{"labels.inputs.Middle Name" | translate}} : {{member.middleName}}<br />
{{"labels.inputs.Last Name" | translate}} : {{member.lastName}}<br />
{{"labels.inputs.Qualification" | translate}} : {{member.qualification}}<br />
{{"labels.inputs.Mobile Number" | translate}} : {{member.mobileNumber}}<br />
{{"labels.inputs.Age" | translate}} : {{member.age}}<br />
{{"labels.inputs.Is Dependent" | translate}} : {{member.isDependent}}<br />
{{"labels.inputs.Martial Status" | translate}} : {{member.maritalStatus}}<br />
{{"labels.inputs.Gender" | translate}} : {{member.gender}}<br />
{{"labels.inputs.Profession" | translate}} : {{member.profession}}<br />
{{"labels.inputs.Date Of Birth" | translate}} : {{member.dateOfBirth | dateFormat}}<br />
</p>
</mat-expansion-panel>

Some files were not shown because too many files have changed in this diff Show More