Aman-Mittal opened a new issue, #798:
URL: https://github.com/apache/fineract-backoffice-ui/issues/798

   #### Summary
   Many forms in the back office send the user to the **list** page after a 
successful save or account action, rather than to the record they were working 
on. Some forms also show no success message.
   
   Account opening is a chain of steps (create → approve → activate → deposit), 
so the operator has to find the same account again in the list after every step.
   
   #### Current behavior
   Observed live while opening and funding a savings account, and creating 
clients:
   
   | Action | Where the user lands | Success message |
   |---|---|---|
   | Create client | `/clients` (list) | none |
   | Edit client | `/clients` (list) | none |
   | Create savings account | `/products/savings-accounts` (list) | — |
   | Approve savings account | `/products/savings-accounts` (list) | — |
   | Activate savings account | `/products/savings-accounts` (list) | — |
   | Deposit / Withdraw | `/products/savings-accounts` (list) | — |
   | Loan transaction (repayment etc.) | `/loans` (list), per source | — |
   | Fixed-deposit transaction | the account page ✓ | — |
   
   In source (`main` @ `8da1086f`):
   - `client-form.component.ts` calls `router.navigate([this.LIST_PATH])` on 
success of both create and update, and doesn't call the toast service. The 
group form does the same.
   - `savings-account-transaction-form.component.ts` navigates to 
`['/products/savings-accounts']`, and `loan-transaction-form.component.ts` to 
`['/loans']`.
   - The fixed-deposit transaction form already returns to the account 
(`['/products/fixed-deposits/view', accountId]`), which shows the intended 
pattern.
   
   #### Expected behavior
   - After **creating** a record, open the new record, using the id returned in 
the response (`clientId`, `savingsId`, `loanId`, …).
   - After **editing** a record or running an **action** on it, return to that 
record's page with refreshed data.
   - Show a short, consistent success confirmation for every mutating action 
("Client created", "Deposit of 100.00 posted"). When maker-checker queues the 
command instead, say so.
   
   #### Steps to reproduce
   1. Create a client and save. You land on the client list with no 
confirmation.
   2. Create a savings account for that client, then approve it. You land on 
the savings list.
   3. Find the account again and activate it. You land on the list again.
   4. Find it again and post a deposit. You land on the list again.
   
   #### User impact
   - Opening and funding one savings account took four separate searches for 
the same record.
   - With no confirmation, users can't be sure the save succeeded. That 
encourages re-submitting, which together with #756 (double submit) can create 
duplicates.
   - New clients appear at the top of the list, which is easy to misread when 
several staff are creating clients at once.
   
   #### Evidence
   - E2E run on 2026-10-16: client #6 and #7 created, and savings account #6 
created, approved, activated, credited with a 100 deposit and debited with a 20 
withdrawal. Every step returned HTTP 200 and redirected to the list. The final 
balance of 80 was verified on the account page and through `GET 
/savingsaccounts/6`.
   - For client creation, a 200 ms poll for `ion-toast` elements from Save 
until 3 s after the response found none.
   
   #### Proposed improvement
   - Introduce a shared "after mutation" helper. It navigates to the record 
page by id (or stays on the current record for actions) and shows a translated 
success toast. If the response carries a pending maker-checker command, the 
toast says the change was submitted for approval.
   - Apply it to the client, group and centre forms, to the savings, loan and 
recurring-deposit transaction forms, and to the account action form.
   
   #### Acceptance criteria
   - [ ] Creating a client, group, loan or savings account opens the new record.
   - [ ] Editing or running an action on a record returns to that record with 
fresh data.
   - [ ] Every successful create, update, action and transaction shows a 
success message. Maker-checker submissions show a "submitted for approval" 
message instead.
   - [ ] Unit tests assert the navigation target and the toast for each updated 
form.
   
   #### Verification status
   Reproduced on the deployed `main` (2026-10-16), superuser, tenant `default`. 
The navigation targets were confirmed in source.
   
   #### Related API capabilities
   None needed. The create responses already return the new resource id 
(`resourceId`, plus `clientId`, `savingsId` or `loanId`), and command responses 
carry `commandId` when maker-checker applies.
   
   Related: #756 (duplicate submissions).
   


-- 
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]

Reply via email to