things are starting to work again, sorta.
[freeside.git] / FS / FS / cust_svc.pm
index cbc4d91..77151b8 100644 (file)
@@ -10,6 +10,7 @@ use FS::part_svc;
 use FS::svc_acct;
 use FS::svc_acct_sm;
 use FS::svc_domain;
+use FS::svc_forward;
 
 @ISA = qw( FS::Record );
 
@@ -121,16 +122,26 @@ sub label {
   my $self = shift;
   my $part_svc = qsearchs( 'part_svc', { 'svcpart' => $self->svcpart } );
   my $svcdb = $part_svc->svcdb;
-  my $svc_x = qsearchs( $svcdb, { 'svcnum' => $self->svcnum } );
+  my $svc_x = qsearchs( $svcdb, { 'svcnum' => $self->svcnum } )
+    or die "can't find $svcdb.svcnum ". $self->svcnum;
   my $svc = $part_svc->svc;
   my $tag;
   if ( $svcdb eq 'svc_acct' ) {
-    $tag = $svc_x->getfield('username');
+    $tag = $svc_x->email;
   } elsif ( $svcdb eq 'svc_acct_sm' ) {
     my $domuser = $svc_x->domuser eq '*' ? '(anything)' : $svc_x->domuser;
     my $svc_domain = qsearchs ( 'svc_domain', { 'svcnum' => $svc_x->domsvc } );
     my $domain = $svc_domain->domain;
     $tag = "$domuser\@$domain";
+  } elsif ( $svcdb eq 'svc_forward' ) {
+    my $svc_acct = qsearchs( 'svc_acct', { 'svcnum' => $svc_x->srcsvc } );
+    $tag = $svc_acct->email. '->';
+    if ( $svc_x->dstsvc ) {
+      $svc_acct = qsearchs( 'svc_acct', { 'svcnum' => $svc_x->dstsvc } );
+      $tag .= $svc_acct->email;
+    } else {
+      $tag .= $svc_x->dst;
+    }
   } elsif ( $svcdb eq 'svc_domain' ) {
     $tag = $svc_x->getfield('domain');
   } else {
@@ -144,7 +155,7 @@ sub label {
 
 =head1 VERSION
 
-$Id: cust_svc.pm,v 1.1 1999-08-04 09:03:53 ivan Exp $
+$Id: cust_svc.pm,v 1.4 2001-09-02 04:51:11 ivan Exp $
 
 =head1 BUGS