Merge pull request #1537 from josehernandezfintecheandomx/enhancement/i18n-login_home
Translate Login and Home
This commit is contained in:
@@ -13,16 +13,21 @@
|
||||
<td mat-cell *matCellDef="let identity">{{identity.id}}</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="description">
|
||||
<th mat-header-cell *matHeaderCellDef> Description </th>
|
||||
<td mat-cell *matCellDef="let identity"> {{identity.description}} </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="type">
|
||||
<th mat-header-cell *matHeaderCellDef> type </th>
|
||||
<td mat-cell *matCellDef="let identity"> {{identity.documentType.name}}</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="documentKey">
|
||||
<th mat-header-cell *matHeaderCellDef> Key </th>
|
||||
<td mat-cell *matCellDef="let identity"> {{identity.documentKey}} </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="description">
|
||||
<th mat-header-cell *matHeaderCellDef> Description </th>
|
||||
<td mat-cell *matCellDef="let identity"> {{identity.description}} </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="documents">
|
||||
<th mat-header-cell *matHeaderCellDef>Identity Documents </th>
|
||||
<td mat-cell *matCellDef="let identity">
|
||||
@@ -44,7 +49,7 @@
|
||||
<th mat-header-cell *matHeaderCellDef> Actions </th>
|
||||
<td mat-cell *matCellDef="let identity; let i = index">
|
||||
<button class="identity-action-button" mat-raised-button color="primary" (click)="uploadDocument(i,identity.id)" *mifosxHasPermission="'CREATE_DOCUMENT'">
|
||||
<fa-icon icon="cloud-upload-alt"></fa-icon>
|
||||
<fa-icon icon="eye"></fa-icon>
|
||||
</button>
|
||||
<button class="identity-action-button" mat-raised-button color="warn" (click)="deleteIdentifier(identity.clientId,identity.id,i)" *mifosxHasPermission="'DELETE_CLIENTIDENTIFIER'">
|
||||
<fa-icon icon="times"></fa-icon>
|
||||
@@ -57,4 +62,4 @@
|
||||
|
||||
</table>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -34,7 +34,7 @@ export class IdentitiesTabComponent {
|
||||
/** Client Id */
|
||||
clientId: string;
|
||||
/** Identities Columns */
|
||||
identitiesColumns: string[] = ['id', 'description', 'type', 'documents', 'status', 'actions'];
|
||||
identitiesColumns: string[] = ['id', 'description', 'type', 'documentKey', 'documents', 'status', 'actions'];
|
||||
|
||||
/** Identifiers Table */
|
||||
@ViewChild('identifiersTable', { static: true }) identifiersTable: MatTable<Element>;
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
<nav class="breadcrumb-wrapper">
|
||||
<ul class="breadcrumb">
|
||||
<span #breadcrumb class="breadcrumb-title">{{ breadcrumbs[breadcrumbs.length-1].label }}</span>
|
||||
<span #breadcrumb class="breadcrumb-title">{{ 'labels.breadcrumbs.' + breadcrumbs[breadcrumbs.length-1].label | translate }}</span>
|
||||
<span *ngIf="breadcrumbs.length-1 !== 0" class="separator">
|
||||
<li *ngFor="let breadcrumb of breadcrumbs; let last = last" class="breadcrumb-label">
|
||||
<span *ngIf="!last" class="breadcrumb-link">
|
||||
<a *ngIf="breadcrumb.url" [routerLink]="breadcrumb.url">{{ breadcrumb.label }}</a>
|
||||
<span *ngIf="!breadcrumb.url">{{ breadcrumb.label }}</span>
|
||||
<a *ngIf="breadcrumb.url" [routerLink]="breadcrumb.url">{{ breadcrumb.label | translate }}</a>
|
||||
<span *ngIf="!breadcrumb.url">{{ breadcrumb.label | translate }}</span>
|
||||
</span>
|
||||
<span *ngIf="last">{{ breadcrumb.label }}</span>
|
||||
<span *ngIf="last">{{ breadcrumb.label | translate }}</span>
|
||||
</li>
|
||||
</span>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<ng-template #templateBreadcrumb let-popover="popover">
|
||||
<h2>Breadcrumbs</h2>
|
||||
<h2>{{ 'labels.popovers.Breadcrumbs' | translate }}</h2>
|
||||
<p class="mw300">This will show the user's current location in the app.</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">Close</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();previousStep()">Back</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();nextStep()">Next</button>
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{ 'labels.buttons.Close' | translate }}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();previousStep()">{{ 'labels.buttons.Back' | translate }}</button>
|
||||
<button mat-raised-button color="primary" (click)="popover.close();nextStep()">{{ 'labels.buttons.Next' | translate }}</button>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<!-- TODO: Allow customization by organization -->
|
||||
<div class="app-brand" [routerLink]="['/home']">
|
||||
<img src="assets/images/MifosX_logo.png" alt="app-logo" class="app-logo">
|
||||
<span #logo class="app-logo-text text-muted">Mifos</span>
|
||||
<span #logo class="app-logo-text text-muted">{{ 'APP_NAME' | translate }}</span>
|
||||
</div>
|
||||
|
||||
<div class="app-user">
|
||||
@@ -20,10 +20,10 @@
|
||||
{{ username }}
|
||||
</span>
|
||||
<div #userPanel class="app-user-controls">
|
||||
<button class="xs-button" mat-icon-button matTooltip="Settings" [routerLink]="['/settings']">
|
||||
<button class="xs-button" mat-icon-button matTooltip="{{ 'tooltips.Settings' | translate }}" [routerLink]="['/settings']">
|
||||
<fa-icon icon="cog"></fa-icon>
|
||||
</button>
|
||||
<button class="xs-button" mat-icon-button matTooltip="Sign Out" (click)="logout()">
|
||||
<button class="xs-button" mat-icon-button matTooltip="{{ 'tooltips.Sign Out' | translate }}" (click)="logout()">
|
||||
<fa-icon icon="sign-out-alt"></fa-icon>
|
||||
</button>
|
||||
</div>
|
||||
@@ -34,7 +34,7 @@
|
||||
<div #frequentlyAccessed>
|
||||
<div class="mt-1 mb-1 nav-item-sep">
|
||||
<mat-divider></mat-divider>
|
||||
<span class="text-muted icon-menu-title">Frequently Accessed</span>
|
||||
<span class="text-muted icon-menu-title">{{ 'labels.menus.Frequently Accessed' | translate }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="icon-menu">
|
||||
@@ -47,7 +47,7 @@
|
||||
|
||||
<div class="nav-item-sep">
|
||||
<mat-divider></mat-divider>
|
||||
<span class="text-muted">Main Items</span>
|
||||
<span class="text-muted">{{ 'labels.menus.Main Items' | translate }}</span>
|
||||
</div>
|
||||
|
||||
<mat-nav-list>
|
||||
@@ -55,61 +55,61 @@
|
||||
<mat-icon matListIcon >
|
||||
<fa-icon icon="tachometer-alt" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<a matLine #dashboard>Dashboard</a>
|
||||
<a matLine #dashboard>{{ 'labels.menus.Dashboard' | translate }}</a>
|
||||
</mat-list-item>
|
||||
<mat-list-item [routerLink]="['/navigation']" matTooltip="Navigation">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="location-arrow" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<a matLine #navigation>Navigation</a>
|
||||
<a matLine #navigation>{{ 'labels.menus.Navigation' | translate }}</a>
|
||||
</mat-list-item>
|
||||
<mat-list-item [routerLink]="['/checker-inbox-and-tasks/checker-inbox']" matTooltip="Checker Inbox and Tasks">
|
||||
<mat-icon matListIcon>
|
||||
<i class="fa fa-check" ></i>
|
||||
</mat-icon>
|
||||
<a matLine>Checker Inbox and Tasks</a>
|
||||
<a matLine>{{ 'labels.menus.Checker Inbox and Tasks' | translate }}</a>
|
||||
</mat-list-item>
|
||||
<mat-list-item [routerLink]="['/collections/individual-collection-sheet']" matTooltip="Individual Collection Sheet">
|
||||
<mat-icon matListIcon>
|
||||
<i class="fa fa-tasks "></i>
|
||||
</mat-icon>
|
||||
<a matLine>Individual Collection Sheet</a>
|
||||
<a matLine>{{ 'labels.menus.Individual Collection Sheet' | translate }}</a>
|
||||
</mat-list-item>
|
||||
<mat-list-item [routerLink]="['/notifications']" matTooltip="Notifications">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="bell" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<a matLine>Notifications</a>
|
||||
<a matLine>{{ 'labels.menus.Notifications' | translate }}</a>
|
||||
</mat-list-item>
|
||||
<mat-list-item [routerLink]="['/accounting/journal-entries/frequent-postings']" matTooltip="Frequent Postings">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="sync" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<a matLine #frequentPostings>Frequent Postings</a>
|
||||
<a matLine #frequentPostings>{{ 'labels.menus.Frequent Postings' | translate }}</a>
|
||||
</mat-list-item>
|
||||
<mat-list-item [routerLink]="['/accounting/journal-entries/create']" matTooltip="Create Journal Entry">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="plus" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<a matLine #createJournalEntry>Create Journal Entry</a>
|
||||
<a matLine #createJournalEntry>{{ 'labels.menus.Create Journal Entry' | translate }}</a>
|
||||
</mat-list-item>
|
||||
<mat-list-item [routerLink]="['/accounting/chart-of-accounts']" matTooltip="Chart Of Accounts">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="sitemap" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<a matLine #chartOfAccounts>Chart of Accounts</a>
|
||||
<a matLine #chartOfAccounts>{{ 'labels.menus.Chart of Accounts' | translate }}</a>
|
||||
</mat-list-item>
|
||||
<mat-list-item (click)="showKeyboardShortcuts()" matTooltip="Keyboard Shortcuts">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="keyboard" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<a matLine>Keyboard Shortcuts</a>
|
||||
<a matLine>{{ 'labels.menus.Keyboard Shortcuts' | translate }}</a>
|
||||
</mat-list-item>
|
||||
<mat-list-item matTooltip="Help">
|
||||
<mat-icon matListIcon (click)="help()">
|
||||
<fa-icon icon="question-circle" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<a matLine>Help</a>
|
||||
<a matLine>{{ 'labels.menus.Help' | translate }}</a>
|
||||
</mat-list-item>
|
||||
</mat-nav-list>
|
||||
|
||||
@@ -130,7 +130,7 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateUserPanel let-popover="popover">
|
||||
<h2>User Panel</h2>
|
||||
<h2>{{ 'labels.menus.User Panel' | translate }}</h2>
|
||||
<p class="mw300">This section contains user name, user photograph, user settings and sign out button.</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">Close</button>
|
||||
@@ -140,7 +140,7 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateFrequentlyAccessed let-popover="popover">
|
||||
<h2>Frequently Accessed</h2>
|
||||
<h2>{{ 'labels.menus.Frequently Accessed' | translate }}</h2>
|
||||
<p class="mw300">This contains shortcut to the frequently accessed components.</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">Close</button>
|
||||
@@ -150,7 +150,7 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateDashboard let-popover="popover">
|
||||
<h2>Dashboard</h2>
|
||||
<h2>{{ 'labels.menus.Dashboard' | translate }}</h2>
|
||||
<p class="mw300">This will navigate the user to dashboard component.</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">Close</button>
|
||||
@@ -160,7 +160,7 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateNavigation let-popover="popover">
|
||||
<h2>Navigation</h2>
|
||||
<h2>{{ 'labels.menus.Navigation' | translate }}</h2>
|
||||
<p class="mw300">This will navigate the user to entity navigation screen.</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">Close</button>
|
||||
@@ -170,7 +170,7 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateFrequentPostings let-popover="popover">
|
||||
<h2>Frequent Postings</h2>
|
||||
<h2>{{ 'labels.menus.Frequent Postings' | translate }}</h2>
|
||||
<p class="mw300">Shortcut to Journal entry screen with accouting rules in place</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">Close</button>
|
||||
@@ -180,7 +180,7 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateCreateJournalEntry let-popover="popover">
|
||||
<h2>Create Journal Entry</h2>
|
||||
<h2>{{ 'labels.menus.Create Journal Entry' | translate }}</h2>
|
||||
<p class="mw300">Shortcut to the create journal entry screen.</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">Close</button>
|
||||
@@ -190,7 +190,7 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateChartOfAccounts let-popover="popover">
|
||||
<h2>Chart of Accounts</h2>
|
||||
<h2>{{ 'labels.menus.Chart of Accounts' | translate }}</h2>
|
||||
<p class="mw300">Shortcut to chart of accounts screen to add/modify the ledger accounts.</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">Close</button>
|
||||
|
||||
@@ -13,31 +13,31 @@
|
||||
|
||||
<a #institution mat-tab-link class="tab-link" [matMenuTriggerFor]="institutionMenu" #institutionMenuTrigger="matMenuTrigger">
|
||||
<fa-icon class="mr-05" icon="university" size="lg"></fa-icon>
|
||||
{{ 'Institution' | translate }}
|
||||
{{ 'labels.menus.Institution' | translate }}
|
||||
</a>
|
||||
|
||||
<span fxHide.lt-lg="true">
|
||||
|
||||
<a #accounting mat-tab-link class="tab-link" [routerLink]="['/accounting']">
|
||||
<fa-icon class="mr-05" icon="money-bill-alt" size="lg"></fa-icon>
|
||||
{{ 'Accounting' | translate }}
|
||||
{{ 'labels.menus.Accounting' | translate }}
|
||||
</a>
|
||||
<a #reports mat-tab-link class="tab-link" [matMenuTriggerFor]="reportsMenu" #reportsMenuTrigger="matMenuTrigger" >
|
||||
<fa-icon class="mr-05" icon="chart-bar" size="lg"></fa-icon>
|
||||
{{ 'Reports' | translate }}
|
||||
{{ 'labels.menus.Reports' | translate }}
|
||||
</a>
|
||||
<a #admin mat-tab-link class="tab-link" [matMenuTriggerFor]="adminMenu" #adminMenuTrigger="matMenuTrigger">
|
||||
<fa-icon class="mr-05" icon="shield-alt" size="lg"></fa-icon>
|
||||
{{ 'Admin' | translate }}
|
||||
{{ 'labels.menus.Admin' | translate }}
|
||||
</a>
|
||||
<a #selfService mat-tab-link class="tab-link" [matMenuTriggerFor]="selfServiceMenu" #selfServiceMenuTrigger="matMenuTrigger">
|
||||
<fa-icon class="mr-05" icon="users" size="lg"></fa-icon>
|
||||
{{ 'Self Service' | translate }}
|
||||
{{ 'labels.menus.Self Service' | translate }}
|
||||
</a>
|
||||
|
||||
<a #configWizard mat-tab-link class="tab-link" (click)="openDialog()">
|
||||
<fa-icon class="mr-05" icon="info" size="lg"></fa-icon>
|
||||
Configuration Wizard
|
||||
{{ 'labels.menus.Configuration Wizard' | translate }}
|
||||
</a>
|
||||
|
||||
</span>
|
||||
@@ -57,7 +57,7 @@
|
||||
<div #themePicker>
|
||||
<mifosx-theme-picker fxHide.lt-md></mifosx-theme-picker>
|
||||
</div>
|
||||
|
||||
|
||||
<div #notifications>
|
||||
<mifosx-notifications-tray fxHide.lt-md></mifosx-notifications-tray>
|
||||
</div>
|
||||
@@ -70,40 +70,40 @@
|
||||
</mat-toolbar>
|
||||
|
||||
<mat-menu #institutionMenu="matMenu" [overlapTrigger]="false">
|
||||
<button mat-menu-item routerLink="/clients">Clients</button>
|
||||
<button mat-menu-item routerLink="/groups">Groups</button>
|
||||
<button mat-menu-item routerLink="/centers">Centers</button>
|
||||
<button mat-menu-item routerLink="/clients">{{ 'labels.menus.Clients' | translate }}</button>
|
||||
<button mat-menu-item routerLink="/groups">{{ 'labels.menus.Groups' | translate }}</button>
|
||||
<button mat-menu-item routerLink="/centers">{{ 'labels.menus.Centers' | translate }}</button>
|
||||
<span fxHide.lg>
|
||||
<button mat-menu-item [routerLink]="['/accounting']">Accounting</button>
|
||||
<button mat-menu-item [matMenuTriggerFor]="reportsMenu">Reports</button>
|
||||
<button mat-menu-item [matMenuTriggerFor]="adminMenu">Admin</button>
|
||||
<button mat-menu-item [matMenuTriggerFor]="selfServiceMenu">Self Service</button>
|
||||
<button mat-menu-item [routerLink]="['/accounting']">{{ 'labels.menus.Accounting' | translate }}</button>
|
||||
<button mat-menu-item [matMenuTriggerFor]="reportsMenu">{{ 'labels.menus.Reports' | translate }}</button>
|
||||
<button mat-menu-item [matMenuTriggerFor]="adminMenu">{{ 'labels.menus.Admin' | translate }}</button>
|
||||
<button mat-menu-item [matMenuTriggerFor]="selfServiceMenu">{{ 'labels.menus.Self Service' | translate }}</button>
|
||||
</span>
|
||||
</mat-menu>
|
||||
|
||||
<!-- Toolbar Menus -->
|
||||
<mat-menu #reportsMenu="matMenu" [overlapTrigger]="false">
|
||||
<button mat-menu-item [routerLink]="['/reports']">All</button>
|
||||
<button mat-menu-item [routerLink]="['/reports', 'Client']">Clients</button>
|
||||
<button mat-menu-item [routerLink]="['/reports', 'Loan']">Loans</button>
|
||||
<button mat-menu-item [routerLink]="['/reports', 'Savings']">Savings</button>
|
||||
<button mat-menu-item [routerLink]="['/reports', 'Fund']">Funds</button>
|
||||
<button mat-menu-item [routerLink]="['/reports', 'Accounting']">Accounting</button>
|
||||
<button mat-menu-item [routerLink]="['/xbrl']">XBRL</button>
|
||||
<button mat-menu-item [routerLink]="['/reports']">{{ 'labels.menus.All' | translate }}</button>
|
||||
<button mat-menu-item [routerLink]="['/reports', 'Client']">{{ 'labels.menus.Clients' | translate }}</button>
|
||||
<button mat-menu-item [routerLink]="['/reports', 'Loan']">{{ 'labels.menus.Loans' | translate }}</button>
|
||||
<button mat-menu-item [routerLink]="['/reports', 'Savings']">{{ 'labels.menus.Savings' | translate }}</button>
|
||||
<button mat-menu-item [routerLink]="['/reports', 'Fund']">{{ 'labels.menus.Funds' | translate }}</button>
|
||||
<button mat-menu-item [routerLink]="['/reports', 'Accounting']">{{ 'labels.menus.Accounting' | translate }}</button>
|
||||
<button mat-menu-item [routerLink]="['/xbrl']">{{ 'labels.menus.XBRL' | translate }}</button>
|
||||
</mat-menu>
|
||||
|
||||
<mat-menu #adminMenu="matMenu" [overlapTrigger]="false">
|
||||
<button mat-menu-item [routerLink]="['/users']">Users</button>
|
||||
<button mat-menu-item [routerLink]="['/organization']">Organization</button>
|
||||
<button mat-menu-item [routerLink]="['/system']">System</button>
|
||||
<button mat-menu-item [routerLink]="['/products']">Products</button>
|
||||
<button mat-menu-item [routerLink]="['/templates']">Templates</button>
|
||||
<button mat-menu-item [routerLink]="['/users']">{{ 'labels.menus.Users' | translate }}</button>
|
||||
<button mat-menu-item [routerLink]="['/organization']">{{ 'labels.menus.Organization' | translate }}</button>
|
||||
<button mat-menu-item [routerLink]="['/system']">{{ 'labels.menus.System' | translate }}</button>
|
||||
<button mat-menu-item [routerLink]="['/products']">{{ 'labels.menus.Products' | translate }}</button>
|
||||
<button mat-menu-item [routerLink]="['/templates']">{{ 'labels.menus.Templates' | translate }}</button>
|
||||
</mat-menu>
|
||||
|
||||
<mat-menu #selfServiceMenu="matMenu" [overlapTrigger]="false">
|
||||
<button mat-menu-item [routerLink]="['/self-service/users']">User Management</button>
|
||||
<button mat-menu-item [routerLink]="['/self-service/app-configuration']">App Configuration</button>
|
||||
<button mat-menu-item [routerLink]="['/self-service/task-management']">Task Management</button>
|
||||
<button mat-menu-item [routerLink]="['/self-service/users']">{{ 'labels.menus.User Management' | translate }}</button>
|
||||
<button mat-menu-item [routerLink]="['/self-service/app-configuration']">{{ 'labels.menus.App Configuration' | translate }}</button>
|
||||
<button mat-menu-item [routerLink]="['/self-service/task-management']">{{ 'labels.menus.Task Management' | translate }}</button>
|
||||
</mat-menu>
|
||||
|
||||
<!-- Application User Help Menu -->
|
||||
@@ -112,31 +112,31 @@
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="question-circle" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<span>Help</span>
|
||||
<span>{{ 'labels.menus.Help' | translate }}</span>
|
||||
</button>
|
||||
<button mat-menu-item [routerLink]="['/profile']">
|
||||
<mat-icon>
|
||||
<fa-icon icon="user" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<span>Profile</span>
|
||||
<span>{{ 'labels.menus.Profile' | translate }}</span>
|
||||
</button>
|
||||
<button mat-menu-item [routerLink]="['/settings']">
|
||||
<mat-icon>
|
||||
<fa-icon icon="cog" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<span>Settings</span>
|
||||
<span>{{ 'labels.menus.Settings' | translate }}</span>
|
||||
</button>
|
||||
<button mat-menu-item (click)="logout()" id="logout">
|
||||
<mat-icon>
|
||||
<fa-icon icon="sign-out-alt" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<span>Sign Out</span>
|
||||
<span>{{ 'labels.menus.Sign Out' | translate }}</span>
|
||||
</button>
|
||||
</mat-menu>
|
||||
|
||||
|
||||
<ng-template #templateInstitution let-popover="popover">
|
||||
<h2>Institution</h2>
|
||||
<h2>{{ 'labels.menus.Institution' | translate }}</h2>
|
||||
<p class="mw300">This button will be used for individual accounts, groups and centers</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">Close</button>
|
||||
@@ -145,7 +145,7 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateAccounting let-popover="popover">
|
||||
<h2>Accounting</h2>
|
||||
<h2>{{ 'labels.menus.Accounting' | translate }}</h2>
|
||||
<p class="mw300">This button opens the menu to access the system tools required by the accounting department.</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">Close</button>
|
||||
@@ -155,7 +155,7 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateReports let-popover="popover">
|
||||
<h2>Reports</h2>
|
||||
<h2>{{ 'labels.menus.Reports' | translate }}</h2>
|
||||
<p class="mw300">Dropdown provides access to all types of system reports including the defualt reports provided by the Mifos and system reports that will be developed by the organization.</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">Close</button>
|
||||
@@ -165,7 +165,7 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateAdmin let-popover="popover">
|
||||
<h2>Admin</h2>
|
||||
<h2>{{ 'labels.menus.Admin' | translate }}</h2>
|
||||
<p class="mw300">This is where the system is setup according to your organization including users, organization, products and templates.</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">Close</button>
|
||||
@@ -175,7 +175,7 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateSelfService let-popover="popover">
|
||||
<h2>Self Service</h2>
|
||||
<h2>{{ 'labels.menus.Self Service' | translate }}</h2>
|
||||
<p class="mw300">Dropdown provides access to self service user administrative portal, app configuration and task management.</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">Close</button>
|
||||
@@ -185,7 +185,7 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateConfigWizard let-popover="popover">
|
||||
<h2>Configuration Wizard</h2>
|
||||
<h2>{{ 'labels.menus.Configuration Wizard' | translate }}</h2>
|
||||
<p class="mw300">This buttons opens up the configuration wizard to help the user in initial setup and application tour.</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">Close</button>
|
||||
@@ -195,7 +195,7 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateGlobalSearch let-popover="popover">
|
||||
<h2>Global Search</h2>
|
||||
<h2>{{ 'labels.menus.Global Search' | translate }}</h2>
|
||||
<p class="mw300">This will allow the user to quickly navigate the system selecting entity while searching makes the navigation more robust.</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">Close</button>
|
||||
@@ -205,7 +205,7 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateLanguageSelector let-popover="popover">
|
||||
<h2>Language Selector</h2>
|
||||
<h2>{{ 'labels.menus.Language Selector' | translate }}</h2>
|
||||
<p class="mw300">Organization can select a language here from the available languages here.</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">Close</button>
|
||||
@@ -215,7 +215,7 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateThemePicker let-popover="popover">
|
||||
<h2>Theme Picker</h2>
|
||||
<h2>{{ 'labels.menus.Theme Picker' | translate }}</h2>
|
||||
<p class="mw300">This will be used to choose a theme as per organization will.</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">Close</button>
|
||||
@@ -225,7 +225,7 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateNotifications let-popover="popover">
|
||||
<h2>Notifications</h2>
|
||||
<h2>{{ 'labels.menus.Notifications' | translate }}</h2>
|
||||
<p class="mw300">This shows all the notifications.</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">Close</button>
|
||||
@@ -235,7 +235,7 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #templateAppMenu let-popover="popover">
|
||||
<h2>Application Menu</h2>
|
||||
<h2>{{ 'labels.menus.Application Menu' | translate }}</h2>
|
||||
<p class="mw300">This will have logged in user settings and sign out button.</p>
|
||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">Close</button>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<div #buttonDashboard class="in-block">
|
||||
<button mat-raised-button color="primary" [routerLink]="['/dashboard']">
|
||||
<fa-icon icon="tachometer-alt"></fa-icon>
|
||||
Dashboard
|
||||
{{ 'labels.buttons.Dashboard' | translate }}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -15,15 +15,15 @@
|
||||
|
||||
<mat-card-header>
|
||||
<mat-card-title class="title">
|
||||
Welcome, {{ username }}!
|
||||
{{ 'labels.texts.Welcome' | translate }}, {{ username }}!
|
||||
</mat-card-title>
|
||||
</mat-card-header>
|
||||
|
||||
<mat-card-content #searchActivity>
|
||||
|
||||
|
||||
<div fxLayout="column">
|
||||
<mat-form-field>
|
||||
<mat-label>Search Activity</mat-label>
|
||||
<mat-label>{{ 'labels.placeholders.Search Activity' | translate }}</mat-label>
|
||||
<input matInput [matAutocomplete]="activitySearch" [formControl]="searchText">
|
||||
</mat-form-field>
|
||||
</div>
|
||||
|
||||
@@ -12,6 +12,7 @@ import { DashboardComponent } from './dashboard/dashboard.component';
|
||||
import { AmountCollectedPieComponent } from './dashboard/amount-collected-pie/amount-collected-pie.component';
|
||||
import { AmountDisbursedPieComponent } from './dashboard/amount-disbursed-pie/amount-disbursed-pie.component';
|
||||
import { ClientTrendsBarComponent } from './dashboard/client-trends-bar/client-trends-bar.component';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
|
||||
/**
|
||||
* Home Component
|
||||
@@ -22,7 +23,8 @@ import { ClientTrendsBarComponent } from './dashboard/client-trends-bar/client-t
|
||||
imports: [
|
||||
SharedModule,
|
||||
PipesModule,
|
||||
HomeRoutingModule
|
||||
HomeRoutingModule,
|
||||
TranslateModule.forRoot(),
|
||||
],
|
||||
declarations: [
|
||||
HomeComponent,
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
</h3>
|
||||
</div>
|
||||
|
||||
<div *ngIf="loanDetailsData.summary" class="loansOverview mat-typography" fxFlex="50%">
|
||||
<div *ngIf="loanDetailsData.summary" class="loans-overview mat-typography" fxFlex="50%">
|
||||
<h3> Loan Account OverView </h3>
|
||||
<span>Current Balance: {{loanDetailsData.currency.displaySymbol}}
|
||||
{{loanDetailsData.summary.totalOutstanding | number}}</span><br>
|
||||
@@ -47,7 +47,7 @@
|
||||
|
||||
<ng-container *ngFor="let item of buttonConfig.singleButtons" class="loan-span">
|
||||
<button mat-raised-button *mifosxHasPermission="item.taskPermissionName" (click)="loanAction(item.name)">
|
||||
<i class="{{item.icon}}"></i> {{item.name}} </button>
|
||||
<i ng-class="{{item.icon}}"></i> {{item.name}} </button>
|
||||
</ng-container>
|
||||
|
||||
<ng-container *ngIf="buttonConfig.optionsPayment.length" class="loan-span">
|
||||
|
||||
@@ -35,6 +35,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
.loansOverview{
|
||||
.loans-overview{
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
<span matPrefix>
|
||||
<fa-icon icon="user-circle" size="lg"></fa-icon>
|
||||
</span>
|
||||
<mat-label>Username</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Username' | translate }}</mat-label>
|
||||
<input matInput type="text" autocomplete="off" formControlName="username">
|
||||
<mat-error *ngIf="loginForm.controls.username.hasError('required')">
|
||||
Username is <strong>required</strong>
|
||||
{{ 'labels.inputs.Username' | translate }} <strong>{{ 'labels.commons.is required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<span matPrefix>
|
||||
<fa-icon icon="lock" size="lg"></fa-icon>
|
||||
</span>
|
||||
<mat-label>Password</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Password' | translate }}</mat-label>
|
||||
<input matInput type="{{ passwordInputType }}" formControlName="password">
|
||||
<button mat-button *ngIf="loginForm.controls.password.value && !loading" matSuffix mat-icon-button
|
||||
(mousedown)="passwordInputType = 'text'" (mouseup)="passwordInputType = 'password'">
|
||||
@@ -23,19 +23,19 @@
|
||||
<fa-icon *ngIf="passwordInputType === 'text'" icon="eye-slash"></fa-icon>
|
||||
</button>
|
||||
<mat-error *ngIf="loginForm.controls.password.hasError('required')">
|
||||
Password is <strong>required</strong>
|
||||
{{ 'labels.inputs.Password' | translate }} <strong>{{ 'labels.commons.is required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-checkbox fxFlexAlign="center" formControlName="remember" class="m-t-10">Remember me</mat-checkbox>
|
||||
<mat-checkbox fxFlexAlign="center" formControlName="remember" class="m-t-10">{{ 'labels.inputs.Remember me' | translate }}</mat-checkbox>
|
||||
|
||||
<button mat-raised-button color="primary" fxFlexAlign="center" class="login-button" [disabled]="!loginForm.valid">
|
||||
Login
|
||||
{{ 'labels.buttons.Login' | translate }}
|
||||
<mat-spinner [diameter]="20" *ngIf="loading"></mat-spinner>
|
||||
</button>
|
||||
|
||||
<button type="button" mat-button fxFlexAlign="center" class="login-button" (click)="forgotPassword()" [disabled]="loading">
|
||||
Forgot Password?
|
||||
{{ 'labels.links.Forgot Password?' | translate }}
|
||||
</button>
|
||||
|
||||
</form>
|
||||
|
||||
@@ -12,9 +12,9 @@
|
||||
|
||||
<div fxFlex="70%" fxLayout="column" fxLayoutAlign="center center" fxHide.lt-md class="cover">
|
||||
<div class="cover-content">
|
||||
<h1 class="mat-display-1 cover-title">Mifos</h1>
|
||||
<h1 class="mat-display-1 cover-title">{{ 'APP_NAME' | translate }}</h1>
|
||||
<p class="mat-headline cover-description">
|
||||
Mifos X is designed by the <a href="http://www.openmf.org" target="_blank" class="cover-link">Mifos Initiative</a>. A <a href="http://mifos.org/resources/community/" target="_blank" class="cover-link">global community</a> that aims to speed the elimination of poverty by enabling Organizations to more effectively and efficiently deliver responsible financial services to the world’s poor and unbanked.
|
||||
{{ 'APP_NAME' | translate }} is designed by the <a href="http://www.openmf.org" target="_blank" class="cover-link">Mifos Initiative</a>. A <a href="http://mifos.org/resources/community/" target="_blank" class="cover-link">global community</a> that aims to speed the elimination of poverty by enabling Organizations to more effectively and efficiently deliver responsible financial services to the world’s poor and unbanked.
|
||||
Sounds interesting? <a href="http://mifos.org/take-action/volunteer/" target="_blank" class="cover-link">Get involved!</a>
|
||||
</p>
|
||||
</div>
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
<!-- Logo with Organization Name -->
|
||||
<div fxLayout="row" fxLayoutAlign="center center" fxFlex="1 0 auto">
|
||||
<img src="assets/images/mifos-logo-flat.png" alt="Mifos X Logo" class="img-container">
|
||||
<img src="assets/images/mifos-logo-flat.png" alt="{{ 'APP_NAME' | translate }} Logo" class="img-container">
|
||||
</div>
|
||||
|
||||
<!--
|
||||
@@ -58,9 +58,9 @@
|
||||
|
||||
<!-- Contact Information/Resources (hidden on smaller screens) -->
|
||||
<mat-list fxHide.lt-lg fxLayout="row" fxFlexAlign="center" fxFlex="3 0 auto" class="information-list">
|
||||
<mat-list-item><button mat-button [matMenuTriggerFor]="resourcesMenu">Resources</button></mat-list-item>
|
||||
<mat-list-item><button mat-button [matMenuTriggerFor]="communityMenu">Community</button></mat-list-item>
|
||||
<mat-list-item><button mat-button [matMenuTriggerFor]="contributeMenu">Contribute</button></mat-list-item>
|
||||
<mat-list-item><button mat-button [matMenuTriggerFor]="resourcesMenu">{{ 'labels.links.Resources' | translate }}</button></mat-list-item>
|
||||
<mat-list-item><button mat-button [matMenuTriggerFor]="communityMenu">{{ 'labels.links.Community' | translate }}</button></mat-list-item>
|
||||
<mat-list-item><button mat-button [matMenuTriggerFor]="contributeMenu">{{ 'labels.links.Contribute' | translate }}</button></mat-list-item>
|
||||
</mat-list>
|
||||
|
||||
<!-- Footer -->
|
||||
@@ -72,19 +72,19 @@
|
||||
|
||||
<!-- Contact Information/Resources Menus -->
|
||||
<mat-menu #resourcesMenu="matMenu">
|
||||
<a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/52035622/User+Manual" target="_blank" mat-menu-item>User Manual</a>
|
||||
<a href="https://cwiki.apache.org/confluence/display/FINERACT/Apache+Fineract+1.0+Functional+Specifications" target="_blank" mat-menu-item>Functional Specifications</a>
|
||||
<a href="https://cwiki.apache.org/confluence/display/FINERACT/Contributor%27s+Zone" target="_blank" mat-menu-item>Developer Zone</a>
|
||||
<a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/52035622/User+Manual" target="_blank" mat-menu-item>{{ 'labels.links.User Manual' | translate }}</a>
|
||||
<a href="https://cwiki.apache.org/confluence/display/FINERACT/Apache+Fineract+1.0+Functional+Specifications" target="_blank" mat-menu-item>{{ 'labels.links.Functional Specifications' | translate }}</a>
|
||||
<a href="https://cwiki.apache.org/confluence/display/FINERACT/Contributor%27s+Zone" target="_blank" mat-menu-item>{{ 'labels.links.Developer Zone' | translate }}</a>
|
||||
</mat-menu>
|
||||
|
||||
<mat-menu #communityMenu="matMenu">
|
||||
<a href="https://groups.google.com/forum/#!forum/mifosusers" target="_blank" mat-menu-item>User Group</a>
|
||||
<a href="https://groups.google.com/forum/#!forum/mifosdeveloper" target="_blank" mat-menu-item>Developer Group</a>
|
||||
<a href="http://mifos.org/resources/community/communications/#mifos-irc" target="_blank" mat-menu-item>IRC</a>
|
||||
<a href="https://groups.google.com/forum/#!forum/mifosusers" target="_blank" mat-menu-item>{{ 'labels.links.User Group' | translate }}</a>
|
||||
<a href="https://groups.google.com/forum/#!forum/mifosdeveloper" target="_blank" mat-menu-item>{{ 'labels.links.Developer Group' | translate }}</a>
|
||||
<a href="http://mifos.org/resources/community/communications/#mifos-irc" target="_blank" mat-menu-item>{{ 'labels.links.IRC' | translate }}</a>
|
||||
</mat-menu>
|
||||
|
||||
<mat-menu #contributeMenu="matMenu">
|
||||
<a href="https://mifosforge.jira.com/wiki/spaces/MDZ/pages/92012624/Key+Design+Principles" target="_blank" mat-menu-item>Key Design Principles</a>
|
||||
<a href="https://sourceforge.net/projects/mifos/" target="_blank" mat-menu-item>Working with Code</a>
|
||||
<a href="http://mifos.org/donate/" target="_blank" mat-menu-item>Donate</a>
|
||||
<a href="https://mifosforge.jira.com/wiki/spaces/MDZ/pages/92012624/Key+Design+Principles" target="_blank" mat-menu-item>{{ 'labels.links.Key Design Principles' | translate }}</a>
|
||||
<a href="https://sourceforge.net/projects/mifos/" target="_blank" mat-menu-item>{{ 'labels.links.Working with Code' | translate }}</a>
|
||||
<a href="http://mifos.org/donate/" target="_blank" mat-menu-item>{{ 'labels.links.Donate' | translate }}</a>
|
||||
</mat-menu>
|
||||
|
||||
@@ -10,6 +10,7 @@ import { LoginComponent } from './login.component';
|
||||
import { LoginFormComponent } from './login-form/login-form.component';
|
||||
import { ResetPasswordComponent } from './reset-password/reset-password.component';
|
||||
import { TwoFactorAuthenticationComponent } from './two-factor-authentication/two-factor-authentication.component';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
|
||||
/**
|
||||
* Login Module
|
||||
@@ -19,7 +20,8 @@ import { TwoFactorAuthenticationComponent } from './two-factor-authentication/tw
|
||||
@NgModule({
|
||||
imports: [
|
||||
SharedModule,
|
||||
LoginRoutingModule
|
||||
LoginRoutingModule,
|
||||
TranslateModule.forRoot()
|
||||
],
|
||||
declarations: [
|
||||
LoginComponent,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<div fxLayout="column" id="footer" class="m-b-20">
|
||||
<mat-divider fxFlexAlign="center" class="divider"></mat-divider>
|
||||
<p fxFlexAlign="center" class="footer-content">Version <b>{{ version }}</b> - <b>{{ hash }}</b></p>
|
||||
<p fxFlexAlign="center" class="footer-content">{{ 'labels.texts.Version' | translate }} <b>{{ version }}</b> - <b>{{ hash }}</b></p>
|
||||
<p fxFlexAlign="center" class="footer-content" *ngIf="isBusinessDateDefined">Current Business Date: <b>{{ businessDate | date: 'EEEE, MMMM dd, y' }}</b></p>
|
||||
<mat-divider fxFlexAlign="center" class="divider"></mat-divider>
|
||||
<p fxFlexAlign="center" class="footer-content">Mifos X by Mifos</p>
|
||||
<p fxFlexAlign="center" class="footer-content">{{ 'APP_NAME' | translate }} {{ 'labels.texts.by' | translate }} Mifos</p>
|
||||
</div>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<mat-form-field id="language-selector">
|
||||
<mat-label>{{ 'Language' | translate }}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Language' | translate }}</mat-label>
|
||||
<mat-select [formControl]="languageSelector" (selectionChange)="setLanguage()" class="languageselector">
|
||||
<mat-option *ngFor="let language of languages" [value]="language">
|
||||
{{ language }}
|
||||
{{ 'languages.' + language | translate }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
<mat-form-field id="server-selector" *ngIf="existMoreThanOneServer">
|
||||
<mat-label>{{ 'Server' | translate }}</mat-label>
|
||||
<mat-label>{{ 'labels.inputs.Server' | translate }}</mat-label>
|
||||
<mat-select [formControl]="serverSelector" (selectionChange)="setServer()">
|
||||
<div class="sticky">
|
||||
<form [formGroup]="form" (ngSubmit)="addNewServer()">
|
||||
<div class="actions">
|
||||
<mat-form-field class="ml" fxFlexAlign="start">
|
||||
<span matPrefix><mat-icon>language</mat-icon></span>
|
||||
<mat-label>{{ 'Add new server' | translate }}</mat-label>
|
||||
<mat-label>{{ 'labels.placeholders.Add new server' | translate }}</mat-label>
|
||||
<input matInput type="text" autocomplete="off" formControlName="url">
|
||||
<mat-error *ngIf="form.controls.url.hasError('required')">
|
||||
Url <strong>{{'is required' | translate }}</strong>
|
||||
{{ 'labels.inputs.Url' | translate }} <strong>{{'labels.commons.is required' | translate }}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<button type="submit" [disabled]="form.invalid" class="ml" mat-raised-button color="primary">{{'Add' | translate }}</button>
|
||||
<button type="submit" [disabled]="form.invalid" class="ml" mat-raised-button color="primary">{{ 'labels.buttons.Add' | translate }}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@@ -1,22 +1,116 @@
|
||||
{
|
||||
"APP_NAME": "MifosX",
|
||||
"About": "About",
|
||||
"Home": "Home",
|
||||
"APP_NAME": "Mifos X",
|
||||
"Logged in as": "Logged in as",
|
||||
"Login": "Login",
|
||||
"Logout": "Logout",
|
||||
"Password": "Password",
|
||||
"Password is required": "Password is required",
|
||||
"Username": "Username",
|
||||
"Username is required": "Username is required",
|
||||
"Username or password incorrect.": "Username or password incorrect",
|
||||
"Remember me": "Remember me",
|
||||
"Version": "Version",
|
||||
"Accounting": "Accounting",
|
||||
"Reports": "Reports",
|
||||
"Admin": "Admin",
|
||||
"Self Service": "Self Service",
|
||||
"Institution": "Institution",
|
||||
"Language": "Language",
|
||||
"Server": "Server"
|
||||
"languages": {
|
||||
"en-US": "English",
|
||||
"fr-FR": "French",
|
||||
"es-MX": "Spanish"
|
||||
},
|
||||
"labels": {
|
||||
"breadcrumbs": {
|
||||
"Home": "Home"
|
||||
},
|
||||
"buttons": {
|
||||
"Dashboard": "Dashboard",
|
||||
"Add": "Add",
|
||||
"Back": "Back",
|
||||
"Close": "Close",
|
||||
"Next": "Next",
|
||||
"Login": "Login"
|
||||
},
|
||||
"commons": {
|
||||
"is required": "is required"
|
||||
},
|
||||
"inputs": {
|
||||
"Language": "Language",
|
||||
"Server": "Server",
|
||||
"Url": "Url",
|
||||
"Login": "Login",
|
||||
"Logout": "Logout",
|
||||
"Username": "Username",
|
||||
"Password": "Password",
|
||||
"Remember me": "Remember me"
|
||||
},
|
||||
"links": {
|
||||
"Contribute": "Contribute",
|
||||
"Resources": "Resources",
|
||||
"Community": "Community",
|
||||
"User Manual": "User Manual",
|
||||
"Functional Specifications": "Functional Specifications",
|
||||
"Developer Zone": "Developer Zone",
|
||||
"User Group": "User Group",
|
||||
"Developer Group": "Developer Group",
|
||||
"IRC": "IRC",
|
||||
"Key Design Principles": "Key Design Principles",
|
||||
"Working with Code": "Working with Code",
|
||||
"Donate": "Donate",
|
||||
"Forgot Password?": "Forgot Password?"
|
||||
},
|
||||
"menus": {
|
||||
"Institution": "Institution",
|
||||
"Accounting": "Accounting",
|
||||
"Breadcrumbs": "Breadcrumbs",
|
||||
"Reports": "Reports",
|
||||
"Admin": "Admin",
|
||||
"Self Service": "Self Service",
|
||||
"Configuration Wizard": "Configuration Wizard",
|
||||
"Clients": "Clients",
|
||||
"Groups": "Groups",
|
||||
"Centers": "Centers",
|
||||
"All": "All",
|
||||
"Loans": "Loans",
|
||||
"Savings": "Savings",
|
||||
"Funds": "Funds",
|
||||
"XBRL": "XBRL",
|
||||
"Users": "Users",
|
||||
"Organization": "Organization",
|
||||
"System": "System",
|
||||
"Products": "Products",
|
||||
"Templates": "Templates",
|
||||
"User Management": "User Management",
|
||||
"App Configuration": "App Configuration",
|
||||
"Task Management": "Task Management",
|
||||
"Help": "Help",
|
||||
"Profile": "Profile",
|
||||
"Settings": "Settings",
|
||||
"Sign Out": "Sign Out",
|
||||
"Global Search": "Global Search",
|
||||
"Language Selector": "Language Selector",
|
||||
"Theme Picker": "Theme Picker",
|
||||
"Application Menu": "Application Menu",
|
||||
"User Panel": "User Panel",
|
||||
"Frequently Accessed": "Frequently Accessed",
|
||||
"Dashboard": "Dashboard",
|
||||
"Navigation": "Navigation",
|
||||
"Frequent Postings": "Frequent Postings",
|
||||
"Create Journal Entry": "Create Journal Entry",
|
||||
"Chart of Accounts": "Chart of Accounts",
|
||||
"Notifications": "Notifications",
|
||||
"Main Items": "Main Items",
|
||||
"Checker Inbox and Tasks": "Checker Inbox and Tasks",
|
||||
"Individual Collection Sheet": "Individual Collection Sheet",
|
||||
"Keyboard Shortcuts": "Keyboard Shortcuts"
|
||||
},
|
||||
"placeholders": {
|
||||
"Add new server": "Add new server",
|
||||
"Search Activity": "Search Activity"
|
||||
},
|
||||
"texts": {
|
||||
"Welcome": "Welcome",
|
||||
"Version": "Version",
|
||||
"by": "by"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"inputs": {
|
||||
"Password is required": "Password is required",
|
||||
"Username is required": "Username is required",
|
||||
"Username or password incorrect.": "Username or password incorrect"
|
||||
}
|
||||
},
|
||||
"tooltips": {
|
||||
"Settings": "Settings",
|
||||
"Sign Out": "Sign Out"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,116 @@
|
||||
{
|
||||
"APP_NAME": "Mifos X",
|
||||
"Logged in as": "Logged in as",
|
||||
"Remember me": "Remember me",
|
||||
"languages": {
|
||||
"en-US": "Ingles",
|
||||
"fr-FR": "Frances",
|
||||
"es-MX": "Español"
|
||||
},
|
||||
"labels": {
|
||||
"breadcrumbs": {
|
||||
"Home": "Inicio"
|
||||
},
|
||||
"buttons": {
|
||||
"Dashboard": "Gráficos",
|
||||
"Add": "Agregar",
|
||||
"Back": "Previo",
|
||||
"Close": "Cerrar",
|
||||
"Next": "Siguiente",
|
||||
"Login": "Inciar Sesiòn"
|
||||
},
|
||||
"commons": {
|
||||
"is required": "es requerido"
|
||||
},
|
||||
"inputs": {
|
||||
"Language": "Lenguaje",
|
||||
"Server": "Servidor",
|
||||
"Url": "Url",
|
||||
"Login": "Inciar Sesiòn",
|
||||
"Logout": "Salir",
|
||||
"Username": "Nombre de usuario",
|
||||
"Password": "Contraseña",
|
||||
"Remember me": "Recordarme"
|
||||
},
|
||||
"links": {
|
||||
"Contribute": "Contribuir",
|
||||
"Resources": "Recursos",
|
||||
"Community": "Comunidad",
|
||||
"User Manual": "Manual de Usuario",
|
||||
"Functional Specifications": "Especificación Funcional",
|
||||
"Developer Zone": "Zona de Desarrollo",
|
||||
"User Group": "Grupo de Usuarios",
|
||||
"Developer Group": "Grupo de Desarrollo",
|
||||
"IRC": "IRC",
|
||||
"Key Design Principles": "Principios de Diseño",
|
||||
"Working with Code": "Código",
|
||||
"Donate": "Donar",
|
||||
"Forgot Password?": "Recuperar Contraseña"
|
||||
},
|
||||
"menus": {
|
||||
"Institution": "Institución",
|
||||
"Accounting": "Contabilidad",
|
||||
"Breadcrumbs": "",
|
||||
"Reports": "Reportes",
|
||||
"Admin": "Administrador",
|
||||
"Self Service": "Auto Servicio",
|
||||
"Configuration Wizard": "Configuration Wizard",
|
||||
"Clients": "Clientes",
|
||||
"Groups": "Grupos",
|
||||
"Centers": "Centros",
|
||||
"All": "Todo",
|
||||
"Loans": "Créditos",
|
||||
"Savings": "Ahorros",
|
||||
"Funds": "Fondos",
|
||||
"XBRL": "XBRL",
|
||||
"Users": "Usuarios",
|
||||
"Organization": "Organización",
|
||||
"System": "Sistema",
|
||||
"Products": "Productos",
|
||||
"Templates": "Plantillas",
|
||||
"User Management": "Admin. de Usuarios",
|
||||
"App Configuration": "Configuración Aplicación",
|
||||
"Task Management": "Admin. de Tareas",
|
||||
"Help": "Ayuda",
|
||||
"Profile": "Perfil",
|
||||
"Settings": "Configuración",
|
||||
"Sign Out": "Cerrar Sesión",
|
||||
"Global Search": "Búsqueda",
|
||||
"Language Selector": "Seleccionador de Idioma",
|
||||
"Theme Picker": "Seleccionador de Tema",
|
||||
"Application Menu": "Menu de Aplicación",
|
||||
"User Panel": "Panel de Usuario",
|
||||
"Frequently Accessed": "Accessos Frecuentes",
|
||||
"Dashboard": "Gráficos",
|
||||
"Navigation": "Navegación",
|
||||
"Frequent Postings": "Asientos Frecuentes",
|
||||
"Create Journal Entry": "Crear Entrada Manual",
|
||||
"Chart of Accounts": "Cuentas Contables",
|
||||
"Notifications": "Notificaciones",
|
||||
"Main Items": "Principales",
|
||||
"Checker Inbox and Tasks": "Panel de Tareas",
|
||||
"Individual Collection Sheet": "Hoja de colección",
|
||||
"Keyboard Shortcuts": "Accesos"
|
||||
},
|
||||
"placeholders": {
|
||||
"Add new server": "Agregar nuevo servidor",
|
||||
"Search Activity": "Buscar Actividad"
|
||||
},
|
||||
"texts": {
|
||||
"Welcome": "Bienvenido",
|
||||
"Version": "Versión",
|
||||
"by": "por"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"inputs": {
|
||||
"Password is required": "La Contraseña es requerida",
|
||||
"Username is required": "Nombre de Usuario es requerida",
|
||||
"Username or password incorrect.": "Nombre de Usuario o Contraseá son incorrectas"
|
||||
}
|
||||
},
|
||||
"tooltips": {
|
||||
"Settings": "Configuración",
|
||||
"Sign Out": "Cerrar Sesión"
|
||||
}
|
||||
}
|
||||
@@ -1,22 +1,116 @@
|
||||
{
|
||||
"APP_NAME": "MifosX",
|
||||
"About": "A propos",
|
||||
"Home": "Accueil",
|
||||
"Logged in as": "Connecté en tant que",
|
||||
"Login": "Connexion",
|
||||
"Logout": "Déconnexion",
|
||||
"Password": "Mot de passe",
|
||||
"Password is required": "Mot de passe requis",
|
||||
"Username": "Identifiant",
|
||||
"Username is required": "Identifiant requis",
|
||||
"Username or password incorrect.": "Identifiant ou mot de passe incorrect",
|
||||
"Remember me": "Rester connecté",
|
||||
"Version": "Version",
|
||||
"Accounting": "Comptabilité",
|
||||
"Reports": "Rapports",
|
||||
"Admin": "Admin",
|
||||
"Self Service": "En libre service",
|
||||
"Institution": "Institution",
|
||||
"Language": "Langue",
|
||||
"Server": "Serveur"
|
||||
"APP_NAME": "Mifos X",
|
||||
"Logged in as": "Logged in as",
|
||||
"Remember me": "Remember me",
|
||||
"languages": {
|
||||
"en-US": "English",
|
||||
"fr-FR": "French",
|
||||
"es-MX": "Spanish"
|
||||
},
|
||||
"labels": {
|
||||
"breadcrumbs": {
|
||||
"Home": "Home"
|
||||
},
|
||||
"buttons": {
|
||||
"Dashboard": "Dashboard",
|
||||
"Add": "Add",
|
||||
"Back": "Back",
|
||||
"Close": "Close",
|
||||
"Next": "Next",
|
||||
"Login": "Login"
|
||||
},
|
||||
"commons": {
|
||||
"is required": "is required"
|
||||
},
|
||||
"inputs": {
|
||||
"Language": "Language",
|
||||
"Server": "Server",
|
||||
"Url": "Url",
|
||||
"Login": "Login",
|
||||
"Logout": "Logout",
|
||||
"Username": "Username",
|
||||
"Password": "Password",
|
||||
"Remember me": "Remember me"
|
||||
},
|
||||
"links": {
|
||||
"Contribute": "Contribute",
|
||||
"Resources": "Resources",
|
||||
"Community": "Community",
|
||||
"User Manual": "User Manual",
|
||||
"Functional Specifications": "Functional Specifications",
|
||||
"Developer Zone": "Developer Zone",
|
||||
"User Group": "User Group",
|
||||
"Developer Group": "Developer Group",
|
||||
"IRC": "IRC",
|
||||
"Key Design Principles": "Key Design Principles",
|
||||
"Working with Code": "Working with Code",
|
||||
"Donate": "Donate",
|
||||
"Forgot Password?": "Forgot Password?"
|
||||
},
|
||||
"menus": {
|
||||
"Institution": "Institution",
|
||||
"Accounting": "Accounting",
|
||||
"Breadcrumbs": "Breadcrumbs",
|
||||
"Reports": "Reports",
|
||||
"Admin": "Admin",
|
||||
"Self Service": "Self Service",
|
||||
"Configuration Wizard": "Configuration Wizard",
|
||||
"Clients": "Clients",
|
||||
"Groups": "Groups",
|
||||
"Centers": "Centers",
|
||||
"All": "All",
|
||||
"Loans": "Loans",
|
||||
"Savings": "Savings",
|
||||
"Funds": "Funds",
|
||||
"XBRL": "XBRL",
|
||||
"Users": "Users",
|
||||
"Organization": "Organization",
|
||||
"System": "System",
|
||||
"Products": "Products",
|
||||
"Templates": "Templates",
|
||||
"User Management": "User Management",
|
||||
"App Configuration": "App Configuration",
|
||||
"Task Management": "Task Management",
|
||||
"Help": "Help",
|
||||
"Profile": "Profile",
|
||||
"Settings": "Settings",
|
||||
"Sign Out": "Sign Out",
|
||||
"Global Search": "Global Search",
|
||||
"Language Selector": "Language Selector",
|
||||
"Theme Picker": "Theme Picker",
|
||||
"Application Menu": "Application Menu",
|
||||
"User Panel": "User Panel",
|
||||
"Frequently Accessed": "Frequently Accessed",
|
||||
"Dashboard": "Dashboard",
|
||||
"Navigation": "Navigation",
|
||||
"Frequent Postings": "Frequent Postings",
|
||||
"Create Journal Entry": "Create Journal Entry",
|
||||
"Chart of Accounts": "Chart of Accounts",
|
||||
"Notifications": "Notifications",
|
||||
"Main Items": "Main Items",
|
||||
"Checker Inbox and Tasks": "Checker Inbox and Tasks",
|
||||
"Individual Collection Sheet": "Individual Collection Sheet",
|
||||
"Keyboard Shortcuts": "Keyboard Shortcuts"
|
||||
},
|
||||
"placeholders": {
|
||||
"Add new server": "Add new server",
|
||||
"Search Activity": "Search Activity"
|
||||
},
|
||||
"texts": {
|
||||
"Welcome": "Welcome",
|
||||
"Version": "Version",
|
||||
"by": "by"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"inputs": {
|
||||
"Password is required": "Password is required",
|
||||
"Username is required": "Username is required",
|
||||
"Username or password incorrect.": "Username or password incorrect"
|
||||
}
|
||||
},
|
||||
"tooltips": {
|
||||
"Settings": "Settings",
|
||||
"Sign Out": "Sign Out"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ export const environment = {
|
||||
serverUrl: ''
|
||||
},
|
||||
defaultLanguage: window['env']['defaultLanguage'] || 'en-US',
|
||||
supportedLanguages: window['env']['supportedLanguages'] || 'en-US,fr-FR'
|
||||
supportedLanguages: window['env']['supportedLanguages'] || 'en-US,es-MX,fr-FR'
|
||||
};
|
||||
|
||||
// Server URL
|
||||
|
||||
@@ -26,7 +26,7 @@ export const environment = {
|
||||
serverUrl: ''
|
||||
},
|
||||
defaultLanguage: window['env']['defaultLanguage'] || 'en-US',
|
||||
supportedLanguages: window['env']['supportedLanguages'] || 'en-US,fr-FR'
|
||||
supportedLanguages: window['env']['supportedLanguages'] || 'en-US,es-MX,fr-FR'
|
||||
};
|
||||
|
||||
// Server URL
|
||||
|
||||
Reference in New Issue
Block a user