Files
cbsnexora/src/app/organization/organization.component.html
T

533 lines
22 KiB
HTML

<!--
Copyright since 2025 Mifos Initiative
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
-->
<div class="org-container">
<!-- Page header -->
<div class="org-header">
<div class="org-header__icon">
<i class="fas fa-sitemap"></i>
</div>
<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>
<!-- Bank Profile -->
<div #institutionProfile>
<a class="org-card" [routerLink]="['institution-profile']" *mifosxHasPermission="'READ_INSTITUTIONPROFILE'">
<div class="org-card__icon org-card__icon--blue">
<i class="fas fa-university"></i>
</div>
<div class="org-card__body">
<h3 class="org-card__title">Bank Profile</h3>
<p class="org-card__desc">Bank name, legal name, code, registration and contact details</p>
</div>
<i class="fas fa-chevron-right org-card__arrow"></i>
</a>
</div>
<!-- Branch Profile -->
<div #branchProfile>
<a class="org-card" [routerLink]="['branch-profile']" *mifosxHasPermission="'READ_BRANCHPROFILE'">
<div class="org-card__icon org-card__icon--blue">
<i class="fas fa-code-branch"></i>
</div>
<div class="org-card__body">
<h3 class="org-card__title">Branch Profile</h3>
<p class="org-card__desc">Branch code, address, contact, type and working hours per office</p>
</div>
<i class="fas fa-chevron-right org-card__arrow"></i>
</a>
</div>
<!-- Clearing GL Configuration -->
<div #clearingGlConfig>
<a class="org-card" [routerLink]="['clearing-gl-config']" *mifosxHasPermission="'READ_CLEARINGGLCONFIG'">
<div class="org-card__icon org-card__icon--amber">
<i class="fas fa-exchange-alt"></i>
</div>
<div class="org-card__body">
<h3 class="org-card__title">Clearing GL Configuration</h3>
<p class="org-card__desc">Map CTS, NACH and RTGS clearing roles to their GL accounts</p>
</div>
<i class="fas fa-chevron-right org-card__arrow"></i>
</a>
</div>
<!-- RBI Reserve Configuration -->
<div #rbiReserveConfig>
<a class="org-card" [routerLink]="['rbi-reserve-config']" *mifosxHasPermission="'READ_RBIRESERVECONFIG'">
<div class="org-card__icon org-card__icon--amber">
<i class="fas fa-percent"></i>
</div>
<div class="org-card__body">
<h3 class="org-card__title">RBI Reserve Configuration</h3>
<p class="org-card__desc">CRR and SLR rates, and the GL accounts behind Form 1 and Form 9</p>
</div>
<i class="fas fa-chevron-right org-card__arrow"></i>
</a>
</div>
<!-- TDS Configuration -->
<div>
<a class="org-card" [routerLink]="['tds-config']" *mifosxHasPermission="'READ_TDSCONFIG'">
<div class="org-card__icon org-card__icon--amber">
<i class="fas fa-receipt"></i>
</div>
<div class="org-card__body">
<h3 class="org-card__title">TDS Configuration</h3>
<p class="org-card__desc">TDS thresholds and rates per financial year, and the TDS payable GL</p>
</div>
<i class="fas fa-chevron-right org-card__arrow"></i>
</a>
</div>
<!-- OSS 1 GL Configuration -->
<div #oss1GlConfig>
<a class="org-card" [routerLink]="['oss1-gl-config']" *mifosxHasPermission="'READ_RBIRESERVECONFIG'">
<div class="org-card__icon org-card__icon--amber">
<i class="fas fa-scale-balanced"></i>
</div>
<div class="org-card__body">
<h3 class="org-card__title">OSS 1 GL Configuration</h3>
<p class="org-card__desc">
GL accounts behind OSS 1 — Return on Assets and Liabilities, read as closing balances
</p>
</div>
<i class="fas fa-chevron-right org-card__arrow"></i>
</a>
</div>
<!-- OSS 2 GL Configuration -->
<div #oss2GlConfig>
<a class="org-card" [routerLink]="['oss2-gl-config']" *mifosxHasPermission="'READ_RBIRESERVECONFIG'">
<div class="org-card__icon org-card__icon--amber">
<i class="fas fa-chart-line"></i>
</div>
<div class="org-card__body">
<h3 class="org-card__title">OSS 2 GL Configuration</h3>
<p class="org-card__desc">GL accounts behind OSS 2 — Return on Earnings, read as quarterly movement</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 (opens unified Bank Calendar UI) -->
<div #holidays>
<a class="org-card" [routerLink]="['/bank-calendar']" *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>
<!-- Sponsor Banks -->
<div>
<a class="org-card" [routerLink]="['sponsor-banks']">
<div class="org-card__icon org-card__icon--emerald">
<i class="fas fa-university"></i>
</div>
<div class="org-card__body">
<h3 class="org-card__title">Sponsor Banks</h3>
<p class="org-card__desc">Manage banks on whose behalf demand drafts are issued</p>
</div>
<i class="fas fa-chevron-right org-card__arrow"></i>
</a>
</div>
<!-- Sponsor DD GST / GL Settings -->
<div>
<a class="org-card" (click)="openGstGlSettings()">
<div class="org-card__icon org-card__icon--emerald">
<i class="fas fa-percentage"></i>
</div>
<div class="org-card__body">
<h3 class="org-card__title">Sponsor DD GST / GL Settings</h3>
<p class="org-card__desc">Set the GST rate charged on DD issuance commission, and its GL account</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>
<div class="layout-row align-end gap-2px responsive-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(); previousStepOffice()">
{{ 'labels.buttons.Back' | translate }}
</button>
<button mat-raised-button color="primary" (click)="popover.close(); nextStepOffice()">
{{ 'labels.buttons.Next' | translate }}
</button>
</div>
</ng-template>
<ng-template #templateAddEditCurrency let-popover="popover">
<h2>{{ 'labels.heading.Currency Configuration' | translate }}</h2>
<p class="mw300">{{ 'labels.text.Define what currencies interactions within the Mifos X system' | translate }}</p>
<div class="layout-row align-end gap-2px responsive-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(); previousStepAddEditCurrency()">
{{ 'labels.buttons.Back' | translate }}
</button>
<button mat-raised-button color="primary" (click)="popover.close(); nextStepAddEditCurrency()">
{{ 'labels.buttons.Next' | translate }}
</button>
</div>
</ng-template>
<ng-template #templateHolidays let-popover="popover">
<h2>{{ 'labels.heading.Manage Holidays' | translate }}</h2>
<p class="mw300">{{ 'labels.text.Ability to manage holidays for individual offices' | translate }}</p>
<div class="layout-row align-end gap-2px responsive-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(); previousStepHolidays()">
{{ 'labels.buttons.Back' | translate }}
</button>
<button mat-raised-button color="primary" (click)="popover.close(); nextStepHolidays()">
{{ 'labels.buttons.Next' | translate }}
</button>
</div>
</ng-template>
<ng-template #templateEmployee let-popover="popover">
<h2>{{ 'labels.heading.Manage Employees' | translate }}</h2>
<p class="mw300">{{ 'labels.text.View, edit and delete employees of your organization' | translate }}</p>
<div class="layout-row align-end gap-2px responsive-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(); previousStepEmployee()">
{{ 'labels.buttons.Back' | translate }}
</button>
<button mat-raised-button color="primary" (click)="popover.close(); nextStepEmployee()">
{{ 'labels.buttons.Next' | translate }}
</button>
</div>
</ng-template>
<ng-template #templateWorkingDays let-popover="popover">
<h2>{{ 'labels.heading.Working Days' | translate }}</h2>
<p class="mw300">{{ 'labels.text.Working days page allows you to define which days' | translate }}</p>
<div class="layout-row align-end gap-2px responsive-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(); previousStepWorkingDays()">
{{ 'labels.buttons.Back' | translate }}
</button>
<button mat-raised-button color="primary" (click)="popover.close(); nextStepWorkingDays()">
{{ 'labels.buttons.Next' | translate }}
</button>
</div>
</ng-template>
<ng-template #templateManageFunds let-popover="popover">
<h2>{{ 'labels.heading.Manage Funds' | translate }}</h2>
<p class="mw300">{{ 'labels.text.This allows you to manage funds associated with loans.' | translate }}</p>
<div class="layout-row align-end gap-2px responsive-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(); previousStepManageFunds()">
{{ 'labels.buttons.Back' | translate }}
</button>
<button mat-raised-button color="primary" (click)="popover.close(); nextStepManageFunds()">
{{ 'labels.buttons.Next' | translate }}
</button>
</div>
</ng-template>