Aman-Mittal opened a new issue, #180:
URL: https://github.com/apache/fineract-backoffice-ui/issues/180
## Business value
Group lending is the defining product of a microfinance institution, and it
is the capability this UI already advertises as an institution-type
differentiator — `InstitutionConfigService` gates Groups behind `mfis`, `cu`
and `universal`, and hides it for a commercial bank.
Behind that gate there is currently a list and a form. `groups.routes.ts`
declares exactly three routes:
```ts
{ path: '' } // list
{ path: 'create' }
{ path: 'edit/:id' }
```
There is no detail view, so once a group exists there is no screen that
shows it. An officer cannot see who is in a group, read its notes, see its
meeting schedule, or perform any action on it. The group lifecycle — activate,
close, transfer clients, manage membership, assign staff — has no
representation in the UI at all, which means those operations either do not
happen or happen in another tool.
This is the largest functional gap in the application. It also blocks
adoption by exactly the institutions the RBAC institution-type work (#113) was
built to serve: enabling `mfis` mode today reveals a feature that cannot be
used.
## Describing the feature
A `/groups/view/:id` route presenting the group as a page with tabs and an
actions menu.
**Tabs**
- **General** — group summary (name, account number, status, office, staff),
member list with links to each client, and the meeting schedule.
- **Notes** — read, add, edit and delete notes against the group.
- **Committee** — group roles and their holders, with assign and unassign.
- **Data tables** — any entity datatables registered against `m_group`,
rendered through the existing datatable-tab support.
**Actions**
- Activate, close
- Assign and unassign staff
- Manage members (add/remove clients)
- Transfer clients to another group
- Attach, edit and reschedule the group meeting
- Record attendance
**Notes on approach**
- Follows the existing detail-view pattern in this repo
(`client-view.component.ts` with `tabs/` and an action dialog), so the shape is
consistent with Clients rather than transcribed from the legacy web-app.
- Permission-gated with `*appHasPermission` per action, and the route stays
gated by institution feature.
- State is held in signals. Angular 22 makes OnPush the default, so a plain
field assigned from an HTTP callback never marks the view dirty (see
`scripts/audit-async-state.mjs`); new screens should not add to that backlog.
- Centers are tracked separately and are intended to reuse this shell.
## Scope
In scope: the view route, the four tabs, and the actions listed above.
Out of scope: the Centers equivalent (separate issue), GSIM/GLIM group
accounts, and bulk group import.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]