From d0636d4800c09a7734df70e3d58c394014606dfc Mon Sep 17 00:00:00 2001 From: Blou Date: Thu, 17 Sep 2015 11:33:38 -0400 Subject: [PATCH] Bug 14846 - Items with no holdingbranch causes svc/holds to crash MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit When trying to display the holds for a user, if an item has no holdingbranch, it causes the svc/holds service to crash and the display to freeze. Tentative steps to reproduce on any DB: 1) put 1 or more items on hold for a given user. 2) go into the database and set the item.holdingbranch to NULL 3) In the user's page, in checkouts (circulation.pl), click the tab that should be written 1 Hold(s) 4) It will be "Processing" indefinitely. The cause is the svc/holds code that crashes. The fix will validate that there's an holdingbranch before proceding with the code. Signed-off-by: Frédéric Demians Signed-off-by: Jonathan Druart Signed-off-by: Kyle M Hall (cherry picked from commit c6f7496422a593fdfe4dd2633aed4b190703d03d) Signed-off-by: Julian Maurice (cherry picked from commit 6012bc8b9988bd4cc2b6fbeecb5de32171f193b6) Signed-off-by: Frédéric Demians --- svc/holds | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/svc/holds b/svc/holds index d5f772a55b..50ae385d23 100755 --- a/svc/holds +++ b/svc/holds @@ -124,8 +124,8 @@ while ( my $h = $holds_rs->next() ) { $hold->{date_sent} = output_pref( dt_from_string($transferred_when) ); $hold->{from_branch} = GetBranchName($transferred_from); } - elsif ( $item->holdingbranch()->branchcode() ne - $h->branchcode()->branchcode() ) + elsif ( $item->holding_branch() && $item->holding_branch()->branchcode() ne + $h->branch()->branchcode() ) { $hold->{not_transferred} = 1; $hold->{not_transferred_by} = $h->item()->holdingbranch()->branchname(); -- 2.39.5