You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@fineract.apache.org by "Aman-Mittal (via GitHub)" <gi...@apache.org> on 2026/08/02 15:50:46 UTC
[PR] fix(system): give the code screens the shared table, and stop showing raw keys [fineract-backoffice-ui]
Aman-Mittal opened a new pull request, #224:
URL: https://github.com/apache/fineract-backoffice-ui/pull/224
Part of #222 — two of the seven hand-rolled list screens.
### No way to find a code
Manage Codes and Code Values built their own tables, so unlike the other 78 list screens they had
no search, no paging, no empty state and no retry. A stock Fineract ships around forty codes and
the screen offered no way to find one; scrolling was the only option, on a screen whose entire
purpose is looking a specific code up.
Both now render through `app-data-table` with `[localLogic]="true"` — appropriate here since these
endpoints return the whole list in one response — and both surface a failed load with a retry
instead of rendering zero rows. Before, an empty table and a failed request looked identical, which
is the failure mode a user cannot diagnose and support cannot reproduce.
### A raw translation key was being shown to users
Found while converting. The delete confirmation ran:
```ts
window.confirm(`${'CODES.CONFIRM_DELETE'}: ${row.name}`)
```
That interpolates the **key**, not the translation, so the dialog literally read:
> CODES.CONFIRM_DELETE: Client Closure Reason
Both screens now use the application's own confirm dialog with the string resolved and the item
named, and the messages say what is actually at stake — deleting a code takes its values with it:
> Delete the code “Client Closure Reason”? Any values under it go with it.
### Smaller things
- The delete action on a **system-defined** code was rendered with `visibility: hidden` while still
occupying its place in the row. It is now absent: a control that can never work should not be
there to click.
- Action buttons became icon-only with `aria-label`, matching the other converted lists.
- The hold dialog's amount field carried `data-testid="savings-hold-amount"` — the same id as the
menu item that opens it, so a selector could match either. Renamed to
`savings-hold-amount-input`.
### Verification
| Check | Result |
|---|---|
| Unit tests | **768 passing** |
| Mocked Playwright | **210/210 passing** |
| `tsc` (app + spec), build, lint, format, i18n, icons | clean |
### Scope notes
**#221 is deliberately not in this PR.** It is assigned, and the branch originally carried a fix
for it; I reverted that so whoever took it gets an unmodified starting point.
**Five hand-rolled screens remain** under #222 — templates, notifications, email campaigns, SMS
campaigns and office transactions. They are unchanged here, one screen per PR as that issue
describes.
Separately, the audit found **29 `window.confirm` calls** across features that use hardcoded
English in the browser's native dialog rather than `DialogService.confirm` — the same class as the
bug fixed here, without the raw-key display. Not addressed in this PR.
--
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: issues-unsubscribe@fineract.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] fix(system): give the code screens the shared table, and stop showing raw keys [fineract-backoffice-ui]
Posted by "Aman-Mittal (via GitHub)" <gi...@apache.org>.
Aman-Mittal merged PR #224:
URL: https://github.com/apache/fineract-backoffice-ui/pull/224
--
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: issues-unsubscribe@fineract.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org