This commit was generated by cvs2svn to compensate for changes in r6252,
[freeside.git] / httemplate / view / svc_forward.cgi
1 % die "access denied"
2 %   unless $FS::CurrentUser::CurrentUser->access_right('View customer services');
3 %
4 %my $conf = new FS::Conf;
5 %
6 %my($query) = $cgi->keywords;
7 %$query =~ /^(\d+)$/;
8 %my $svcnum = $1;
9 %my $svc_forward = qsearchs({
10 %  'select'    => 'svc_forward.*',
11 %  'table'     => 'svc_forward',
12 %  'addl_from' => ' LEFT JOIN cust_svc  USING ( svcnum  ) '.
13 %                 ' LEFT JOIN cust_pkg  USING ( pkgnum  ) '.
14 %                 ' LEFT JOIN cust_main USING ( custnum ) ',
15 %  'hashref'   => {'svcnum'=>$svcnum},
16 %  'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql,
17 %});
18 %die "Unknown svcnum" unless $svc_forward;
19 %
20 %my $cust_svc = qsearchs('cust_svc',{'svcnum'=>$svcnum});
21 %my $pkgnum = $cust_svc->getfield('pkgnum');
22 %my($cust_pkg, $custnum);
23 %if ($pkgnum) {
24 %  $cust_pkg=qsearchs('cust_pkg',{'pkgnum'=>$pkgnum});
25 %  $custnum=$cust_pkg->getfield('custnum');
26 %} else {
27 %  $cust_pkg = '';
28 %  $custnum = '';
29 %}
30 %
31 %my $part_svc = qsearchs('part_svc',{'svcpart'=> $cust_svc->svcpart } )
32 %  or die "Unkonwn svcpart";
33 %
34 %print header('Mail Forward View', menubar(
35 %  ( ( $pkgnum || $custnum )
36 %    ? ( "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum",
37 %      )
38 %    : ( "Cancel this (unaudited) mail forward" =>
39 %          "${p}misc/cancel-unaudited.cgi?$svcnum" )
40 %  )
41 %));
42 %
43 %my($srcsvc,$dstsvc,$dst) = (
44 %  $svc_forward->srcsvc,
45 %  $svc_forward->dstsvc,
46 %  $svc_forward->dst,
47 %);
48 %my $src = $svc_forward->dbdef_table->column('src') ? $svc_forward->src : '';
49 %
50 %my $svc = $part_svc->svc;
51 %
52 %my $source;
53 %if ($srcsvc) {
54 %  my $svc_acct = qsearchs('svc_acct',{'svcnum'=>$srcsvc})
55 %    or die "Corrupted database: no svc_acct.svcnum matching srcsvc $srcsvc";
56 %  $source = $svc_acct->email;
57 %} else {
58 %  $source = $src;
59 %}
60 %
61 %my $destination;
62 %if ($dstsvc) {
63 %  my $svc_acct = qsearchs('svc_acct',{'svcnum'=>$dstsvc})
64 %    or die "Corrupted database: no svc_acct.svcnum matching dstsvc $dstsvc";
65 %  $destination = $svc_acct->email;
66 %} else {
67 %  $destination = $dst;
68 %}
69 %
70 %print qq!<A HREF="${p}edit/svc_forward.cgi?$svcnum">Edit this information</A>!.
71 %      ntable("#cccccc",2).
72 %      '<TR><TD ALIGN="right">Service number</TD>'.
73 %        qq!<TD BGCOLOR="#ffffff">$svcnum</TD></TR>!.
74 %      '<TR><TD ALIGN="right">Service</TD>'.
75 %        qq!<TD BGCOLOR="#ffffff">$svc</TD></TR>!.
76 %      qq!<TR><TD ALIGN="right">Email to</TD>!.
77 %        qq!<TD BGCOLOR="#ffffff">$source</TD></TR>!.
78 %      qq!<TR><TD ALIGN="right">Forwards to </TD>!.
79 %        qq!<TD BGCOLOR="#ffffff">$destination</TD></TR>!;
80 %
81 %foreach (sort { $a cmp $b } $svc_forward->virtual_fields) {
82 %  print $svc_forward->pvf($_)->widget('HTML', 'view', $svc_forward->getfield($_)),
83 %      "\n";
84 %}
85 %
86 %print qq!  </TABLE>!.
87 %      '<BR>'. joblisting({'svcnum'=>$svcnum}, 1).
88 %      '</BODY></HTML>'
89 %;
90 %
91 %
92