3 # $Id: part_pkg.cgi,v 1.4 1998-12-17 05:25:19 ivan Exp $
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
12 # $Log: part_pkg.cgi,v $
13 # Revision 1.4 1998-12-17 05:25:19 ivan
14 # fix visual and other bugs
16 # Revision 1.3 1998/11/21 07:23:45 ivan
19 # Revision 1.2 1998/11/21 07:00:32 ivan
25 use CGI::Carp qw(fatalsToBrowser);
26 use FS::UID qw(cgisuidsetup swapuid);
27 use FS::Record qw(qsearch qsearchs);
28 use FS::CGI qw(header menubar popurl table);
39 print $cgi->header, header("Package Part Listing",menubar(
41 )), "One or more services are grouped together into a package and given",
42 " pricing information. Customers purchase packages, not services.<BR><BR>",
46 <TH COLSPAN=2>Package</TH>
48 <TH><FONT SIZE=-1>Setup Fee</FONT></TH>
49 <TH><FONT SIZE=-1>Freq.</FONT></TH>
50 <TH><FONT SIZE=-1>Recur. Fee</FONT></TH>
52 <TH><FONT SIZE=-1>Quan.</FONT></TH>
57 foreach $part_pkg ( sort {
58 $a->getfield('pkgpart') <=> $b->getfield('pkgpart')
59 } qsearch('part_pkg',{}) ) {
60 my($hashref)=$part_pkg->hashref;
61 my(@pkg_svc)=grep $_->getfield('quantity'),
62 qsearch('pkg_svc',{'pkgpart'=> $hashref->{pkgpart} });
63 my($rowspan)=scalar(@pkg_svc);
66 <TD ROWSPAN=$rowspan><A HREF="${p}edit/part_pkg.cgi?$hashref->{pkgpart}">
69 <TD ROWSPAN=$rowspan><A HREF="${p}edit/part_pkg.cgi?$hashref->{pkgpart}">$hashref->{pkg}</A></TD>
70 <TD ROWSPAN=$rowspan>$hashref->{comment}</TD>
71 <TD ROWSPAN=$rowspan>$hashref->{setup}</TD>
72 <TD ROWSPAN=$rowspan>$hashref->{freq}</TD>
73 <TD ROWSPAN=$rowspan>$hashref->{recur}</TD>
78 foreach $pkg_svc ( @pkg_svc ) {
79 my($svcpart)=$pkg_svc->getfield('svcpart');
80 my($part_svc) = qsearchs('part_svc',{'svcpart'=> $svcpart });
81 print $n,qq!<TD><A HREF="${p}edit/part_svc.cgi?$svcpart">!,
82 $part_svc->getfield('svc'),"</A></TD><TD>",
83 $pkg_svc->getfield('quantity'),"</TD></TR>\n";
91 <TR><TD COLSPAN=2><I><A HREF="${p}edit/part_pkg.cgi">Add new package</A></I></TD></TR>