s/CGI::Base/CGI.pm, visual fixes
[freeside.git] / htdocs / browse / part_svc.cgi
1 #!/usr/bin/perl -Tw
2 #
3 # $Id: part_svc.cgi,v 1.2 1998-11-20 08:50:37 ivan Exp $
4 #
5 # ivan@sisd.com 97-nov-14, 97-dec-9
6 #
7 # Changes to allow page to work at a relative position in server
8 #       bmccane@maxbaud.net     98-apr-3
9 #
10 # lose background, FS::CGI ivan@sisd.com 98-sep-2
11 #
12 # $Log: part_svc.cgi,v $
13 # Revision 1.2  1998-11-20 08:50:37  ivan
14 # s/CGI::Base/CGI.pm, visual fixes
15 #
16
17 use strict;
18 use CGI;
19 use CGI::Carp qw(fatalsToBrowser);
20 use FS::UID qw(cgisuidsetup);
21 use FS::Record qw(qsearch);
22 use FS::part_svc qw(fields);
23 use FS::CGI qw(header menubar popurl table);
24
25 my($cgi) = new CGI;
26
27 &cgisuidsetup($cgi);
28
29 print $cgi->header, header('Service Part Listing', menubar(
30   'Main Menu' => popurl(2),
31 )),<<END;
32     Services are items you offer to your customers.<BR><BR>
33 END
34 print table, <<END;
35       <TR>
36         <TH COLSPAN=2>Service</TH>
37         <TH>Table</TH>
38         <TH>Field</TH>
39         <TH>Action</TH>
40         <TH>Value</TH>
41       </TR>
42 END
43
44 my($part_svc);
45 my($p)=popurl(2);
46 foreach $part_svc ( sort {
47   $a->getfield('svcpart') <=> $b->getfield('svcpart')
48 } qsearch('part_svc',{}) ) {
49   my($hashref)=$part_svc->hashref;
50   my($svcdb)=$hashref->{svcdb};
51   my(@rows)=
52     grep $hashref->{${svcdb}.'__'.$_.'_flag'},
53       map { /^${svcdb}__(.*)$/; $1 }
54         grep ! /_flag$/,
55           grep /^${svcdb}__/,
56             fields('part_svc')
57   ;
58   my($rowspan)=scalar(@rows);
59   print <<END;
60       <TR>
61         <TD ROWSPAN=$rowspan><A HREF="$p/edit/part_svc.cgi?$hashref->{svcpart}">
62           $hashref->{svcpart}</A></TD>
63         <TD ROWSPAN=$rowspan><A HREF="$p/edit/part_svc.cgi?$hashref->{svcpart}">          $hashref->{svc}</A></TD>
64         <TD ROWSPAN=$rowspan>$hashref->{svcdb}</TD>
65 END
66   my($row);
67   foreach $row ( @rows ) {
68     my($flag)=$part_svc->getfield($svcdb.'__'.$row.'_flag');
69     print "<TD>$row</TD><TD>";
70     if ( $flag eq "D" ) { print "Default"; }
71       elsif ( $flag eq "F" ) { print "Fixed"; }
72       else { print "(Unknown!)"; }
73     print "</TD><TD>",$part_svc->getfield($svcdb."__".$row),"</TD></TR><TR>";
74   }
75 print "</TR>";
76 }
77
78 print <<END;
79       <TR>
80         <TD COLSPAN=2><A HREF="$p/edit/part_svc.cgi"><I>Add new service</I></A></TD>
81       </TR>
82     </TABLE>
83     </CENTER>
84   </BODY>
85 </HTML>
86 END
87