working message catalogs (not used for enough yet)
[freeside.git] / httemplate / browse / part_svc.cgi
index 1458747..250b1ff 100755 (executable)
-<!-- $Id: part_svc.cgi,v 1.2 2001-08-11 23:18:30 ivan Exp $ -->
-<%= header('Service Part Listing', menubar( 'Main Menu' => $p) ) %>
+<!-- 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) ) %>
+
+<SCRIPT>
+function part_export_areyousure(href) {
+  if (confirm("Are you sure you want to delete this export?") == true)
+    window.location.href = href;
+}
+</SCRIPT>
 
     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>Export</TH>
     <TH>Field</TH>
     <TH COLSPAN=2>Modifier</TH>
   </TR>
 
 <% foreach my $part_svc ( sort {
      $a->getfield('svcpart') <=> $b->getfield('svcpart')
-   } qsearch('part_svc',{}) ) {
-     my($hashref)=$part_svc->hashref;
-     my($svcdb)=$hashref->{svcdb};
-     my(@rows)=
-       grep $hashref->{${svcdb}.'__'.$_.'_flag'},
-         map { /^${svcdb}__(.*)$/; $1 }
-           grep ! /_flag$/,
-             grep /^${svcdb}__/,
-               fields('part_svc')
-     ;
-     my($rowspan)=scalar(@rows) || 1;
+   } @part_svc ) {
+     my $hashref = $part_svc->hashref;
+     my $svcdb = $hashref->{svcdb};
+     my @dfields = fields($svcdb);
+     push @dfields, 'usergroup' if $svcdb eq 'svc_acct'; #kludge
+     my @fields =
+       grep { $_ ne 'svcnum' && $part_svc->part_svc_column($_)->columnflag }
+            @dfields;
+
+     my $rowspan = scalar(@fields) || 1;
      my $url = "${p}edit/part_svc.cgi?$hashref->{svcpart}";
 %>
 
   <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 %>>
       <%= $hashref->{svcdb} %></TD>
+    <TD ROWSPAN=<%= $rowspan %>><%= itable() %>
+<%
+  my @part_export = qsearch('part_export', { svcpart => $part_svc->svcpart } );
+  foreach my $part_export ( @part_export ) {
+%>
+      <TR>
+        <TD><%= $part_export->exporttype %> to <%= $part_export->machine %> (<A HREF="<%= $p %>edit/part_export.cgi?<%= $part_export->exportnum %>">edit</A>&nbsp;|&nbsp;<A HREF="javascript:part_export_areyousure('<%= $p %>misc/delete-part_export.cgi?<%= $part_export->exportnum %>')">delete</A>)</TD>
+        <TD>
+          <%= itable() %>
+          <% my %opt = $part_export->options;
+             foreach my $opt ( keys %opt ) { %>
+               <TR><TD><%= $opt %></TD><TD><%= $opt{$opt} %></TD></TR>
+          <% } %>
+          </TABLE>
+        </TD>
+<%  } %>
+      </TR><TR><TD COLSPAN=2><A HREF="<%= $p %>edit/part_export.cgi?new_with_svcpart=<%= $part_svc->svcpart %>"><I>Add a new export</I></A></TD></TR>
+<% if (@part_export) { %>
+      <TR><TD COLSPAN=2>
+        <FORM METHOD="POST" ACTION="<%= $p %>edit/part_export.cgi">
+        <INPUT TYPE="hidden" NAME="svcpart" VALUE="<%= $part_svc->svcpart %>">
+        <SELECT NAME="clone"><OPTION></OPTION>
+<%   foreach my $part_export ( @part_export ) { %>
+          <OPTION VALUE="<%= $part_export->exportnum %>">
+            <%= $part_export->exporttype %> to <%= $part_export->machine %>
+          </OPTION>
+<%   } %>
+        </SELECT>
+        <INPUT TYPE="submit" VALUE="clone existing export">
+        </FORM></TD></TR>
+<% } %>
+      </TABLE></TD>
 
 <%   my($n1)='';
-     my($row);
-     foreach $row ( @rows ) {
-       my($flag)=$part_svc->getfield($svcdb.'__'.$row.'_flag');
+     foreach my $field ( @fields ) {
+       my $flag = $part_svc->part_svc_column($field)->columnflag;
 %>
-     <%= $n1 %><TD><%= $row %></TD><TD>
+     <%= $n1 %><TD><%= $field %></TD><TD>
 
 <%     if ( $flag eq "D" ) { print "Default"; }
          elsif ( $flag eq "F" ) { print "Fixed"; }
          else { print "(Unknown!)"; }
 %>
-       </TD><TD><%= $part_svc->getfield($svcdb."__".$row) %></TD>
+       </TD><TD><%= $part_svc->part_svc_column($field)->columnvalue%></TD>
 <%     $n1="</TR><TR>";
      }
 %>
 <% } %>
 
   <TR>
-    <TD COLSPAN=2><A HREF="<%= $p %>edit/part_svc.cgi"><I>Add new service</I></A></TD>
+    <TD COLSPAN=<%= $cgi->param('showdisabled') ? 7 : 8 %>><A HREF="<%= $p %>edit/part_svc.cgi"><I>Add a new service definition</I></A></TD>
   </TR>
 </TABLE>
 </BODY>