3 # part_svc.cgi: browse part_pkg
5 # ivan@sisd.com 97-dec-5,9
7 # Changes to allow page to work at a relative position in server
8 # bmccane@maxbaud.net 98-apr-3
10 # lose background, FS::CGI ivan@sisd.com 98-sep-2
14 use FS::UID qw(cgisuidsetup swapuid);
15 use FS::Record qw(qsearch qsearchs);
16 use FS::CGI qw(header menubar);
18 my($cgi) = new CGI::Base;
23 SendHeaders(); # one guess.
25 print header("Package Part Listing",menubar(
27 'Add new package' => "../edit/part_pkg.cgi",
29 <BR>Click on package part number to edit.
32 <TH><FONT SIZE=-1>Part #</FONT></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>
39 <TH><FONT SIZE=-1>Quan.</FONT></TH>
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);
53 <TD ROWSPAN=$rowspan><A HREF="../edit/part_pkg.cgi?$hashref->{pkgpart}">
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>
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";