From: Thomas Berezansky Date: Mon, 18 Jul 2011 00:28:14 +0000 (-0400) Subject: Make inactive cards/patrons "not exist" via SIP2 X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=f31ae28b754ee8c16131ad1cab63c267bc96d80c;p=evergreen%2Fjoelewis.git Make inactive cards/patrons "not exist" via SIP2 And make sure if we do get a deleted patron for some reason they are ignored too. Signed-off-by: Thomas Berezansky Signed-off-by: Bill Erickson --- diff --git a/Open-ILS/src/perlmods/lib/OpenILS/SIP/Patron.pm b/Open-ILS/src/perlmods/lib/OpenILS/SIP/Patron.pm index c3dbb2133f..17389fa0b8 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/SIP/Patron.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/SIP/Patron.pm @@ -85,7 +85,7 @@ sub new { my $card = $e->search_actor_card([{barcode => $patron_id}, $usr_flesh])->[0]; - if(!$card) { + if(!$card or !$U->is_true($card->active)) { syslog("LOG_WARNING", "No such patron barcode: $patron_id"); return undef; } @@ -96,11 +96,16 @@ sub new { $user = $e->retrieve_actor_user([$patron_id, $usr_flesh]); } - if(!$user) { + if(!$user or $U->is_true($user->deleted)) { syslog("LOG_WARNING", "OILS: Unable to find patron %s => %s", $key, $patron_id); return undef; } + if(!$U->is_true($user->active)) { + syslog("LOG_WARNING", "OILS: Patron is inactive %s => %s", $key, $patron_id); + return undef; + } + # now grab the user's penalties $self->flesh_user_penalties($user, $e) unless $args{slim_user};