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