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

   ### Summary
   On **Products → Loan Products → Create**, the *Other Settings → "Repayments 
are counted from"* dropdown opens an empty popover. Both options render with no 
text, so the user can't tell which one they're picking.
   
   ### Environment
   - App: https://aman-mittal.github.io/fineract-backoffice-ui (deployed 
`main`), `/products/loan/create`
   - Backend: `sandbox.mifos.community`, tenant `default`
   - Role: superuser
   - 2026-10-16
   
   ### Preconditions
   `CREATE_LOANPRODUCT`.
   
   ### Steps to reproduce
   1. **Products → Loan Products → Create Loan Product**.
   2. Scroll to **Other Settings** and open **Repayments are counted from**.
   
   ### Expected behavior
   Two labelled options: "Disbursement Date" and "Submitted On Date".
   
   ### Actual behavior
   A popover with two blank rows. In the DOM the options are 
`<ion-select-option value="1"></ion-select-option>` and `value="2"`, both with 
no text.
   
   ### Evidence
   `GET /loanproducts/template` → 
   ```json
   "repaymentStartDateTypeOptions": [
     
{"id":1,"code":"repaymentStartDateType.disbursementDate","value":"Disbursement 
Date"},
     {"id":2,"code":"repaymentStartDateType.submittedOnDate","value":"Submitted 
On Date"}
   ]
   ```
   `src/app/features/products/loan-product-form.component.ts` (~line 1217):
   ```html
   @for (option of repaymentStartDateTypeOptions(); track option.id) {
     <ion-select-option [value]="option.id">{{ option.description 
}}</ion-select-option>
   ```
   There's no `description` property on these options; the label is in `value`. 
The generated type `GetLoanProductsRepaymentStartDateType` likely declares 
`description`, which is another instance of #653 (generated models disagreeing 
with real payloads).
   
   ### Impact
   The setting decides whether the first repayment is counted from disbursement 
or submission, which shifts every installment date. Administrators either leave 
it unset or choose blind.
   
   ### Suggested investigation
   Render `option.value` (falling back to a translated label for `code`), and 
check the other template-backed selects on this form for the same `description` 
vs `value` mismatch.
   
   ### Verification status
   Reproduced. Screenshot taken locally.
   
   ### Related endpoints
   `GET /loanproducts/template`
   
   ### Acceptance criteria
   - Both options show readable, translated labels.
   - A unit test with the real template fixture asserts the option text.
   
   ### Related issues
   #653.


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