0af64e73716344b56de79964ada73ce4d6322055
[freeside.git] / httemplate / browse / part_pkg.cgi
1 <!-- mason kludge -->
2 <%
3
4 my %search;
5 if ( $cgi->param('showdisabled') ) {
6   %search = ();
7 } else {
8   %search = ( 'disabled' => '' );
9 }
10
11 my @part_pkg = qsearch('part_pkg', \%search );
12 my $total = scalar(@part_pkg);
13
14 print header("Package Definition Listing",menubar(
15   'Main Menu' => $p,
16 )). "One or more services are grouped together into a package and given".
17   " pricing information. Customers purchase packages".
18   " rather than purchase services directly.<BR><BR>".
19   "$total packages ";
20
21 if ( $cgi->param('showdisabled') ) {
22   $cgi->param('showdisabled', 0);
23   print qq!( <a href="!. $cgi->self_url. qq!">hide disabled packages</a> )!;
24 } else {
25   $cgi->param('showdisabled', 1);
26   print qq!( <a href="!. $cgi->self_url. qq!">show disabled packages</a> )!;
27 }
28
29 my $colspan = $cgi->param('showdisabled') ? 2 : 3;
30 print &table(), <<END;
31       <TR>
32         <TH COLSPAN=2>Package</TH>
33         <TH>Comment</TH>
34         <TH><FONT SIZE=-1>Freq.</FONT></TH>
35         <TH><FONT SIZE=-1>Plan</FONT></TH>
36         <TH><FONT SIZE=-1>Data</FONT></TH>
37         <TH>Service</TH>
38         <TH><FONT SIZE=-1>Quan.</FONT></TH>
39       </TR>
40 END
41
42 foreach my $part_pkg ( sort { 
43   $a->getfield('pkgpart') <=> $b->getfield('pkgpart')
44 } @part_pkg ) {
45   my($hashref)=$part_pkg->hashref;
46   my(@pkg_svc)=grep $_->getfield('quantity'),
47     qsearch('pkg_svc',{'pkgpart'=> $hashref->{pkgpart} });
48   my($rowspan)=scalar(@pkg_svc);
49   my $plandata;
50   if ( $hashref->{plan} ) {
51     $plandata = $hashref->{plandata};
52     $plandata =~ s/^(\w+)=/$1&nbsp;/mg;
53     $plandata =~ s/\n/<BR>/g;
54   } else {
55     $hashref->{plan} = "(legacy)";
56     $plandata = "Setup&nbsp;". $hashref->{setup}.
57                 "<BR>Recur&nbsp;". $hashref->{recur};
58   }
59   print <<END;
60       <TR>
61         <TD ROWSPAN=$rowspan><A HREF="${p}edit/part_pkg.cgi?$hashref->{pkgpart}">$hashref->{pkgpart}</A></TD>
62 END
63
64   unless ( $cgi->param('showdisabled') ) {
65     print "<TD ROWSPAN=$rowspan>";
66     print "DISABLED" if $hashref->{disabled};
67     print '</TD>';
68   }
69
70   print <<END;
71         <TD ROWSPAN=$rowspan><A HREF="${p}edit/part_pkg.cgi?$hashref->{pkgpart}">$hashref->{pkg}</A></TD>
72         <TD ROWSPAN=$rowspan>$hashref->{comment}</TD>
73         <TD ROWSPAN=$rowspan>$hashref->{freq}</TD>
74         <TD ROWSPAN=$rowspan>$hashref->{plan}</TD>
75         <TD ROWSPAN=$rowspan>$plandata</TD>
76 END
77
78   my($pkg_svc);
79   my($n)="";
80   foreach $pkg_svc ( @pkg_svc ) {
81     my($svcpart)=$pkg_svc->getfield('svcpart');
82     my($part_svc) = qsearchs('part_svc',{'svcpart'=> $svcpart });
83     print $n,qq!<TD><A HREF="${p}edit/part_svc.cgi?$svcpart">!,
84           $part_svc->getfield('svc'),"</A></TD><TD>",
85           $pkg_svc->getfield('quantity'),"</TD></TR>\n";
86     $n="<TR>";
87   }
88
89   print "</TR>";
90 }
91
92 print <<END;
93    <TR><TD COLSPAN=8><I><A HREF="${p}edit/part_pkg.cgi">Add a new package definition</A></I></TD></TR>
94     </TABLE>
95   </BODY>
96 </HTML>
97 END
98 %>