2 #<!-- $Id: part_pkg.cgi,v 1.9 2001-12-27 09:26:14 ivan Exp $ -->
5 use vars qw( $cgi $p $part_pkg );
7 use CGI::Carp qw(fatalsToBrowser);
8 use FS::UID qw(cgisuidsetup);
9 use FS::Record qw(qsearch qsearchs);
10 use FS::CGI qw(header menubar popurl table);
22 if ( $cgi->param('showdisabled') ) {
25 %search = ( 'disabled' => '' );
28 my @part_pkg = qsearch('part_pkg', \%search );
29 my $total = scalar(@part_pkg);
31 print header("Package Definition Listing",menubar(
33 )). "One or more services are grouped together into a package and given".
34 " pricing information. Customers purchase packages".
35 " rather than purchase services directly.<BR><BR>".
38 if ( $cgi->param('showdisabled') ) {
39 $cgi->param('showdisabled', 0);
40 print qq!( <a href="!. $cgi->self_url. qq!">hide disabled packages</a> )!;
42 $cgi->param('showdisabled', 1);
43 print qq!( <a href="!. $cgi->self_url. qq!">show disabled packages</a> )!;
46 my $colspan = $cgi->param('showdisabled') ? 2 : 3;
47 print &table(), <<END;
49 <TH COLSPAN=2>Package</TH>
51 <TH><FONT SIZE=-1>Freq.</FONT></TH>
52 <TH><FONT SIZE=-1>Plan</FONT></TH>
53 <TH><FONT SIZE=-1>Data</FONT></TH>
55 <TH><FONT SIZE=-1>Quan.</FONT></TH>
59 foreach $part_pkg ( sort {
60 $a->getfield('pkgpart') <=> $b->getfield('pkgpart')
62 my($hashref)=$part_pkg->hashref;
63 my(@pkg_svc)=grep $_->getfield('quantity'),
64 qsearch('pkg_svc',{'pkgpart'=> $hashref->{pkgpart} });
65 my($rowspan)=scalar(@pkg_svc);
67 if ( $hashref->{plan} ) {
68 $plandata = $hashref->{plandata};
69 $plandata =~ s/^(\w+)=/$1 /mg;
70 $plandata =~ s/\n/<BR>/g;
72 $hashref->{plan} = "(legacy)";
73 $plandata = "Setup ". $hashref->{setup}.
74 "<BR>Recur ". $hashref->{recur};
78 <TD ROWSPAN=$rowspan><A HREF="${p}edit/part_pkg.cgi?$hashref->{pkgpart}">$hashref->{pkgpart}</A></TD>
81 unless ( $cgi->param('showdisabled') ) {
82 print "<TD ROWSPAN=$rowspan>";
83 print "DISABLED" if $hashref->{disabled};
88 <TD ROWSPAN=$rowspan><A HREF="${p}edit/part_pkg.cgi?$hashref->{pkgpart}">$hashref->{pkg}</A></TD>
89 <TD ROWSPAN=$rowspan>$hashref->{comment}</TD>
90 <TD ROWSPAN=$rowspan>$hashref->{freq}</TD>
91 <TD ROWSPAN=$rowspan>$hashref->{plan}</TD>
92 <TD ROWSPAN=$rowspan>$plandata</TD>
97 foreach $pkg_svc ( @pkg_svc ) {
98 my($svcpart)=$pkg_svc->getfield('svcpart');
99 my($part_svc) = qsearchs('part_svc',{'svcpart'=> $svcpart });
100 print $n,qq!<TD><A HREF="${p}edit/part_svc.cgi?$svcpart">!,
101 $part_svc->getfield('svc'),"</A></TD><TD>",
102 $pkg_svc->getfield('quantity'),"</TD></TR>\n";
110 <TR><TD COLSPAN=8><I><A HREF="${p}edit/part_pkg.cgi">Add a new package definition</A></I></TD></TR>