7930ab5ec3f6fe5a6b9fd79c9e35b247e3ea28ff
[freeside.git] / httemplate / view / svc_forward.cgi
1 <%
2 #
3 # $Id: svc_forward.cgi,v 1.1 2001-08-19 15:53:36 jeff Exp $
4 #
5 # Usage: svc_forward.cgi svcnum
6 #        http://server.name/path/svc_forward.cgi?svcnum
7 #
8 # based on view/svc_acct.cgi
9
10 # $Log: svc_forward.cgi,v $
11 # Revision 1.1  2001-08-19 15:53:36  jeff
12 # added user interface for svc_forward and vpopmail support
13 #
14 #
15
16 use strict;
17 use vars qw($conf $cgi $query $svcnum $svc_forward $cust_svc
18             $pkgnum $cust_pkg $custnum $part_svc $p $srcsvc $dstsvc $dst
19             $svc $svc_acct $source $destination);
20 use CGI;
21 use FS::UID qw(cgisuidsetup);
22 use FS::CGI qw(header popurl menubar );
23 use FS::Record qw(qsearchs);
24 use FS::Conf;
25 use FS::cust_svc;
26 use FS::cust_pkg;
27 use FS::part_svc;
28 use FS::svc_acct;
29 use FS::svc_forward;
30
31 $cgi = new CGI;
32 cgisuidsetup($cgi);
33
34 $conf = new FS::Conf;
35
36 ($query) = $cgi->keywords;
37 $query =~ /^(\d+)$/;
38 $svcnum = $1;
39 $svc_forward = qsearchs('svc_forward',{'svcnum'=>$svcnum});
40 die "Unknown svcnum" unless $svc_forward;
41
42 $cust_svc = qsearchs('cust_svc',{'svcnum'=>$svcnum});
43 $pkgnum = $cust_svc->getfield('pkgnum');
44 if ($pkgnum) {
45   $cust_pkg=qsearchs('cust_pkg',{'pkgnum'=>$pkgnum});
46   $custnum=$cust_pkg->getfield('custnum');
47 } else {
48   $cust_pkg = '';
49   $custnum = '';
50 }
51
52 $part_svc = qsearchs('part_svc',{'svcpart'=> $cust_svc->svcpart } )
53   or die "Unkonwn svcpart";
54
55 $p = popurl(2);
56 print $cgi->header( '-expires' => 'now' ), header('Mail Forward View', menubar(
57   ( ( $pkgnum || $custnum )
58     ? ( "View this package (#$pkgnum)" => "${p}view/cust_pkg.cgi?$pkgnum",
59         "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum",
60       )
61     : ( "Cancel this (unaudited) account" =>
62           "${p}misc/cancel-unaudited.cgi?$svcnum" )
63   ),
64   "Main menu" => $p,
65 ));
66
67 ($srcsvc,$dstsvc,$dst) = (
68   $svc_forward->srcsvc,
69   $svc_forward->dstsvc,
70   $svc_forward->dst,
71 );
72 $svc = $part_svc->svc;
73 $svc_acct = qsearchs('svc_acct',{'svcnum'=>$srcsvc})
74   or die "Corrupted database: no svc_acct.svcnum matching srcsvc $srcsvc";
75 $source = $svc_acct->email;
76 if ($dstsvc) {
77   $svc_acct = qsearchs('svc_acct',{'svcnum'=>$dstsvc})
78     or die "Corrupted database: no svc_acct.svcnum matching dstsvc $dstsvc";
79   $destination = $svc_acct->email;
80 }else{
81   $destination = $dst;
82 }
83
84 print qq!<A HREF="${p}edit/svc_forward.cgi?$svcnum">Edit this information</A>!,
85       "<BR>Service #$svcnum",
86       "<BR>Service: <B>$svc</B>",
87       qq!<BR>Mail to <B>$source</B> forwards to <B>$destination</B> mailbox.!,
88       '</BODY></HTML>'
89 ;
90
91 %>