Files
cbsnexora/src/app/organization/clearing-gl-config/clearing-gl-config.component.html
T
niteshandClaude Sonnet 5 da1f57c3b6
Playwright E2E Tests / Run Playwright Tests (push) Canceled after 0s
Tests / testRigor (push) Canceled after 0s
build-run / Run Lint, Build and Deploy (push) Canceled after 0s
Publish Image in Docker Hub / build (push) Canceled after 0s
feat(cashier,organization): denomination-aware vault UI, Bank/Branch Profile screens, popup disbursement review
Branch Day open/close now captures a denomination-wise count (carried
forward automatically to the next day), and shows an auto-fetched EOD
summary at close time -- vault + every cashier's position, a branch-total
reconciliation against the book figure, and each cashier's
reconciliation/settlement status and transaction count -- so closing the day
no longer means separately checking Vault Position and every cashier's own
screen by hand. New Vault Position screen (branch-ops menu) mirrors Cashier
Position for the teller/vault. Cash Transfer now shows the vault's live
per-denomination availability while counting a handout, with a client-side
warning before it can be over-counted.

New Organization screens for Bank Profile, Branch Profile and Clearing GL
Configuration, wired into the Organization landing page and the
previously-dead "Bank Profile" admin menu button.

Cashier Transaction Entry: TYPE is now Receipt/Payment only (cash-only TXN
TP.) on the cashier side, with no change to the clerk dashboard's own
Withdrawal Slip/Cheque/Disbursement/Enter Bank Transfer/DD flow beyond
adding a new Fund Transfer type alongside Disbursement for a GL credit that
isn't a loan payout. Neither TYPE nor TXN TP. offers a blank placeholder
option anymore -- a new row starts on a real default instead. Footer no
longer polls the business-date config for cashier/clerk roles, who never
have permission to read it.

Disbursement & Transfer Requests: "Review" now opens the review screen as a
popup instead of navigating to a separate route, refreshing the list on
close; the review screen recognises the new Fund Transfer request type
too, and its non-functional "+ Disbursement Review" tab-styled label is now
a plain heading.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-28 14:40:13 +05:30

71 lines
2.3 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="cgc-container">
<div class="cgc-header">
<button mat-stroked-button [routerLink]="['/organization']" class="cgc-back">
<i class="fas fa-arrow-left"></i> Organization
</button>
<h2 class="cgc-header__title">Clearing GL Configuration</h2>
</div>
<p class="cgc-sub">
Which GL account backs each clearing role. An unmapped role posts nowhere — map it here before that clearing channel
goes live.
</p>
@if (errorMsg) {
<div class="cgc-alert cgc-alert--error">{{ errorMsg }}</div>
}
@if (successMsg) {
<div class="cgc-alert cgc-alert--success">{{ successMsg }}</div>
}
@if (loading) {
<div class="cgc-loading">Loading…</div>
} @else {
<div class="cgc-card">
<table class="cgc-table">
<thead>
<tr>
<th>Clearing Role</th>
<th>Description</th>
<th>Mapped GL Account</th>
</tr>
</thead>
<tbody>
@for (row of rows; track row.configKey) {
<tr>
<td>
<span class="cgc-key">{{ row.configKey }}</span>
</td>
<td class="cgc-desc">{{ row.description }}</td>
<td>
<mat-form-field appearance="outline" subscriptSizing="dynamic" class="cgc-select">
<mat-select
[value]="row.glAccountId"
[disabled]="savingKey === row.configKey"
(selectionChange)="onSelect(row, $event.value)"
>
<mat-option [value]="null">— Not mapped —</mat-option>
@for (o of glAccountOptions; track o.id) {
<mat-option [value]="o.id">{{ o.glCode }} · {{ o.name }}</mat-option>
}
</mat-select>
</mat-form-field>
@if (!row.glAccountId) {
<span class="cgc-unmapped">Unmapped</span>
}
</td>
</tr>
}
</tbody>
</table>
</div>
}
</div>