Initial revision
[freeside.git] / htdocs / browse / part_pkg.cgi
1 #!/usr/bin/perl -Tw
2 #
3 # part_svc.cgi: browse part_pkg
4 #
5 # ivan@sisd.com 97-dec-5,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 use strict;
13 use CGI::Base;
14 use FS::UID qw(cgisuidsetup swapuid);
15 use FS::Record qw(qsearch qsearchs);
16 use FS::CGI qw(header menubar);
17
18 my($cgi) = new CGI::Base;
19 $cgi->get;
20
21 &cgisuidsetup($cgi);
22
23 SendHeaders(); # one guess.
24
25 print header("Package Part Listing",menubar(
26   'Main Menu' => '../',
27   'Add new package' => "../edit/part_pkg.cgi",
28 )), <<END;
29     <BR>Click on package part number to edit.
30     <TABLE BORDER>
31       <TR>
32         <TH><FONT SIZE=-1>Part #</FONT></TH>
33         <TH>Package</TH>
34         <TH>Comment</TH>
35         <TH><FONT SIZE=-1>Setup Fee</FONT></TH>
36         <TH><FONT SIZE=-1>Freq.</FONT></TH>
37         <TH><FONT SIZE=-1>Recur. Fee</FONT></TH>
38         <TH>Service</TH>
39         <TH><FONT SIZE=-1>Quan.</FONT></TH>
40       </TR>
41 END
42
43 my($part_pkg);
44 foreach $part_pkg ( sort { 
45   $a->getfield('pkgpart') <=> $b->getfield('pkgpart')
46 } qsearch('part_pkg',{}) ) {
47   my($hashref)=$part_pkg->hashref;
48   my(@pkg_svc)=grep $_->getfield('quantity'),
49     qsearch('pkg_svc',{'pkgpart'=> $hashref->{pkgpart} });
50   my($rowspan)=scalar(@pkg_svc);
51   print <<END;
52       <TR>
53         <TD ROWSPAN=$rowspan><A HREF="../edit/part_pkg.cgi?$hashref->{pkgpart}">
54           $hashref->{pkgpart}
55         </A></TD>
56         <TD ROWSPAN=$rowspan>$hashref->{pkg}</TD>
57         <TD ROWSPAN=$rowspan>$hashref->{comment}</TD>
58         <TD ROWSPAN=$rowspan>$hashref->{setup}</TD>
59         <TD ROWSPAN=$rowspan>$hashref->{freq}</TD>
60         <TD ROWSPAN=$rowspan>$hashref->{recur}</TD>
61 END
62
63   my($pkg_svc);
64   foreach $pkg_svc ( @pkg_svc ) {
65     my($svcpart)=$pkg_svc->getfield('svcpart');
66     my($part_svc) = qsearchs('part_svc',{'svcpart'=> $svcpart });
67     print qq!<TD><A HREF="../edit/part_svc.cgi?$svcpart">!,
68           $part_svc->getfield('svc'),"</A></TD><TD>",
69           $pkg_svc->getfield('quantity'),"</TD></TR><TR>\n";
70   }
71
72   print "</TR>";
73 }
74
75 print <<END;
76     </TR></TABLE>
77     </CENTER>
78   </BODY>
79 </HTML>
80 END
81