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