https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=19814 --- Comment #148 from Marcel de Rooy <m.de.rooy@rijksmuseum.nl> --- Created attachment 204045 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=204045&action=edit Bug 19814: (follow-up) Only receive in-transit transfers in ModReserveAffect ModReserveAffect() unconditionally called ->receive on whatever Koha::Item->get_transfer returned when filling a hold at its own pickup branch. get_transfer() deliberately falls back to a merely *requested* (never sent) transfer once any in-transit transfer for the item has already been received elsewhere -- this is what lets transfers queue behind each other (stock rotation, manual transfers, WrongTransfer repairs). That fallback made ModReserveAffect stamp datearrived on a completely unrelated, never-dispatched transfer any time a hold's own transfer had already been received earlier in the same checkin (e.g. an in-transit Reserve transfer arriving directly via AddReturn, leaving a queued WrongTransfer-repair request to a third branch as the last remaining "current" transfer). The queued transfer was falsely marked arrived even though it had never been sent. Only an in-transit transfer can meaningfully be said to have arrived; a requested-but-unsent one hasn't gone anywhere and must be left alone for staff to dispatch later. Test plan: 1. prove t/db_dependent/Reserves.t t/db_dependent/Circulation.t t/db_dependent/Koha/Hold.t t/db_dependent/Holds/WaitingReserves.t t/db_dependent/HoldsQueue.t 2. Reproduce via circ/returns.pl: check in an item at a branch where it has an active (sent) transfer to a third branch, so WrongTransfer repair creates a new, unsent replacement request. Separately confirm a hold for the same item that gets its own transfer dispatched and received. Confirming the hold no longer marks the unrelated, unsent WrongTransfer-repair transfer as arrived. Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> -- You are receiving this mail because: You are watching all bug changes.