all $cgi->header calls now include ( '-expires' => 'now' ) for mod_perl
[freeside.git] / htdocs / browse / agent_type.cgi
1 #!/usr/bin/perl -Tw
2 #
3 # $Id: agent_type.cgi,v 1.4 1999-01-18 09:41:15 ivan Exp $
4 #
5 # ivan@sisd.com 97-dec-10
6 #
7 # Changes to allow page to work at a relative position in server
8 # Changes to make "Packages" display 2-wide in table (old way was too vertical)
9 #       bmccane@maxbaud.net 98-apr-3
10 #
11 # lose background, FS::CGI ivan@sisd.com 98-sep-2
12 #
13 # $Log: agent_type.cgi,v $
14 # Revision 1.4  1999-01-18 09:41:15  ivan
15 # all $cgi->header calls now include ( '-expires' => 'now' ) for mod_perl
16 # (good idea anyway)
17 #
18 # Revision 1.3  1998/12/17 05:25:17  ivan
19 # fix visual and other bugs
20 #
21 # Revision 1.2  1998/11/21 07:39:52  ivan
22 # visual
23 #
24
25 use strict;
26 use CGI;
27 use CGI::Carp qw(fatalsToBrowser);
28 use FS::UID qw(cgisuidsetup swapuid);
29 use FS::Record qw(qsearch qsearchs);
30 use FS::CGI qw(header menubar popurl table);
31 use FS::agent_type;
32 use FS::type_pkgs;
33 use FS::part_pkg;
34
35 my($cgi) = new CGI;
36
37 &cgisuidsetup($cgi);
38
39 my($p)=popurl(2);
40 print $cgi->header( '-expires' => 'now' ), header("Agent Type Listing", menubar(
41   'Main Menu' => $p,
42 )), "Agent types define groups of packages that you can then assign to".
43     " particular agents.<BR><BR>", table, <<END;
44       <TR>
45         <TH COLSPAN=2>Agent Type</TH>
46         <TH COLSPAN="2">Packages</TH>
47       </TR>
48 END
49
50 my($agent_type);
51 foreach $agent_type ( sort { 
52   $a->getfield('typenum') <=> $b->getfield('typenum')
53 } qsearch('agent_type',{}) ) {
54   my($hashref)=$agent_type->hashref;
55   my(@type_pkgs)=qsearch('type_pkgs',{'typenum'=> $hashref->{typenum} });
56   my($rowspan)=scalar(@type_pkgs);
57   $rowspan = int($rowspan/2+0.5) ;
58   print <<END;
59       <TR>
60         <TD ROWSPAN=$rowspan><A HREF="${p}edit/agent_type.cgi?$hashref->{typenum}">
61           $hashref->{typenum}
62         </A></TD>
63         <TD ROWSPAN=$rowspan><A HREF="${p}/edit/agent_type.cgi?$hashref->{typenum}">$hashref->{atype}</A></TD>
64 END
65
66   my($type_pkgs);
67   my($tdcount) = -1 ;
68   foreach $type_pkgs ( @type_pkgs ) {
69     my($pkgpart)=$type_pkgs->getfield('pkgpart');
70     my($part_pkg) = qsearchs('part_pkg',{'pkgpart'=> $pkgpart });
71     print qq!<TR>! if ($tdcount == 0) ;
72     $tdcount = 0 if ($tdcount == -1) ;
73     print qq!<TD><A HREF="${p}edit/part_pkg.cgi?$pkgpart">!,
74           $part_pkg->getfield('pkg'),"</A></TD>";
75     $tdcount ++ ;
76     if ($tdcount == 2)
77     {
78         print qq!</TR>\n! ;
79         $tdcount = 0 ;
80     }
81   }
82
83   print "</TR>";
84 }
85
86 print <<END;
87   <TR><TD COLSPAN=2><I><A HREF="${p}edit/agent_type.cgi">Add new agent type</A></I></TD></TR>
88     </TABLE>
89   </BODY>
90 </HTML>
91 END
92