Online Renewal: Flesh out patron info in API
authorTerran McCanna <tmccanna@georgialibraries.org>
Mon, 22 Aug 2022 18:33:26 +0000 (14:33 -0400)
committerChris Sharp <csharp@georgialibraries.org>
Sun, 30 Oct 2022 17:12:36 +0000 (13:12 -0400)
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm

index faf723b..4c21c85 100644 (file)
@@ -1961,7 +1961,13 @@ sub user_opac_vitals {
 
     $user_id ||= $e->requestor->id;
 
-    my $user = $e->retrieve_actor_user( $user_id );
+    # PINES ecard project - flesh user object to get barcode & addresses
+    my $user = $e->retrieve_actor_user([ $user_id, {
+        flesh => 1,
+        flesh_fields => {
+            au => ['card', 'billing_address', 'mailing_address']
+        }
+        }]);
 
     my ($fines) = $self
         ->method_lookup('open-ils.actor.user.fines.summary')
@@ -2000,12 +2006,35 @@ sub user_opac_vitals {
     ]);
 
     return {
+        # PINES Ecard project adds: preferred name fields, phone, email, home library,
+        # billing address, mailing address, current barcode
         user => {
             first_given_name  => $user->first_given_name,
             second_given_name => $user->second_given_name,
             family_name       => $user->family_name,
             alias             => $user->alias,
-            usrname           => $user->usrname
+            usrname           => $user->usrname,
+            pref_first_given_name => $user->pref_first_given_name,
+            pref_second_given_name => $user->pref_second_given_name,
+            pref_family_name  => $user->pref_family_name,
+            day_phone         => $user->day_phone,
+            email             => $user->email,
+            home_ou           => $user->home_ou,
+            barcode           => $user->card->barcode,
+            physical_street1  => $user->billing_address->street1,
+            physical_street2  => $user->billing_address->street2,
+            physical_city     => $user->billing_address->city,
+            physical_post_code => $user->billing_address->post_code,
+            physical_county   => $user->billing_address->county,
+            physical_state    => $user->billing_address->state,
+            physical_country  => $user->billing_address->country,
+            mailing_street1   => $user->mailing_address->street1,
+            mailing_street2   => $user->mailing_address->street2,
+            mailing_city      => $user->mailing_address->city,
+            mailing_post_code => $user->mailing_address->post_code,
+            mailing_county    => $user->mailing_address->county,
+            mailing_state     => $user->mailing_address->state,
+            mailing_country   => $user->mailing_address->country
         },
         fines => $fines->to_bare_hash,
         checkouts => $out,