To replicate: - Have branches A & B - In the Libraries setup, set A to be a pickup location, B to not be a pickup location - Set ReservesControl to Item's Home Library - Have a bib with two items, one owned by each branch - Confirm circ rules say all items on your bib are holdable by all patrons - On your bib, try to place a hold via the intranet - Confirm Koha allows a hold on the bib or on the Branch A item, but the Branch B item gives the message "libraryNotPickupLocation" As Koha checks whether each hold is allowed, it assumes a pickup branch of whatever's indicated by ReservesControl. So it assumes the Branch A item would be a hold for pickup at Branch A (allowed location) and the hold for the Branch B item would be for pickup at Branch B (un-allowed location). But that assumption is wrong.
Oh, one more thing: This only impacts holds placed via the intranet. If you follow those same steps but place the hold via the OPAC you will not get an error.
Please, ponder the global solution proposed on bug 28338.
*** This bug has been marked as a duplicate of bug 28338 ***
Tomas's work on 28338 solves this problem along with some other things.