LP1901930 SIP2Mediator checkin support
authorBill Erickson <berickxx@gmail.com>
Sun, 1 Nov 2020 16:02:11 +0000 (11:02 -0500)
committerBill Erickson <berickxx@gmail.com>
Mon, 30 Nov 2020 16:38:25 +0000 (08:38 -0800)
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/Checkin.pm

index 8c88e08..44109be 100644 (file)
@@ -498,7 +498,13 @@ sub handle_checkin {
     my $hold_bc = $checkin_details->{hold_patron_barcode};
     my $hold_name = $checkin_details->{hold_patron_name};
 
+    # XXX
+    use OpenSRF::Utils::JSON;
+    $logger->info('SIP checkin details ' . OpenSRF::Utils::JSON->perl2JSON($checkin_details));
+    $logger->info('SIP item details ' . OpenSRF::Utils::JSON->perl2JSON($item_details));
+
     return {
+        code => '10',
         fixed_fields => [
             $checkin_details->{ok},                     # checkin ok
             $SC->sipbool(!$magnetic),                   # resensitize
index 15a7e28..326019f 100644 (file)
@@ -20,13 +20,20 @@ sub checkin {
     my $details = {};
     my $override = 0;
 
+    use OpenSRF::Utils::JSON;
+    $logger->info('SIP checkin details 1' . OpenSRF::Utils::JSON->perl2JSON($details));
+
     for (0, 1) { # 2 checkin requests max
 
-        $override = $class->perform_checkin(
-            $session, $details, $override, %params);
+        $override = 
+            $class->perform_checkin($session, $details, $override, %params);
+
+        $logger->info('SIP checkin details 5' . OpenSRF::Utils::JSON->perl2JSON($details));
 
         last unless $override;
     }
+    
+    $logger->info('SIP checkin details 6' . OpenSRF::Utils::JSON->perl2JSON($details));
 
     return $details;
 }
@@ -56,7 +63,10 @@ sub perform_checkin {
         'open-ils.circ', $method, $session->editor->authtoken, $args);
 
     # Treat the first response as the main result.
-    my $event = $resp->[0] if ref $resp eq 'ARRAY';
+    my $event = ref $resp eq 'ARRAY' ? $resp->[0] : $resp;
+
+    $logger->info('SIP checkin details 3' . OpenSRF::Utils::JSON->perl2JSON($details));
+    $logger->info('SIP checkin details event' . OpenSRF::Utils::JSON->perl2JSON($event));
 
     return unless $U->is_event($event); # should never happen; fail gracefully
 
@@ -103,6 +113,7 @@ sub perform_checkin {
         $details->{alert_type} = '04' unless $details->{alert_type};
 
     } else {
+
         $details->{ok} = 0; # unknown
         $details->{alert} = 1;
         $details->{alert_type} = '00' unless $details->{alert_type};
@@ -118,9 +129,11 @@ sub handle_hold {
 
     return unless $hold;
 
+    $logger->info('SIP checkin details 4' . OpenSRF::Utils::JSON->perl2JSON($details));
+
     my ($pickup_lib_id, $pickup_lib_sn);
 
-    my $holder = OpenILS::SIP->editor()->retrieve_actor_user(
+    my $holder = $session->editor->retrieve_actor_user(
         [$hold->usr, {flesh => 1, flesh_fields => {au => ['card']}}]);
 
     $details->{hold_patron_name} = $SC->format_user_name($holder);
@@ -141,7 +154,7 @@ sub handle_hold {
     $details->{alert} = 1;
     $details->{destination_loc} = $pickup_lib_sn;
     $details->{alert_type} = 
-        ($pickup_lib_id == $session->editor->ws_ou) ? '01' : '02';
+        ($pickup_lib_id == $session->editor->requestor->ws_ou) ? '01' : '02';
 }
 
 1;