Initial revision
[freeside.git] / htdocs / browse / part_svc.cgi
diff --git a/htdocs/browse/part_svc.cgi b/htdocs/browse/part_svc.cgi
new file mode 100755 (executable)
index 0000000..71a5564
--- /dev/null
@@ -0,0 +1,81 @@
+#!/usr/bin/perl -Tw
+#
+# part_svc.cgi: browse part_svc
+#
+# ivan@sisd.com 97-nov-14, 97-dec-9
+#
+# Changes to allow page to work at a relative position in server
+#      bmccane@maxbaud.net     98-apr-3
+#
+# lose background, FS::CGI ivan@sisd.com 98-sep-2
+
+use strict;
+use CGI::Base;
+use FS::UID qw(cgisuidsetup swapuid);
+use FS::Record qw(qsearch);
+use FS::part_svc qw(fields);
+use FS::CGI qw(header menubar);
+
+my($cgi) = new CGI::Base;
+$cgi->get;
+
+&cgisuidsetup($cgi);
+
+SendHeaders(); # one guess.
+print header('Service Part Listing', menubar(
+  'Main Menu' => '../',
+  'Add new service' => "../edit/part_svc.cgi",
+)),<<END;
+    <BR>Click on service part number to edit.
+    <TABLE BORDER>
+      <TR>
+        <TH>Part #</TH>
+        <TH>Service</TH>
+        <TH>Table</TH>
+        <TH>Field</TH>
+        <TH>Action</TH>
+        <TH>Value</TH>
+      </TR>
+END
+
+my($part_svc);
+foreach $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);
+  print <<END;
+      <TR>
+        <TD ROWSPAN=$rowspan><A HREF="../edit/part_svc.cgi?$hashref->{svcpart}">
+          $hashref->{svcpart}
+        </A></TD>
+        <TD ROWSPAN=$rowspan>$hashref->{svc}</TD>
+        <TD ROWSPAN=$rowspan>$hashref->{svcdb}</TD>
+END
+  my($row);
+  foreach $row ( @rows ) {
+    my($flag)=$part_svc->getfield($svcdb.'__'.$row.'_flag');
+    print "<TD>$row</TD><TD>";
+    if ( $flag eq "D" ) { print "Default"; }
+      elsif ( $flag eq "F" ) { print "Fixed"; }
+      else { print "(Unknown!)"; }
+    print "</TD><TD>",$part_svc->getfield($svcdb."__".$row),"</TD></TR><TR>";
+  }
+print "</TR>";
+}
+
+print <<END;
+    </TABLE>
+    </CENTER>
+  </BODY>
+</HTML>
+END
+