X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fview%2Fsvc_forward.cgi;h=52360bcc201fbbb13da5b6ff1865df12507c1dc2;hp=7930ab5ec3f6fe5a6b9fd79c9e35b247e3ea28ff;hb=1dc993241b373c27f019db21fdfea6a6466a3b45;hpb=8a8c9386cbd3383b0134aae8e32b5995f8886fb2 diff --git a/httemplate/view/svc_forward.cgi b/httemplate/view/svc_forward.cgi index 7930ab5ec..52360bcc2 100755 --- a/httemplate/view/svc_forward.cgi +++ b/httemplate/view/svc_forward.cgi @@ -1,46 +1,17 @@ + <% -# -# $Id: svc_forward.cgi,v 1.1 2001-08-19 15:53:36 jeff Exp $ -# -# Usage: svc_forward.cgi svcnum -# http://server.name/path/svc_forward.cgi?svcnum -# -# based on view/svc_acct.cgi -# -# $Log: svc_forward.cgi,v $ -# Revision 1.1 2001-08-19 15:53:36 jeff -# added user interface for svc_forward and vpopmail support -# -# -use strict; -use vars qw($conf $cgi $query $svcnum $svc_forward $cust_svc - $pkgnum $cust_pkg $custnum $part_svc $p $srcsvc $dstsvc $dst - $svc $svc_acct $source $destination); -use CGI; -use FS::UID qw(cgisuidsetup); -use FS::CGI qw(header popurl menubar ); -use FS::Record qw(qsearchs); -use FS::Conf; -use FS::cust_svc; -use FS::cust_pkg; -use FS::part_svc; -use FS::svc_acct; -use FS::svc_forward; +my $conf = new FS::Conf; -$cgi = new CGI; -cgisuidsetup($cgi); - -$conf = new FS::Conf; - -($query) = $cgi->keywords; +my($query) = $cgi->keywords; $query =~ /^(\d+)$/; -$svcnum = $1; -$svc_forward = qsearchs('svc_forward',{'svcnum'=>$svcnum}); +my $svcnum = $1; +my $svc_forward = qsearchs('svc_forward',{'svcnum'=>$svcnum}); die "Unknown svcnum" unless $svc_forward; -$cust_svc = qsearchs('cust_svc',{'svcnum'=>$svcnum}); -$pkgnum = $cust_svc->getfield('pkgnum'); +my $cust_svc = qsearchs('cust_svc',{'svcnum'=>$svcnum}); +my $pkgnum = $cust_svc->getfield('pkgnum'); +my($cust_pkg, $custnum); if ($pkgnum) { $cust_pkg=qsearchs('cust_pkg',{'pkgnum'=>$pkgnum}); $custnum=$cust_pkg->getfield('custnum'); @@ -49,42 +20,64 @@ if ($pkgnum) { $custnum = ''; } -$part_svc = qsearchs('part_svc',{'svcpart'=> $cust_svc->svcpart } ) +my $part_svc = qsearchs('part_svc',{'svcpart'=> $cust_svc->svcpart } ) or die "Unkonwn svcpart"; -$p = popurl(2); -print $cgi->header( '-expires' => 'now' ), header('Mail Forward View', menubar( +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, )); -($srcsvc,$dstsvc,$dst) = ( +my($srcsvc,$dstsvc,$dst) = ( $svc_forward->srcsvc, $svc_forward->dstsvc, $svc_forward->dst, ); -$svc = $part_svc->svc; -$svc_acct = qsearchs('svc_acct',{'svcnum'=>$srcsvc}) - or die "Corrupted database: no svc_acct.svcnum matching srcsvc $srcsvc"; -$source = $svc_acct->email; +my $src = $svc_forward->dbdef_table->column('src') ? $svc_forward->src : ''; + +my $svc = $part_svc->svc; + +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) { - $svc_acct = qsearchs('svc_acct',{'svcnum'=>$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; } -print qq!Edit this information!, - "
Service #$svcnum", - "
Service: $svc", - qq!
Mail to $source forwards to $destination mailbox.!, +print qq!Edit this information!. + ntable("#cccccc",2). + 'Service number'. + qq!$svcnum!. + 'Service'. + qq!$svc!. + qq!Email to!. + qq!$source!. + qq!Forwards to !. + qq!$destination!; + +foreach (sort { $a cmp $b } $svc_forward->virtual_fields) { + print $svc_forward->pvf($_)->widget('HTML', 'view', $svc_forward->getfield($_)), + "\n"; +} + +print qq! !. + '
'. joblisting({'svcnum'=>$svcnum}, 1). '' ;