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
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Invalid borrowernumber in aqbasket.authorisedby no longer breaks search.
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