From 13d932692c602e9bd381e7cd3fe6f19a3b21b3a9 Mon Sep 17 00:00:00 2001 From: Ian Walls Date: Wed, 12 Oct 2011 15:35:31 -0400 Subject: [PATCH] [SIGNED-OFF] Bug 7016: CanBookBeReserved uses GetItemsInfo unnecessarily CanBookBeReserved uses the very heavy-weight function GetItemsInfo to simply retrieve the itemnumbers attached to a given biblio. The function get_itemnumbers_of() is much lighter-weight and returns the required information; switching to it will reduce the overall system resource cost of placing a hold. Signed-off-by: Nicole C. Engard --- C4/Reserves.pm | 16 +++++++--------- 1 files changed, 7 insertions(+), 9 deletions(-) diff --git a/C4/Reserves.pm b/C4/Reserves.pm index f7a2e72..f12c23f 100644 --- a/C4/Reserves.pm +++ b/C4/Reserves.pm @@ -383,17 +383,15 @@ sub GetReservesFromBorrowernumber { sub CanBookBeReserved{ my ($borrowernumber, $biblionumber) = @_; - my @items = GetItemsInfo($biblionumber); - - #get items linked via host records - my $marcrecord= GetMarcBiblio($biblionumber); - my @hostitemInfos = GetHostItemsInfo($marcrecord); - if (@hostitemInfos){ - push (@items,@hostitemInfos); - } + my @items = get_itemnumbers_of($biblionumber); + #get items linked via host records + my @hostitems = get_hostitemnumbers_of($biblionumber); + if (@hostitems){ + push (@items,@hostitems); + } foreach my $item (@items){ - return 1 if CanItemBeReserved($borrowernumber, $item->{itemnumber}); + return 1 if CanItemBeReserved($borrowernumber, $item); } return 0; } -- 1.7.2.3