From f31ae28b754ee8c16131ad1cab63c267bc96d80c Mon Sep 17 00:00:00 2001 From: Thomas Berezansky Date: Sun, 17 Jul 2011 20:28:14 -0400 Subject: [PATCH] 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 --- Open-ILS/src/perlmods/lib/OpenILS/SIP/Patron.pm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) 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}; -- 2.43.2