From: Thomas Berezansky Date: Sat, 2 Jul 2011 22:50:27 +0000 (-0400) Subject: Fix checkout on alternate patron barcode X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=df2ab37367b9e5650852fed7390cff4e84dd06c1;p=working%2FEvergreen.git Fix checkout on alternate patron barcode Specifically, when a non-primary patron barcode is used. Such as via SIP2. Signed-off-by: Thomas Berezansky --- diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm index 0b36f40627..2d4270497b 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm @@ -764,9 +764,12 @@ sub mk_env { my $card = $e->search_actor_card({barcode => $self->patron_barcode})->[0] or return $self->bail_on_events(OpenILS::Event->new('ACTOR_USER_NOT_FOUND')); - $patron = $e->search_actor_user([{card => $card->id}, $flesh])->[0] + $patron = $e->retrieve_actor_user($card->usr) or return $self->bail_on_events(OpenILS::Event->new('ACTOR_USER_NOT_FOUND')); + # Use the card we looked up, not the patron's primary, for card active checks + $patron->card($card); + } else { if( my $copy = $self->copy ) {