From: Michael Peters Date: Thu, 20 Nov 2014 22:41:44 +0000 (-0500) Subject: Make users_of_interest test for defined actor.usr.card values X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=372b007c95d2fdcd7b31b0d2dbedf0779762537b;p=evergreen%2Fpines.git Make users_of_interest test for defined actor.usr.card values If the open-ils.collections.users_of_interest API encounters a patron that has a null "card" value in actor.usr the API will crash with an error like: Received Exception: Name: osrfMethodException Status: *** Call to [open-ils.collections.users_of_interest.retrieve] failed for session [1416515351.333446.1416515351406], thread trace [1]: Can't call method "barcode" on an undefined value at /usr/local/share/perl/5.14.2/OpenILS/Application/Collections.pm line 299. This patches users_of_interest to be sure that the user has a defined value for actor.usr.card before proceeding to pull out the barcode for the results of the API call. Signed-off-by: Michael Peters Conflicts: Open-ILS/src/perlmods/lib/OpenILS/Application/Collections.pm --- diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Collections.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Collections.pm index 352168525a..b0ecd71c79 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Collections.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Collections.pm @@ -295,7 +295,7 @@ sub process_users_of_interest_results { id => $u->id, dob => $u->dob, profile => $u->profile->name, - barcode => $u->card ? $u->card->barcode : undef , + barcode => defined($u->card) ? $u->card->barcode : "There is no card for this user", groups => [ map { $_->name } @{$u->groups} ], };