UI nit fixes - misaligned columns when viewing disabled services/packages
[freeside.git] / httemplate / browse / part_svc.cgi
index 8a564ba..07f1979 100755 (executable)
@@ -1,10 +1,30 @@
-<!-- $Id: part_svc.cgi,v 1.5 2001-09-11 00:08:18 ivan Exp $ -->
+<!-- mason kludge -->
+<% 
+
+my %search;
+if ( $cgi->param('showdisabled') ) {
+  %search = ();
+} else {
+  %search = ( 'disabled' => '' );
+}
+
+my @part_svc = qsearch('part_svc', \%search );
+my $total = scalar(@part_svc);
+
+%>
 <%= header('Service Definition Listing', menubar( 'Main Menu' => $p) ) %>
 
     Services are items you offer to your customers.<BR><BR>
-<TABLE BORDER=1>
+<%= $total %> services
+<%= $cgi->param('showdisabled')
+      ? do { $cgi->param('showdisabled', 0);
+             '( <a href="'. $cgi->self_url. '">hide disabled services</a> )'; }
+      : do { $cgi->param('showdisabled', 1);
+             '( <a href="'. $cgi->self_url. '">show disabled services</a> )'; }
+%>
+<%= table() %>
   <TR>
-    <TH COLSPAN=2>Service</TH>
+    <TH COLSPAN=<%= $cgi->param('showdisabled') ? 2 : 3 %>>Service</TH>
     <TH>Table</TH>
     <TH>Field</TH>
     <TH COLSPAN=2>Modifier</TH>
@@ -12,7 +32,7 @@
 
 <% foreach my $part_svc ( sort {
      $a->getfield('svcpart') <=> $b->getfield('svcpart')
-   } qsearch('part_svc',{}) ) {
+   } @part_svc ) {
      my($hashref)=$part_svc->hashref;
      my($svcdb)=$hashref->{svcdb};
      my @fields =
   <TR>
     <TD ROWSPAN=<%= $rowspan %>><A HREF="<%= $url %>">
       <%= $hashref->{svcpart} %></A></TD>
+<% unless ( $cgi->param('showdisabled') ) { %>
+    <TD ROWSPAN=<%= $rowspan %>>
+      <%= $hashref->{disabled} ? 'DISABLED' : '' %></TD>
+<% } %>
     <TD ROWSPAN=<%= $rowspan %>><A HREF="<%= $url %>">
       <%= $hashref->{svc} %></A></TD>
     <TD ROWSPAN=<%= $rowspan %>>
@@ -49,7 +73,7 @@
 <% } %>
 
   <TR>
-    <TD COLSPAN=6><A HREF="<%= $p %>edit/part_svc.cgi"><I>Add a new service definition</I></A></TD>
+    <TD COLSPAN=<%= $cgi->param('showdisabled') ? 6 : 7 %>><A HREF="<%= $p %>edit/part_svc.cgi"><I>Add a new service definition</I></A></TD>
   </TR>
 </TABLE>
 </BODY>