so Search.tsf and Search.rdf work
[freeside.git] / httemplate / view / svc_forward.cgi
index 5d619de..52360bc 100755 (executable)
@@ -25,10 +25,9 @@ my $part_svc = qsearchs('part_svc',{'svcpart'=> $cust_svc->svcpart } )
 
 print header('Mail Forward View', menubar(
   ( ( $pkgnum || $custnum )
-    ? ( "View this package (#$pkgnum)" => "${p}view/cust_pkg.cgi?$pkgnum",
-        "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum",
+    ? ( "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum",
       )
-    : ( "Cancel this (unaudited) account" =>
+    : ( "Cancel this (unaudited) mail forward" =>
           "${p}misc/cancel-unaudited.cgi?$svcnum" )
   ),
   "Main menu" => $p,
@@ -39,16 +38,25 @@ my($srcsvc,$dstsvc,$dst) = (
   $svc_forward->dstsvc,
   $svc_forward->dst,
 );
+my $src = $svc_forward->dbdef_table->column('src') ? $svc_forward->src : '';
+
 my $svc = $part_svc->svc;
-my $svc_acct = qsearchs('svc_acct',{'svcnum'=>$srcsvc})
-  or die "Corrupted database: no svc_acct.svcnum matching srcsvc $srcsvc";
-my $source = $svc_acct->email;
+
+my $source;
+if ($srcsvc) {
+  my $svc_acct = qsearchs('svc_acct',{'svcnum'=>$srcsvc})
+    or die "Corrupted database: no svc_acct.svcnum matching srcsvc $srcsvc";
+  $source = $svc_acct->email;
+} else {
+  $source = $src;
+}
+
 my $destination;
 if ($dstsvc) {
   my $svc_acct = qsearchs('svc_acct',{'svcnum'=>$dstsvc})
     or die "Corrupted database: no svc_acct.svcnum matching dstsvc $dstsvc";
   $destination = $svc_acct->email;
-}else{
+} else {
   $destination = $dst;
 }