Testing by talkingtech to use the Koha sip interface for telephone renewals found that the response to a renew all request was returning more renewed items than the user actually had on loan.
The usual workflow is for the client to send a patron info request to get a list of onloan items. The client can then send renewal requests individually or for all.
Subsequent testing found that in a simple case after a couple of calls to renew_all for the same patron with one item on loan caused the response to list the same item twice, then three times, then four etc (on initial testing the number of items was wrong but as they came from another borrower it was not so clear that the list was just repeating from a previous session.
Cause is that the data members used to return the list of item barcodes was not being cleared for the transaction and items could persist from a previous transaction
Created attachment 7256 [details] [review]
talkingtech and Staffordshire University have tested on their systems and the proposed patch corrects the system behaviour
Created attachment 7750 [details] [review]
Bug 7454 Initialize return arrays in ILS/Transaction/RenewAll
Explicitly clear these arrays and update them directly.
In practice item numbers were already in them when called
so that more items were being returned than were actually
renewed (or failed)
Signed-off-by: Chris Cormack <firstname.lastname@example.org>
Functionally sound patch, and tested in production
QA comment: tiny patch, passed QA
This patch will be included in the forthcoming 3.6.5 release (no string changes).