Check patron password in ILS::renew_all
authordjfiander <djfiander>
Fri, 23 Jun 2006 02:31:06 +0000 (02:31 +0000)
committerdjfiander <djfiander>
Fri, 23 Jun 2006 02:31:06 +0000 (02:31 +0000)
ILS.pm

diff --git a/ILS.pm b/ILS.pm
index 36c1ac1..5f48731 100644 (file)
--- a/ILS.pm
+++ b/ILS.pm
@@ -403,8 +403,13 @@ sub renew_all {
     $trans = new ILS::Transaction::RenewAll;
 
     $trans->patron($patron = new ILS::Patron $patron_id);
-    syslog("LOG_DEBUG", "ILS::renew_all: patron '%s': renew_ok: %s",
-          $patron->name, $patron->renew_ok);
+    if (defined $patron) {
+       syslog("LOG_DEBUG", "ILS::renew_all: patron '%s': renew_ok: %s",
+              $patron->name, $patron->renew_ok);
+    } else {
+       syslog("LOG_DEBUG", "ILS::renew_all: Invalid patron id: '%s'",
+              $patron_id);
+    }
 
     if (!defined($patron)) {
        $trans->screen_msg("Invalid patron barcode.");
@@ -412,6 +417,9 @@ sub renew_all {
     } elsif (!$patron->renew_ok) {
        $trans->screen_msg("Renewals not allowed.");
        return $trans;
+    } elsif (defined($patron_pwd) && !$patron->check_password($patron_pwd)) {
+       $trans->screen_msg("Invalid patron password.");
+       return $trans;
     }
 
     foreach $item_id (@{$patron->{items}}) {