feat(shares): one-voucher-per-slot receipt dialogs, Apply Additional Shares as a popup

Apply Collection and Apply Additional Shares settle the same Share Collection
receipts for the same member, so they are now deliberately the same screen.

Apply Collection takes exactly two receipts and no more: one for the share value,
one for the entry fee, in two separate slots. They are different things -- the
share receipt is money moving into share capital, while the fee receipt only
proves the fee was already collected and is never posted a second time -- and
picking both out of one ticked list made that distinction invisible.

Apply Additional Shares moves from its own route to a dialog. It was a full page
a clerk had to leave the account for and come back from, to fill in a short form
with the member standing at the counter. Its old route, resolver case and action-
host branch are removed rather than left behind as dead paths.

Both screens now draw their receipts from a single pool, whether a receipt
already names the member or is a voucher paid straight into a GL account; an
unattributed one is attached at the moment it is picked, so what used to be an
Attach in one table and a tick in another is one deliberate click. The by-voucher
search and the GL-entry detail both sit behind buttons, as exceptions rather than
permanent furniture.

Dialog chrome and the receipt shape are shared (share-dialog.shared.scss,
share-receipt-option.ts) so the two cannot drift apart again.

Also fixes content being clipped at the dialog edges: the wrapper cancelled a
24px surface padding that the panel class had already zeroed, pushing every edge
outside the surface where overflow:hidden cut it off, and the height cap sat on
the scrolling body rather than the wrapper, letting the footer stack past the
bottom of the viewport.

Adds the product-wise share summary report (authorised, issued, available and
unpaid shares, distinctive range and account count per product).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-18 18:56:34 +05:30
co-authored by Claude Opus 5
parent dc7f668056
commit 3c363d0372
22 changed files with 2906 additions and 4229 deletions
+30 -2
View File
@@ -1962,12 +1962,40 @@ mifosx-client-datatable-step * {
}
/* Apply Collection Dialog Panel Styling */
/* No overflow:hidden here. The dialog's own .dialog-wrapper already clips to the same radius, and
clipping at the surface as well cut off the voucher-search and receipt-detail popups, which the
dialog renders as its own fixed-position children. */
.apply-collection-dialog-panel {
.mat-mdc-dialog-container,
.mdc-dialog__surface {
border-radius: 16px !important;
border-radius: 12px !important;
padding: 0 !important;
overflow: hidden !important;
box-shadow: 0 25px 60px -15px rgb(15 23 42 / 30%) !important;
}
// Fix Material MDC button icon + text alignment inside both dialogs
.mat-mdc-button-base {
// The MDC internal label span — make it flex so icon & text sit on the same axis
.mdc-button__label {
display: inline-flex !important;
align-items: center !important;
gap: 0.3rem !important;
line-height: 1 !important;
}
// mat-icon inside any button in these dialogs
.mat-icon {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
width: 18px !important;
height: 18px !important;
font-size: 18px !important;
line-height: 1 !important;
vertical-align: middle !important;
overflow: visible !important;
flex-shrink: 0;
}
}
}