From 43e6cf3b2e016766b15fe57ae6561d80fb0a8d22 Mon Sep 17 00:00:00 2001 From: Ian Walls Date: Tue, 18 Oct 2011 16:13:15 -0400 Subject: [PATCH] Bug 6390 Followup: Basket's authorisedby might not be a borrowernumber aqbasket.authorisedby is not foreign key constrainted to borrowers.borrowernumber, so if it's anything other than that, vendor search breaks by using an undefined value (GetMember() on an invalid borrowernumber) as a HASH ref. This patch sets the branchcode (the desired value from GetMember) to a blank value, then only changes it if GetMember is defined. In the case where the authorisedby librarian has been deleted, or the value is otherwise invalid, and AcqViewBaskets is set to 'branch', the basket will not appear except to superlibrarians --- acqui/booksellers.pl | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/acqui/booksellers.pl b/acqui/booksellers.pl index 2b16fe4..634eb93 100755 --- a/acqui/booksellers.pl +++ b/acqui/booksellers.pl @@ -111,7 +111,11 @@ for my $vendor (@suppliers) { for my $basket ( @{$baskets} ) { my $authorisedby = $basket->{authorisedby}; - my $basketbranch = GetMember( borrowernumber => $authorisedby )->{branchcode}; + my $basketbranch = ''; # set a blank branch to start with + if ( GetMember( borrowernumber => $authorisedby ) ) { + # authorisedby may not be a valid borrowernumber; it's not foreign-key constrained! + $basketbranch = GetMember( borrowernumber => $authorisedby )->{branchcode}; + } if ($userenv->{'flags'} & 1 || #user is superlibrarian (haspermission( $uid, { acquisition => q{*} } ) && #user has acq permissions and -- 1.7.4.1