If you have independent branches and forbid holds between branches you won't be able to place a hold on an item you should be able to reserve. This is because it tests the item homebranch as if the $item variable was a hash whereas, if it did began as such, by the middle of the function it is replaced by a Koha object. So $item->{homebranch} should be $item->homebranch. Patch coming soon.
Also affects 16.11
Created attachment 60542 [details] [review] Bug 18150 - CanItemBeReserved doesn't work with (IndependentBranches AND ! canreservefromotherbranches) The variable $item used to be a hash, but at the end of the function, it's a Koha object. As $item->{homebranch} doesn't yield anything and should be $item->homebranch. It prevents people using different branches without holds between branches from placing a hold on an item they should be able to place hold on. Test plan: 1. Before patch a. with IndependantBranches off b. try to place hold on an item you should be able to place hold on c. it should work d. put IndependantBranches on and canreservefromotherbranches off e. shouldn't work 2. after patches redo steps from (1) and everything should be working fine.
Created attachment 60853 [details] [review] [SIGNED OFF] Bug 18150 - CanItemBeReserved doesn't work with (IndependentBranches AND ! canreservefromotherbranches) The variable $item used to be a hash, but at the end of the function, it's a Koha object. As $item->{homebranch} doesn't yield anything and should be $item->homebranch. It prevents people using different branches without holds between branches from placing a hold on an item they should be able to place hold on. Test plan: 1. Before patch a. with IndependantBranches off b. try to place hold on an item you should be able to place hold on c. it should work d. put IndependantBranches on and canreservefromotherbranches off e. shouldn't work 2. after patches redo steps from (1) and everything should be working fine. Signed-off-by: Your Full Name <your_email>
Created attachment 60854 [details] [review] [SIGNED OFF] Bug 18150 - CanItemBeReserved doesn't work with (IndependentBranches AND ! canreservefromotherbranches) The variable $item used to be a hash, but at the end of the function, it's a Koha object. As $item->{homebranch} doesn't yield anything and should be $item->homebranch. It prevents people using different branches without holds between branches from placing a hold on an item they should be able to place hold on. Test plan: 1. Before patch a. with IndependantBranches off b. try to place hold on an item you should be able to place hold on d. put IndependantBranches on and canreservefromotherbranches off e. shouldn't work 2. after patches redo steps from (1) and everything should be working fine. Signed-off-by: Christopher Brannon <cbrannon@cdalibrary.org>
Created attachment 60901 [details] [review] Bug 18150 - CanItemBeReserved doesn't work with (IndependentBranches AND ! canreservefromotherbranches) The variable $item used to be a hash, but at the end of the function, it's a Koha object. As $item->{homebranch} doesn't yield anything and should be $item->homebranch. It prevents people using different branches without holds between branches from placing a hold on an item they should be able to place hold on. Test plan: 1. Before patch a. with IndependantBranches off b. try to place hold on an item you should be able to place hold on c. it should work d. put IndependantBranches on and canreservefromotherbranches off e. shouldn't work 2. after patches redo steps from (1) and everything should be working fine. Signed-off-by: Christopher Brannon <cbrannon@cdalibrary.org> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Note: Item is fetched twice, it's not necessary. But out of the scope of this patch.
Pushed to Master - Should be in the 17.05 release. Thanks!
This patch has been pushed to 16.11.x and will be in 16.11.06.