From 4bb9f135e7662c5964b2920672c4cf2eb3e710f1 Mon Sep 17 00:00:00 2001 From: Hammat Wele Date: Mon, 5 Dec 2022 17:36:42 +0000 Subject: [PATCH] Bug 30556: Changing the logged-in user's branch by pick-up location --- opac/opac-ISBDdetail.pl | 11 ++++++++++- opac/opac-MARCdetail.pl | 11 ++++++++++- opac/opac-detail.pl | 11 ++++++++++- 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/opac/opac-ISBDdetail.pl b/opac/opac-ISBDdetail.pl index 3f9446583a..8f8844cabb 100755 --- a/opac/opac-ISBDdetail.pl +++ b/opac/opac-ISBDdetail.pl @@ -179,7 +179,16 @@ my $res = GetISBDView({ my $items = $biblio->items; while ( my $item = $items->next ) { - $is_available = IsAvailableForItemLevelRequest($item, $patron, $currentbranch) + my $default_hold_pickup_location_pref = C4::Context->preference('DefaultHoldPickupLocation'); + my $pickup_branch; + if( $default_hold_pickup_location_pref eq 'homebranch' ){ + $pickup_branch = $item->{homebranch} ? $item->{homebranch} : undef; + } elsif ( $default_hold_pickup_location_pref eq 'holdingbranch' ){ + $pickup_branch = $item->{holdingbranch} ? $item->{holdingbranch} : undef; + } else { + $pickup_branch = $currentbranch; + } + $is_available = IsAvailableForItemLevelRequest($item, $patron, $pickup_branch) unless $is_available; } diff --git a/opac/opac-MARCdetail.pl b/opac/opac-MARCdetail.pl index 089d978ca5..b86aa033a7 100755 --- a/opac/opac-MARCdetail.pl +++ b/opac/opac-MARCdetail.pl @@ -141,7 +141,16 @@ my $is_available; $items->reset; while ( my $item = $items->next ) { - $is_available = IsAvailableForItemLevelRequest($item, $patron, $currentbranch) + my $default_hold_pickup_location_pref = C4::Context->preference('DefaultHoldPickupLocation'); + my $pickup_branch; + if( $default_hold_pickup_location_pref eq 'homebranch' ){ + $pickup_branch = $item->{homebranch} ? $item->{homebranch} : undef; + } elsif ( $default_hold_pickup_location_pref eq 'holdingbranch' ){ + $pickup_branch = $item->{holdingbranch} ? $item->{holdingbranch} : undef; + } else { + $pickup_branch = $currentbranch; + } + $is_available = IsAvailableForItemLevelRequest($item, $patron, $pickup_branch) unless $is_available; } diff --git a/opac/opac-detail.pl b/opac/opac-detail.pl index 61c3f3c121..97936160de 100755 --- a/opac/opac-detail.pl +++ b/opac/opac-detail.pl @@ -682,7 +682,16 @@ else { $item_info->{holding_library_info} = $opac_info_holding->content if $opac_info_holding; $item_info->{home_library_info} = $opac_info_home->content if $opac_info_home; - $is_available = IsAvailableForItemLevelRequest($item, $patron, $currentbranch) + my $default_hold_pickup_location_pref = C4::Context->preference('DefaultHoldPickupLocation'); + my $pickup_branch; + if( $default_hold_pickup_location_pref eq 'homebranch' ){ + $pickup_branch = $item->homebranch ? $item->homebranch : undef; + } elsif ( $default_hold_pickup_location_pref eq 'holdingbranch' ){ + $pickup_branch = $item->holdingbranch ? $item->holdingbranch : undef; + } else { + $pickup_branch = $currentbranch; + } + $is_available = IsAvailableForItemLevelRequest($item, $patron, $pickup_branch) unless $is_available; # get collection code description, too -- 2.34.1