Bug 5800 - Hold Policy "home library only" incompatible with CircControl "patron home library"
Summary: Hold Policy "home library only" incompatible with CircControl "patron home li...
Status: ASSIGNED
Alias: None
Product: Koha
Classification: Unclassified
Component: Hold requests (show other bugs)
Version: master
Hardware: All All
: P3 normal (vote)
Assignee: Bugs List
QA Contact: Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-23 13:07 UTC by Ian Walls
Modified: 2019-05-04 12:12 UTC (History)
6 users (show)

See Also:
Change sponsored?: ---
Patch complexity: ---
Who signed the patch off:
Text to go in the release notes:
Version(s) released in:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ian Walls 2011-02-23 13:07:14 UTC
If a branch's Hold Policy for an item (or default) is configured to only allow holds for patrons belonging to that branch (value = 1), and the CircControl system preference is set to PatronHomeLibrary, the Holds Policy breaks.  The holds policy from the patron's home library is used, which, unless it's set to deny ALL holds, will let them place a hold on any item at any library, regardless of that libraries Hold Policy.

The root of the problem is using _GetCircControlBranch to generate the $branchcode used for determining the Hold Policy.  Unfortunately, using $item->{homebranch} universally would not always work for libraries who want the item's current holding branch to set the policies.
Comment 1 dev_patches 2011-02-24 01:00:47 UTC
see : 
http://git.biblibre.com/?p=koha;a=blob;f=C4/Reserves.pm;h=06a276b47351b0f0523ce7d82ebd7a36bd4dee91;hb=2cd4c147a4f30922628e59e20a2075c874861bc9
iirc, we built ReservesControlBranch because Libraries may like to use a different library for control.
Moreover, in that context, PickupLibrary would be a nonesense to control the policy.
Hope that helps.
Comment 2 Ian Walls 2011-02-24 01:23:01 UTC
The nearly-deprecated HomeorHoldingBranch may be a good candidate for this kind of control.

Or, perhaps a new page needs to be built to allow libraries to configure which branche are used for policy decisions:

Checkout/Renewal:  HomeBranch, HoldingBranch, PatronBranch

Returns:  HomeBranch, HoldingBranch, CurrentlyLoggedInBranch (to better handle transfers.  HomeBranch would just tell the system it should go home, holding branch would indicate it should go to the branch it was checked out from, and CurrentlyLoggedInBranch, well...)

Holds:  HomeBranch, HoldingBranch, CurrentlyLoggedInBranch(?)

Overdues/Fines:  HomeBranch, HoldingBranch, PatronBranch
Comment 3 Marc Véron 2015-12-20 14:09:15 UTC
Still valid for current master?
Comment 4 Katrin Fischer 2019-05-04 12:12:33 UTC
Is this fixed by the existing ReservesControlBranch maybe?