chinmaya samantara created FINERACT-2932:
--------------------------------------------
Summary: GET /clients/{clientId}/collaterals returns an empty list
unless prodId is given
Key: FINERACT-2932
URL: https://issues.apache.org/jira/browse/FINERACT-2932
Project: Apache Fineract
Issue Type: Bug
Reporter: chinmaya samantara
Assignee: chinmaya samantara
hen the optional *prodId* query parameter is not given, even though the client
has collaterals.
*Steps to reproduce*
# Create a collateral product (POST /collateral-management) and add it to a
client:
{code:json}
POST /fineract-provider/api/v1/clients/2/collaterals
{ "collateralId": 1, "quantity": "2", "locale": "en" }
{code}
# GET /fineract-provider/api/v1/clients/2/collaterals
*Actual result:* {{[]}}
The collateral exists: GET /clients/2/collaterals/1 returns it, and GET
/clients/2/collaterals?prodId=1 lists it.
*Expected result:* without prodId, all of the client's collaterals are listed.
With prodId, only the collaterals in the loan product's currency (current
behaviour).
*Cause*
ClientCollateralManagementRepositoryWrapper.getClientCollateralData() only adds
a collateral when {{prodId != null && <currency matches>}}, so with no prodId
nothing is ever added. The currency filter should only apply when a loan
product is given: {{prodId == null || <currency matches>}}. The code has been
like this since the collateral module was added (apache/fineract PR #1770,
2021).
Checked on develop 6bb3c0c293.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)