Bug 33074: Take ReservesControlBranch into account in opac-reserve.pl
Test plan: 1. Set system preferences: - Disable OPACAllowUserToChooseBranch - Set ReservesControlBranch to "item's home library" - Enable UseBranchTransferLimits - Set BranchTransferLimitsType to "item type" - Enable canreservefromotherbranches - Disable IndependantBranches 2. Create two libraries: ITEM_LIB and PATRON_LIB 3. Set circulation rules: - Remove all circulation rules (DELETE FROM circulation_rules) - Set a default rule that allow some holds and with "OPAC item level holds" = "force". Allow "on shelf" holds for easier testing. - In the rules for ITEM_LIB, under "Default checkout, hold and return policy", - set "Hold policy" to "From any library" - set "Hold pickup library match" to "item's home library" - In the rules for PATRON_LIB, under "Default checkout, hold and return policy", - set "Hold policy" to "From any library", - set "Hold pickup library match" to "any library" 4. In "Library transfer limits" disable all transfers from ITEM_LIB to PATRON_LIB for an item type (let's say "BOOK") 5. Create a biblio with an item: - item type must be the same as in previous step ("BOOK") - home branch and holding branch must be ITEM_LIB 6. Create a patron at PATRON_LIB, give it a password so it can log in. 7. Go to OPAC, and login with this patron 8. Try to place a hold for the new item. You should be allowed to place a hold, but when doing it, no holds will be created. 9. Apply patch, restart Koha 10. Try to place a hold for the new item. This time the hold should be created Signed-off-by: Jessie Zairo <jzairo@bywatersolutions.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> [EDIT] Merged tidy patch and switch to Koha::Policy::Holds here. Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
parent
97307b881d
commit
ee381ca702
1 changed files with 3 additions and 2 deletions
|
@ -230,8 +230,9 @@ if ( $query->param('place_reserve') ) {
|
|||
my $item = $itemNum ? Koha::Items->find( $itemNum ) : undef;
|
||||
# When choosing a specific item, the default pickup library should be dictated by the default hold policy
|
||||
if ( ! C4::Context->preference("OPACAllowUserToChooseBranch") && $item ) {
|
||||
my $type = $item->effective_itemtype;
|
||||
my $rule = GetBranchItemRule( $patron->branchcode, $type );
|
||||
my $type = $item->effective_itemtype;
|
||||
my $reserves_control_branch = Koha::Policy::Holds->holds_control_library( $item, $patron );
|
||||
my $rule = GetBranchItemRule( $reserves_control_branch, $type );
|
||||
|
||||
if ( $rule->{hold_fulfillment_policy} eq 'any' || $rule->{hold_fulfillment_policy} eq 'patrongroup' ) {
|
||||
$branch = $patron->branchcode;
|
||||
|
|
Loading…
Reference in a new issue