add status info to list_pkgs call, RT#13656
[freeside.git] / FS / FS / ClientAPI / MyAccount.pm
index 7db49d5..a1fd4b3 100644 (file)
@@ -20,6 +20,7 @@ use FS::Msgcat qw(gettext);
 use FS::Misc qw(card_types);
 use FS::Misc::DateTime qw(parse_datetime);
 use FS::ClientAPI_SessionCache;
+use FS::cust_svc;
 use FS::svc_acct;
 use FS::svc_domain;
 use FS::svc_phone;
@@ -418,6 +419,11 @@ sub customer_info {
       $return{discount_terms_hash} = { $cust_main->discount_terms_hash };
     }
 
+    if ( $session->{'svcnum'} ) {
+      my $cust_svc = qsearchs('cust_svc', { 'svcnum' => $session->{'svcnum'} });
+      $return{'svc_label'} = ($cust_svc->label)[1] if $cust_svc;
+    }
+
   } elsif ( $session->{'svcnum'} ) { #no customer record
 
     my $svc_acct = qsearchs('svc_acct', { 'svcnum' => $session->{'svcnum'} } )
@@ -1056,8 +1062,10 @@ sub list_pkgs {
   { 'svcnum'   => $session->{'svcnum'},
     'custnum'  => $custnum,
     'cust_pkg' => [ map {
-                          { $_->hash,
+                          my $primary_cust_svc = $_->primary_cust_svc;
+                          +{ $_->hash,
                             $_->part_pkg->hash,
+                            status => $_->status,
                             part_svc =>
                               [ map $_->hashref, $_->available_part_svc ],
                             cust_svc => 
@@ -1075,6 +1083,14 @@ sub list_pkgs {
                                       $ref;
                                     } $_->cust_svc
                               ],
+                            primary_cust_svc =>
+                              $primary_cust_svc
+                                ? { $primary_cust_svc->hash,
+                                    label => [ $primary_cust_svc->label ],
+                                    finger => $primary_cust_svc->svc_x->finger, #uuh
+                                    $primary_cust_svc->part_svc->hash,
+                                  }
+                                : {}, #'' ?
                           };
                         } $cust_main->ncancelled_pkgs
                   ],