Bug 27068: Fetch libraries once for speed

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
Kyle M Hall 2020-12-03 06:48:13 -05:00 committed by Jonathan Druart
parent 9f71452b93
commit fba0bda9a9
1 changed files with 5 additions and 2 deletions

View File

@ -370,13 +370,15 @@ sub GetItemsAvailableToFillHoldRequestsForBib {
=cut
our $libraries = {};
sub _checkHoldPolicy {
my ($item, $request) = @_;
return 0 unless $item->{holdallowed};
return 0 if $item->{holdallowed} == 1 && $item->{homebranch} ne $request->{borrowerbranch};
my $library = Koha::Libraries->find($item->{homebranch});
$libraries->{$item->{homebranch}} ||= Koha::Libraries->find($item->{homebranch});
my $library = $libraries->{$item->{homebranch}};
return 0 if $item->{'holdallowed'} == 3 && !$library->validate_hold_sibling({branchcode => $request->{borrowerbranch}});
@ -386,7 +388,8 @@ sub _checkHoldPolicy {
return 0 if $hold_fulfillment_policy eq 'homebranch' && $request->{branchcode} ne $item->{$hold_fulfillment_policy};
return 0 if $hold_fulfillment_policy eq 'holdingbranch' && $request->{branchcode} ne $item->{$hold_fulfillment_policy};
my $patronLibrary = Koha::Libraries->find($request->{borrowerbranch});
$libraries->{$request->{borrowerbranch}} ||= Koha::Libraries->find($request->{borrowerbranch});
my $patronLibrary = $libraries->{$request->{borrowerbranch}};
return 0 if $hold_fulfillment_policy eq 'patrongroup' && !$patronLibrary->validate_hold_sibling({branchcode => $request->{branchcode}});