At present when a reserved item is returned to a library branch which is not the branch set as the pickup location for the reserve then after clicking the 'Confirm hold and transfer' button on the return modal box the items current location is set to the pickup location even though the item is actually in transit. The current location of the item should be set as the branch that the item was returned to whilst in transit and only change to the pickup location when it checked in at the pickup location branch.
Created attachment 72899 [details] [review] Bug 20419 - Removed updating of holdingbranch in ModItemTransfer() The call to ModItem to update the holdingbranch has been removed from the ModItemTransfer function in C4/Items.pm this is because the holdingbranch should only be changed when the item is checked in at the destination branch not whilst it is in transit. Test plan: 1. Ensure the system preference AutomaticItemReturn is set to 'Dont' 2. Place a reserve on an item to be picked up at branch b 3. Check out the item to a different patron 4. Check the item back in to branch a 5. Select 'Confirm hold and transfer' button in the modal box that appears 6. Notice that the current location of the item visible on the item tab of the detail.pl page of the record is set as branch b even though the item is in transit 7. Apply patch 8. Restart apache2, memcached and plack (if it is enabled) 9. Repeat steps 1, 2, 3, 4, 5 and notice that the current location is set to branch a 10. Check the item in at branch b and notice that the current location of the item is now branch b Sponsored-By: Catalyst IT
Please include unit tests when modifying C4 or Koha libraries. This prevents regression. It would be nice if they fail before the fix, and then pass after the fix.
I believe this has been fixed in master. Can someone else confirm that this is no longer a bug?