LP1901930 Add some missing SIP fields; repairs user/berick/lp1901930-sip2-mediator-backend-v9
authorBill Erickson <berickxx@gmail.com>
Thu, 1 Dec 2022 20:08:08 +0000 (15:08 -0500)
committerBill Erickson <berickxx@gmail.com>
Thu, 1 Dec 2022 20:08:08 +0000 (15:08 -0500)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Open-ILS/src/perlmods/lib/OpenILS/Application/SIP2.pm
Open-ILS/src/perlmods/lib/OpenILS/Application/SIP2/Common.pm

index 52ca3b0..6582f1b 100644 (file)
@@ -362,7 +362,6 @@ sub handle_patron_info {
 
 sub handle_patron_status {
     my ($session, $message) = @_;
-    my $sip_account = $session->sip_account;
 
     my $barcode = $SC->get_field_value($message, 'AA');
     my $password = $SC->get_field_value($message, 'AD');
@@ -812,7 +811,8 @@ sub handle_end_patron_session {
     return {
         code => '36',
         fixed_fields => [
-            $SC->sipbool(1)
+            $SC->sipbool(1),
+            $SC->sipdate
         ],
         fields => [
             {AO => $config->{institution}},
index b51bc4e..c453763 100644 (file)
@@ -66,9 +66,8 @@ sub count4 {
 sub get_field_value {
     my ($class, $message, $code) = @_;
     for my $field (@{$message->{fields}}) {
-        while (my ($c, $v) = each(%$field)) { # one pair per field
-            return $v if $c eq $code;
-        }
+        my ($c) = keys(%$field);
+        return $field->{$c} if $c eq $code;
     }
 
     return undef;