feat: non-individual entity UI improvements — hide individual-only sections, fix legal form display, send extended fields to API
- Hide Family Members tab/section for non-individual entities in client view, create flow, and preview - Hide Financial & Classification section for non-individual entities in personal data and preview - Fix legal form column in clients list — fetch legalForm from client API for correct display - Add person/business icon before client name in list rows - Remove unsupportedNpd filter — send authorizedSignatory, additionalInfo, dateOfRegistration to API - Add registration number format hint (mat-hint) based on constitution type - Add spacing between verification row and constitution type dropdowns - Reduce table cell padding and prevent action buttons from being clipped - Add missing MPL-2.0 license headers Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
ab01111424
commit
b890d24bb7
@@ -6,552 +6,289 @@
|
||||
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-->
|
||||
|
||||
<div class="container">
|
||||
<mat-card>
|
||||
<div class="layout-row responsive-column gap-20px">
|
||||
<div class="flex-50">
|
||||
<mat-nav-list>
|
||||
<div #office>
|
||||
<mat-list-item *mifosxHasPermission="'READ_OFFICE'">
|
||||
<div class="menu-list-item-content">
|
||||
<div class="menu-left-section" [routerLink]="['offices']">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="building" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<div matLine>
|
||||
{{ 'labels.heading.Manage Offices' | translate }}
|
||||
@if (arrowBooleans[0]) {
|
||||
<p matLine [routerLink]="['offices']" class="menu-explanation">
|
||||
{{ 'labels.text.Add new office or modify or deactivate office' | translate }}
|
||||
</p>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="menu-right-section">
|
||||
@if (!arrowBooleans[0]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(0)" icon="arrow-down" size="md"></fa-icon>
|
||||
}
|
||||
@if (arrowBooleans[0]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(0)" icon="arrow-up" size="md"></fa-icon>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</mat-list-item>
|
||||
</div>
|
||||
|
||||
<div #holidays>
|
||||
<mat-list-item *mifosxHasPermission="'READ_HOLIDAY'">
|
||||
<div class="menu-list-item-content">
|
||||
<div class="menu-left-section" [routerLink]="['holidays']">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="calendar-alt" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<div matLine>
|
||||
{{ 'labels.heading.Manage Holidays' | translate }}
|
||||
@if (arrowBooleans[1]) {
|
||||
<p matLine [routerLink]="['holidays']" class="menu-explanation">
|
||||
{{ 'labels.text.Define holidays for office' | translate }}
|
||||
</p>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="menu-right-section">
|
||||
@if (!arrowBooleans[1]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(1)" icon="arrow-down" size="md"></fa-icon>
|
||||
}
|
||||
@if (arrowBooleans[1]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(1)" icon="arrow-up" size="md"></fa-icon>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</mat-list-item>
|
||||
</div>
|
||||
|
||||
<div #employee>
|
||||
<mat-list-item *mifosxHasPermission="'READ_STAFF'">
|
||||
<div class="menu-list-item-content">
|
||||
<div class="menu-left-section" [routerLink]="['employees']">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="user" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<div matLine>
|
||||
{{ 'labels.heading.Manage Employees' | translate }}
|
||||
@if (arrowBooleans[2]) {
|
||||
<p matLine [routerLink]="['employees']" class="menu-explanation">
|
||||
{{ 'labels.text.Employee represents loan officers' | translate }}
|
||||
</p>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="menu-right-section">
|
||||
@if (!arrowBooleans[2]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(2)" icon="arrow-down" size="md"></fa-icon>
|
||||
}
|
||||
@if (arrowBooleans[2]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(2)" icon="arrow-up" size="md"></fa-icon>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</mat-list-item>
|
||||
</div>
|
||||
|
||||
<div #standinginstructions>
|
||||
<mat-list-item *mifosxHasPermission="'READ_STANDINGINSTRUCTION'">
|
||||
<div class="menu-list-item-content">
|
||||
<div class="menu-left-section" [routerLink]="['standing-instructions-history']">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="book" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<div matLine>
|
||||
{{ 'labels.heading.Standing Instructions History' | translate }}
|
||||
@if (arrowBooleans[3]) {
|
||||
<p matLine [routerLink]="['standing-instructions-history']" class="menu-explanation">
|
||||
{{ 'labels.text.View logged history' | translate }}
|
||||
</p>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="menu-right-section">
|
||||
@if (!arrowBooleans[3]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(3)" icon="arrow-down" size="md"></fa-icon>
|
||||
}
|
||||
@if (arrowBooleans[3]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(3)" icon="arrow-up" size="md"></fa-icon>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</mat-list-item>
|
||||
</div>
|
||||
|
||||
<div #investor>
|
||||
<mat-list-item *mifosxHasPermission="'READ_OFFICE'">
|
||||
<div class="menu-list-item-content">
|
||||
<div class="menu-left-section" [routerLink]="['investors']">
|
||||
<mat-icon>
|
||||
<fa-icon icon="user-tie" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<div matLine>
|
||||
{{ 'labels.text.Investors' | translate }}
|
||||
@if (arrowBooleans[4]) {
|
||||
<p matLine [routerLink]="['investors']" class="menu-explanation">
|
||||
{{ 'labels.text.View the loan account details associated with the investors' | translate }}
|
||||
</p>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="menu-right-section">
|
||||
@if (!arrowBooleans[4]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(4)" icon="arrow-down" size="md"></fa-icon>
|
||||
}
|
||||
@if (arrowBooleans[4]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(4)" icon="arrow-up" size="md"></fa-icon>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</mat-list-item>
|
||||
</div>
|
||||
|
||||
<div #fundmapping>
|
||||
<mat-list-item *mifosxHasPermission="'READ_OFFICE'">
|
||||
<div class="menu-list-item-content">
|
||||
<div class="menu-left-section" [routerLink]="['fund-mapping']">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="money-bill-alt" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<div matLine>
|
||||
{{ 'labels.heading.Fund Mapping' | translate }}
|
||||
@if (arrowBooleans[5]) {
|
||||
<p matLine [routerLink]="['fund-mapping']" class="menu-explanation">
|
||||
{{ 'labels.text.Bulk entry screen for mapping' | translate }}
|
||||
</p>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="menu-right-section">
|
||||
@if (!arrowBooleans[5]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(5)" icon="arrow-down" size="md"></fa-icon>
|
||||
}
|
||||
@if (arrowBooleans[5]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(5)" icon="arrow-up" size="md"></fa-icon>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</mat-list-item>
|
||||
</div>
|
||||
|
||||
<div #passwordpreferences>
|
||||
<mat-list-item *mifosxHasPermission="'READ_PASSWORD_VALIDATION_POLICY'">
|
||||
<div class="menu-list-item-content">
|
||||
<div class="menu-left-section" [routerLink]="['password-preferences']">
|
||||
<mat-icon>
|
||||
<fa-icon icon="lock" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<div matLine>
|
||||
{{ 'labels.heading.Password Preferences' | translate }}
|
||||
@if (arrowBooleans[6]) {
|
||||
<p matLine [routerLink]="['password-preferences']" class="menu-explanation">
|
||||
{{ 'labels.text.The usage of stronger passwords' | translate }}
|
||||
</p>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="menu-right-section">
|
||||
@if (!arrowBooleans[6]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(6)" icon="arrow-down" size="md"></fa-icon>
|
||||
}
|
||||
@if (arrowBooleans[6]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(6)" icon="arrow-up" size="md"></fa-icon>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</mat-list-item>
|
||||
</div>
|
||||
|
||||
<div #provisioning>
|
||||
<mat-list-item *mifosxHasPermission="'VIEW_PROVISIONS'">
|
||||
<div class="menu-list-item-content">
|
||||
<div class="menu-left-section" [routerLink]="['provisioning-criteria']">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="edit" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<div matLine>
|
||||
{{ 'labels.heading.Loan Provisioning Criteria' | translate }}
|
||||
@if (arrowBooleans[7]) {
|
||||
<p matLine [routerLink]="['provisioning-criteria']" class="menu-explanation">
|
||||
{{ 'labels.text.Loan Provisioning Criteria Organization' | translate }}
|
||||
</p>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="menu-right-section">
|
||||
@if (!arrowBooleans[7]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(7)" icon="arrow-down" size="md"></fa-icon>
|
||||
}
|
||||
@if (arrowBooleans[7]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(7)" icon="arrow-up" size="md"></fa-icon>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</mat-list-item>
|
||||
</div>
|
||||
|
||||
<div #entitydatatable>
|
||||
<mat-list-item *mifosxHasPermission="'READ_ENTITY_DATATABLE_CHECK'">
|
||||
<div class="menu-list-item-content">
|
||||
<div class="menu-left-section" [routerLink]="['entity-data-table-checks']">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="check" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<div matLine>
|
||||
{{ 'labels.heading.Entity Data Table Checks' | translate }}
|
||||
@if (arrowBooleans[8]) {
|
||||
<p matLine [routerLink]="['entity-data-table-checks']" class="menu-explanation">
|
||||
{{ 'labels.text.Entity Data Table Checks Organization' | translate }}
|
||||
</p>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="menu-right-section">
|
||||
@if (!arrowBooleans[8]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(8)" icon="arrow-down" size="md"></fa-icon>
|
||||
}
|
||||
@if (arrowBooleans[8]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(8)" icon="arrow-up" size="md"></fa-icon>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</mat-list-item>
|
||||
</div>
|
||||
</mat-nav-list>
|
||||
</div>
|
||||
|
||||
<div class="flex-50">
|
||||
<mat-nav-list>
|
||||
<div #addEditCurrency>
|
||||
<mat-list-item *mifosxHasPermission="'READ_CURRENCY'">
|
||||
<div class="menu-list-item-content">
|
||||
<div class="menu-left-section" [routerLink]="['currencies']">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="cogs" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<div matLine>
|
||||
{{ 'labels.heading.Currency Configuration' | translate }}
|
||||
@if (arrowBooleans[9]) {
|
||||
<p matLine [routerLink]="['currencies']" class="menu-explanation">
|
||||
{{ 'labels.text.Currencies available across organization' | translate }}
|
||||
</p>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="menu-right-section">
|
||||
@if (!arrowBooleans[9]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(9)" icon="arrow-down" size="md"></fa-icon>
|
||||
}
|
||||
@if (arrowBooleans[9]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(9)" icon="arrow-up" size="md"></fa-icon>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</mat-list-item>
|
||||
</div>
|
||||
|
||||
<div #manageFunds>
|
||||
<mat-list-item *mifosxHasPermission="'READ_FUND'">
|
||||
<div class="menu-list-item-content">
|
||||
<div class="menu-left-section" [routerLink]="['manage-funds']">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="money-bill-alt" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<div matLine>
|
||||
{{ 'labels.heading.Manage Funds' | translate }}
|
||||
@if (arrowBooleans[10]) {
|
||||
<p matLine [routerLink]="['manage-funds']" class="menu-explanation">
|
||||
{{ 'labels.text.Funds are associated with loans' | translate }}
|
||||
</p>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="menu-right-section">
|
||||
@if (!arrowBooleans[10]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(10)" icon="arrow-down" size="md"></fa-icon>
|
||||
}
|
||||
@if (arrowBooleans[10]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(10)" icon="arrow-up" size="md"></fa-icon>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</mat-list-item>
|
||||
</div>
|
||||
|
||||
<div #manageLoanOriginators>
|
||||
<mat-list-item *mifosxHasPermission="'READ_LOAN_ORIGINATOR'">
|
||||
<div class="menu-list-item-content">
|
||||
<div class="menu-left-section" [routerLink]="['manage-loan-originators']">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="edit" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<div matLine>
|
||||
{{ 'labels.heading.Manage Loan Originators' | translate }}
|
||||
@if (arrowBooleans[18]) {
|
||||
<p matLine [routerLink]="['manage-loan-originators']" class="menu-explanation">
|
||||
{{ 'labels.text.Loan Originators are associated with loan accounts' | translate }}
|
||||
</p>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="menu-right-section">
|
||||
@if (!arrowBooleans[18]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(18)" icon="arrow-down" size="md"></fa-icon>
|
||||
}
|
||||
@if (arrowBooleans[18]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(18)" icon="arrow-up" size="md"></fa-icon>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</mat-list-item>
|
||||
</div>
|
||||
|
||||
<div #bulkloan>
|
||||
<mat-list-item *mifosxHasPermission="'BULKREASSIGN_LOAN'">
|
||||
<div class="menu-list-item-content">
|
||||
<div class="menu-left-section" [routerLink]="['bulkloan']">
|
||||
<mat-icon>
|
||||
<fa-icon icon="money-bill-alt" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<div matLine>
|
||||
{{ 'labels.heading.Bulk Loan Reassignment' | translate }}
|
||||
@if (arrowBooleans[11]) {
|
||||
<p matLine [routerLink]="['bulkloan']" class="menu-explanation">
|
||||
{{ 'labels.text.Easy way to reassign all the loan' | translate }}
|
||||
</p>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="menu-right-section">
|
||||
@if (!arrowBooleans[11]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(11)" icon="arrow-down" size="md"></fa-icon>
|
||||
}
|
||||
@if (arrowBooleans[11]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(11)" icon="arrow-up" size="md"></fa-icon>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</mat-list-item>
|
||||
</div>
|
||||
|
||||
<div #tellers>
|
||||
<mat-list-item *mifosxHasPermission="'READ_TELLER'">
|
||||
<div class="menu-list-item-content">
|
||||
<div class="menu-left-section" [routerLink]="['tellers']">
|
||||
<mat-icon>
|
||||
<fa-icon icon="money-bill-alt" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<div matLine>
|
||||
{{ 'labels.heading.Teller / Cashier Management' | translate }}
|
||||
@if (arrowBooleans[12]) {
|
||||
<p matLine [routerLink]="['tellers']" class="menu-explanation">
|
||||
{{ 'labels.text.Manage Tellers / Cashiers' | translate }}
|
||||
</p>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="menu-right-section">
|
||||
@if (!arrowBooleans[12]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(12)" icon="arrow-down" size="md"></fa-icon>
|
||||
}
|
||||
@if (arrowBooleans[12]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(12)" icon="arrow-up" size="md"></fa-icon>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</mat-list-item>
|
||||
</div>
|
||||
|
||||
<div #workingDays>
|
||||
<mat-list-item *mifosxHasPermission="'READ_WORKINGDAYS'">
|
||||
<div class="menu-list-item-content">
|
||||
<div class="menu-left-section" [routerLink]="['working-days']">
|
||||
<mat-icon>
|
||||
<fa-icon icon="calendar-alt" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<div matLine>
|
||||
{{ 'labels.heading.Working Days' | translate }}
|
||||
@if (arrowBooleans[13]) {
|
||||
<p matLine [routerLink]="['working-days']" class="menu-explanation">
|
||||
{{ 'labels.text.Working days and configure behaviour of payments' | translate }}
|
||||
</p>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="menu-right-section">
|
||||
@if (!arrowBooleans[13]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(13)" icon="arrow-down" size="md"></fa-icon>
|
||||
}
|
||||
@if (arrowBooleans[13]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(13)" icon="arrow-up" size="md"></fa-icon>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</mat-list-item>
|
||||
</div>
|
||||
|
||||
<div #paymenttypes>
|
||||
<mat-list-item *mifosxHasPermission="'READ_PAYMENTTYPE'">
|
||||
<div class="menu-list-item-content">
|
||||
<div class="menu-left-section" [routerLink]="['payment-types']">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="dollar-sign" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<div matLine>
|
||||
{{ 'labels.heading.Payment Type' | translate }}
|
||||
@if (arrowBooleans[14]) {
|
||||
<p matLine [routerLink]="['payment-types']" class="menu-explanation">
|
||||
{{ 'labels.text.Manage payment types' | translate }}
|
||||
</p>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="menu-right-section">
|
||||
@if (!arrowBooleans[14]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(14)" icon="arrow-down" size="md"></fa-icon>
|
||||
}
|
||||
@if (arrowBooleans[14]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(14)" icon="arrow-up" size="md"></fa-icon>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</mat-list-item>
|
||||
</div>
|
||||
|
||||
<div #smscampaigns>
|
||||
<mat-list-item *mifosxHasPermission="'VIEW_SMSCAMPAIGNS'">
|
||||
<div class="menu-list-item-content">
|
||||
<div class="menu-left-section" [routerLink]="['sms-campaigns']">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="envelope" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<div matLine>
|
||||
{{ 'labels.heading.SMS Campaigns' | translate }}
|
||||
@if (arrowBooleans[15]) {
|
||||
<p matLine [routerLink]="['sms-campaigns']" class="menu-explanation">
|
||||
{{ 'labels.text.Define SMS Campaigns for Organization' | translate }}
|
||||
</p>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="menu-right-section">
|
||||
@if (!arrowBooleans[15]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(15)" icon="arrow-down" size="md"></fa-icon>
|
||||
}
|
||||
@if (arrowBooleans[15]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(15)" icon="arrow-up" size="md"></fa-icon>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</mat-list-item>
|
||||
</div>
|
||||
|
||||
<div #adhocquery>
|
||||
<mat-list-item *mifosxHasPermission="'VIEW_ADHOC'">
|
||||
<div class="menu-list-item-content">
|
||||
<div class="menu-left-section" [routerLink]="['adhoc-query']">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="chevron-right" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<div matLine>
|
||||
{{ 'labels.heading.AdHocQuery' | translate }}
|
||||
@if (arrowBooleans[16]) {
|
||||
<p matLine [routerLink]="['adhoc-query']" class="menu-explanation">
|
||||
{{ 'labels.text.Define AdHocQuery for Organization' | translate }}
|
||||
</p>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="menu-right-section">
|
||||
@if (!arrowBooleans[16]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(16)" icon="arrow-down" size="md"></fa-icon>
|
||||
}
|
||||
@if (arrowBooleans[16]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(16)" icon="arrow-up" size="md"></fa-icon>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</mat-list-item>
|
||||
</div>
|
||||
|
||||
<div #bulkimport>
|
||||
<mat-list-item *mifosxHasPermission="'VIEW_BULKIMPORT'">
|
||||
<div class="menu-list-item-content">
|
||||
<div class="menu-left-section" [routerLink]="['bulk-import']">
|
||||
<mat-icon matListIcon>
|
||||
<fa-icon icon="upload" size="sm"></fa-icon>
|
||||
</mat-icon>
|
||||
<div matLine>
|
||||
{{ 'labels.heading.Bulk Import' | translate }}
|
||||
@if (arrowBooleans[17]) {
|
||||
<p matLine [routerLink]="['bulk-import']" class="menu-explanation">
|
||||
{{ 'labels.text.Bulk data import using excel spreadsheet templates' | translate }}
|
||||
</p>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="menu-right-section">
|
||||
@if (!arrowBooleans[17]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(17)" icon="arrow-down" size="md"></fa-icon>
|
||||
}
|
||||
@if (arrowBooleans[17]) {
|
||||
<fa-icon (click)="arrowBooleansToggle(17)" icon="arrow-up" size="md"></fa-icon>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</mat-list-item>
|
||||
</div>
|
||||
</mat-nav-list>
|
||||
</div>
|
||||
<div class="org-container">
|
||||
<!-- Page header -->
|
||||
<div class="org-header">
|
||||
<div class="org-header__icon">
|
||||
<i class="fas fa-sitemap"></i>
|
||||
</div>
|
||||
</mat-card>
|
||||
<div>
|
||||
<h1 class="org-header__title">{{ 'labels.heading.Organization' | translate }}</h1>
|
||||
<p class="org-header__sub">Manage offices, employees, currencies and other organizational settings</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Card Grid -->
|
||||
<div class="org-grid">
|
||||
<!-- Manage Offices -->
|
||||
<div #office>
|
||||
<a class="org-card" [routerLink]="['offices']" *mifosxHasPermission="'READ_OFFICE'">
|
||||
<div class="org-card__icon org-card__icon--blue">
|
||||
<i class="fas fa-building"></i>
|
||||
</div>
|
||||
<div class="org-card__body">
|
||||
<h3 class="org-card__title">{{ 'labels.heading.Manage Offices' | translate }}</h3>
|
||||
<p class="org-card__desc">{{ 'labels.text.Add new office or modify or deactivate office' | translate }}</p>
|
||||
</div>
|
||||
<i class="fas fa-chevron-right org-card__arrow"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Currency Configuration -->
|
||||
<div #addEditCurrency>
|
||||
<a class="org-card" [routerLink]="['currencies']" *mifosxHasPermission="'READ_CURRENCY'">
|
||||
<div class="org-card__icon org-card__icon--amber">
|
||||
<i class="fas fa-cogs"></i>
|
||||
</div>
|
||||
<div class="org-card__body">
|
||||
<h3 class="org-card__title">{{ 'labels.heading.Currency Configuration' | translate }}</h3>
|
||||
<p class="org-card__desc">{{ 'labels.text.Currencies available across organization' | translate }}</p>
|
||||
</div>
|
||||
<i class="fas fa-chevron-right org-card__arrow"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Manage Holidays -->
|
||||
<div #holidays>
|
||||
<a class="org-card" [routerLink]="['holidays']" *mifosxHasPermission="'READ_HOLIDAY'">
|
||||
<div class="org-card__icon org-card__icon--green">
|
||||
<i class="fas fa-calendar-alt"></i>
|
||||
</div>
|
||||
<div class="org-card__body">
|
||||
<h3 class="org-card__title">{{ 'labels.heading.Manage Holidays' | translate }}</h3>
|
||||
<p class="org-card__desc">{{ 'labels.text.Define holidays for office' | translate }}</p>
|
||||
</div>
|
||||
<i class="fas fa-chevron-right org-card__arrow"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Manage Funds -->
|
||||
<div #manageFunds>
|
||||
<a class="org-card" [routerLink]="['manage-funds']" *mifosxHasPermission="'READ_FUND'">
|
||||
<div class="org-card__icon org-card__icon--emerald">
|
||||
<i class="fas fa-money-bill-alt"></i>
|
||||
</div>
|
||||
<div class="org-card__body">
|
||||
<h3 class="org-card__title">{{ 'labels.heading.Manage Funds' | translate }}</h3>
|
||||
<p class="org-card__desc">{{ 'labels.text.Funds are associated with loans' | translate }}</p>
|
||||
</div>
|
||||
<i class="fas fa-chevron-right org-card__arrow"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Manage Employees -->
|
||||
<div #employee>
|
||||
<a class="org-card" [routerLink]="['employees']" *mifosxHasPermission="'READ_STAFF'">
|
||||
<div class="org-card__icon org-card__icon--purple">
|
||||
<i class="fas fa-user"></i>
|
||||
</div>
|
||||
<div class="org-card__body">
|
||||
<h3 class="org-card__title">{{ 'labels.heading.Manage Employees' | translate }}</h3>
|
||||
<p class="org-card__desc">{{ 'labels.text.Employee represents loan officers' | translate }}</p>
|
||||
</div>
|
||||
<i class="fas fa-chevron-right org-card__arrow"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Manage Loan Originators -->
|
||||
<div #manageLoanOriginators>
|
||||
<a class="org-card" [routerLink]="['manage-loan-originators']" *mifosxHasPermission="'READ_LOAN_ORIGINATOR'">
|
||||
<div class="org-card__icon org-card__icon--indigo">
|
||||
<i class="fas fa-edit"></i>
|
||||
</div>
|
||||
<div class="org-card__body">
|
||||
<h3 class="org-card__title">{{ 'labels.heading.Manage Loan Originators' | translate }}</h3>
|
||||
<p class="org-card__desc">{{ 'labels.text.Loan Originators are associated with loan accounts' | translate }}</p>
|
||||
</div>
|
||||
<i class="fas fa-chevron-right org-card__arrow"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Standing Instructions History -->
|
||||
<div #standinginstructions>
|
||||
<a class="org-card" [routerLink]="['standing-instructions-history']" *mifosxHasPermission="'READ_STANDINGINSTRUCTION'">
|
||||
<div class="org-card__icon org-card__icon--slate">
|
||||
<i class="fas fa-book"></i>
|
||||
</div>
|
||||
<div class="org-card__body">
|
||||
<h3 class="org-card__title">{{ 'labels.heading.Standing Instructions History' | translate }}</h3>
|
||||
<p class="org-card__desc">{{ 'labels.text.View logged history' | translate }}</p>
|
||||
</div>
|
||||
<i class="fas fa-chevron-right org-card__arrow"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Bulk Loan Reassignment -->
|
||||
<div #bulkloan>
|
||||
<a class="org-card" [routerLink]="['bulkloan']" *mifosxHasPermission="'BULKREASSIGN_LOAN'">
|
||||
<div class="org-card__icon org-card__icon--orange">
|
||||
<i class="fas fa-money-bill-alt"></i>
|
||||
</div>
|
||||
<div class="org-card__body">
|
||||
<h3 class="org-card__title">{{ 'labels.heading.Bulk Loan Reassignment' | translate }}</h3>
|
||||
<p class="org-card__desc">{{ 'labels.text.Easy way to reassign all the loan' | translate }}</p>
|
||||
</div>
|
||||
<i class="fas fa-chevron-right org-card__arrow"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Investors -->
|
||||
<div #investor>
|
||||
<a class="org-card" [routerLink]="['investors']" *mifosxHasPermission="'READ_OFFICE'">
|
||||
<div class="org-card__icon org-card__icon--teal">
|
||||
<i class="fas fa-user-tie"></i>
|
||||
</div>
|
||||
<div class="org-card__body">
|
||||
<h3 class="org-card__title">{{ 'labels.text.Investors' | translate }}</h3>
|
||||
<p class="org-card__desc">{{ 'labels.text.View the loan account details associated with the investors' | translate }}</p>
|
||||
</div>
|
||||
<i class="fas fa-chevron-right org-card__arrow"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Teller / Cashier Management -->
|
||||
<div #tellers>
|
||||
<a class="org-card" [routerLink]="['tellers']" *mifosxHasPermission="'READ_TELLER'">
|
||||
<div class="org-card__icon org-card__icon--cyan">
|
||||
<i class="fas fa-cash-register"></i>
|
||||
</div>
|
||||
<div class="org-card__body">
|
||||
<h3 class="org-card__title">{{ 'labels.heading.Teller / Cashier Management' | translate }}</h3>
|
||||
<p class="org-card__desc">{{ 'labels.text.Manage Tellers / Cashiers' | translate }}</p>
|
||||
</div>
|
||||
<i class="fas fa-chevron-right org-card__arrow"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Fund Mapping -->
|
||||
<div #fundmapping>
|
||||
<a class="org-card" [routerLink]="['fund-mapping']" *mifosxHasPermission="'READ_OFFICE'">
|
||||
<div class="org-card__icon org-card__icon--rose">
|
||||
<i class="fas fa-money-bill-alt"></i>
|
||||
</div>
|
||||
<div class="org-card__body">
|
||||
<h3 class="org-card__title">{{ 'labels.heading.Fund Mapping' | translate }}</h3>
|
||||
<p class="org-card__desc">{{ 'labels.text.Bulk entry screen for mapping' | translate }}</p>
|
||||
</div>
|
||||
<i class="fas fa-chevron-right org-card__arrow"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Working Days -->
|
||||
<div #workingDays>
|
||||
<a class="org-card" [routerLink]="['working-days']" *mifosxHasPermission="'READ_WORKINGDAYS'">
|
||||
<div class="org-card__icon org-card__icon--green">
|
||||
<i class="fas fa-calendar-alt"></i>
|
||||
</div>
|
||||
<div class="org-card__body">
|
||||
<h3 class="org-card__title">{{ 'labels.heading.Working Days' | translate }}</h3>
|
||||
<p class="org-card__desc">{{ 'labels.text.Working days and configure behaviour of payments' | translate }}</p>
|
||||
</div>
|
||||
<i class="fas fa-chevron-right org-card__arrow"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Password Preferences -->
|
||||
<div #passwordpreferences>
|
||||
<a class="org-card" [routerLink]="['password-preferences']" *mifosxHasPermission="'READ_PASSWORD_VALIDATION_POLICY'">
|
||||
<div class="org-card__icon org-card__icon--red">
|
||||
<i class="fas fa-lock"></i>
|
||||
</div>
|
||||
<div class="org-card__body">
|
||||
<h3 class="org-card__title">{{ 'labels.heading.Password Preferences' | translate }}</h3>
|
||||
<p class="org-card__desc">{{ 'labels.text.The usage of stronger passwords' | translate }}</p>
|
||||
</div>
|
||||
<i class="fas fa-chevron-right org-card__arrow"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Payment Type -->
|
||||
<div #paymenttypes>
|
||||
<a class="org-card" [routerLink]="['payment-types']" *mifosxHasPermission="'READ_PAYMENTTYPE'">
|
||||
<div class="org-card__icon org-card__icon--emerald">
|
||||
<i class="fas fa-dollar-sign"></i>
|
||||
</div>
|
||||
<div class="org-card__body">
|
||||
<h3 class="org-card__title">{{ 'labels.heading.Payment Type' | translate }}</h3>
|
||||
<p class="org-card__desc">{{ 'labels.text.Manage payment types' | translate }}</p>
|
||||
</div>
|
||||
<i class="fas fa-chevron-right org-card__arrow"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Loan Provisioning Criteria -->
|
||||
<div #provisioning>
|
||||
<a class="org-card" [routerLink]="['provisioning-criteria']" *mifosxHasPermission="'VIEW_PROVISIONS'">
|
||||
<div class="org-card__icon org-card__icon--indigo">
|
||||
<i class="fas fa-edit"></i>
|
||||
</div>
|
||||
<div class="org-card__body">
|
||||
<h3 class="org-card__title">{{ 'labels.heading.Loan Provisioning Criteria' | translate }}</h3>
|
||||
<p class="org-card__desc">{{ 'labels.text.Loan Provisioning Criteria Organization' | translate }}</p>
|
||||
</div>
|
||||
<i class="fas fa-chevron-right org-card__arrow"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- SMS Campaigns -->
|
||||
<div #smscampaigns>
|
||||
<a class="org-card" [routerLink]="['sms-campaigns']" *mifosxHasPermission="'VIEW_SMSCAMPAIGNS'">
|
||||
<div class="org-card__icon org-card__icon--purple">
|
||||
<i class="fas fa-envelope"></i>
|
||||
</div>
|
||||
<div class="org-card__body">
|
||||
<h3 class="org-card__title">{{ 'labels.heading.SMS Campaigns' | translate }}</h3>
|
||||
<p class="org-card__desc">{{ 'labels.text.Define SMS Campaigns for Organization' | translate }}</p>
|
||||
</div>
|
||||
<i class="fas fa-chevron-right org-card__arrow"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Entity Data Table Checks -->
|
||||
<div #entitydatatable>
|
||||
<a class="org-card" [routerLink]="['entity-data-table-checks']" *mifosxHasPermission="'READ_ENTITY_DATATABLE_CHECK'">
|
||||
<div class="org-card__icon org-card__icon--slate">
|
||||
<i class="fas fa-check"></i>
|
||||
</div>
|
||||
<div class="org-card__body">
|
||||
<h3 class="org-card__title">{{ 'labels.heading.Entity Data Table Checks' | translate }}</h3>
|
||||
<p class="org-card__desc">{{ 'labels.text.Entity Data Table Checks Organization' | translate }}</p>
|
||||
</div>
|
||||
<i class="fas fa-chevron-right org-card__arrow"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- AdHocQuery -->
|
||||
<div #adhocquery>
|
||||
<a class="org-card" [routerLink]="['adhoc-query']" *mifosxHasPermission="'VIEW_ADHOC'">
|
||||
<div class="org-card__icon org-card__icon--amber">
|
||||
<i class="fas fa-chevron-right"></i>
|
||||
</div>
|
||||
<div class="org-card__body">
|
||||
<h3 class="org-card__title">{{ 'labels.heading.AdHocQuery' | translate }}</h3>
|
||||
<p class="org-card__desc">{{ 'labels.text.Define AdHocQuery for Organization' | translate }}</p>
|
||||
</div>
|
||||
<i class="fas fa-chevron-right org-card__arrow"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Bulk Import -->
|
||||
<div #bulkimport>
|
||||
<a class="org-card" [routerLink]="['bulk-import']" *mifosxHasPermission="'VIEW_BULKIMPORT'">
|
||||
<div class="org-card__icon org-card__icon--blue">
|
||||
<i class="fas fa-upload"></i>
|
||||
</div>
|
||||
<div class="org-card__body">
|
||||
<h3 class="org-card__title">{{ 'labels.heading.Bulk Import' | translate }}</h3>
|
||||
<p class="org-card__desc">{{ 'labels.text.Bulk data import using excel spreadsheet templates' | translate }}</p>
|
||||
</div>
|
||||
<i class="fas fa-chevron-right org-card__arrow"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Configuration Wizard Templates (unchanged) -->
|
||||
<ng-template #templateOffice let-popover="popover">
|
||||
<h2>{{ 'labels.heading.Manage Offices' | translate }}</h2>
|
||||
<p class="mw300">{{ 'labels.text.Manage Offices page allows you to create, edit' | translate }}</p>
|
||||
|
||||
Reference in New Issue
Block a user