summaryrefslogtreecommitdiff
path: root/htdocs/browse/part_svc.cgi
diff options
context:
space:
mode:
Diffstat (limited to 'htdocs/browse/part_svc.cgi')
-rwxr-xr-xhtdocs/browse/part_svc.cgi118
1 files changed, 118 insertions, 0 deletions
diff --git a/htdocs/browse/part_svc.cgi b/htdocs/browse/part_svc.cgi
new file mode 100755
index 000000000..123cb7d2a
--- /dev/null
+++ b/htdocs/browse/part_svc.cgi
@@ -0,0 +1,118 @@
+#!/usr/bin/perl -Tw
+#
+# $Id: part_svc.cgi,v 1.11 1999-04-09 04:22:34 ivan Exp $
+#
+# 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
+#
+# $Log: part_svc.cgi,v $
+# Revision 1.11 1999-04-09 04:22:34 ivan
+# also table()
+#
+# Revision 1.10 1999/04/09 03:52:55 ivan
+# explicit & for table/itable/ntable
+#
+# Revision 1.9 1999/01/19 05:13:29 ivan
+# for mod_perl: no more top-level my() variables; use vars instead
+# also the last s/create/new/;
+#
+# Revision 1.8 1999/01/18 09:41:19 ivan
+# all $cgi->header calls now include ( '-expires' => 'now' ) for mod_perl
+# (good idea anyway)
+#
+# Revision 1.7 1998/12/30 23:06:22 ivan
+# typo
+#
+# Revision 1.6 1998/12/30 23:03:20 ivan
+# bugfixes; fields isn't exported by derived classes
+#
+# Revision 1.5 1998/12/17 05:25:21 ivan
+# fix visual and other bugs
+#
+# Revision 1.4 1998/11/21 02:26:22 ivan
+# visual
+#
+# Revision 1.3 1998/11/20 23:10:57 ivan
+# visual
+#
+# Revision 1.2 1998/11/20 08:50:37 ivan
+# s/CGI::Base/CGI.pm, visual fixes
+#
+
+use strict;
+use vars qw( $cgi $p $part_svc );
+use CGI;
+use CGI::Carp qw(fatalsToBrowser);
+use FS::UID qw(cgisuidsetup);
+use FS::Record qw(qsearch fields);
+use FS::part_svc;
+use FS::CGI qw(header menubar popurl table);
+
+$cgi = new CGI;
+
+&cgisuidsetup($cgi);
+
+$p = popurl(2);
+
+print $cgi->header( '-expires' => 'now' ), header('Service Part Listing', menubar(
+ 'Main Menu' => $p,
+)),<<END;
+ Services are items you offer to your customers.<BR><BR>
+END
+print &table(), <<END;
+ <TR>
+ <TH COLSPAN=2>Service</TH>
+ <TH>Table</TH>
+ <TH>Field</TH>
+ <TH COLSPAN=2>Modifier</TH>
+ </TR>
+END
+
+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) || 1;
+ print <<END;
+ <TR>
+ <TD ROWSPAN=$rowspan><A HREF="${p}edit/part_svc.cgi?$hashref->{svcpart}">
+ $hashref->{svcpart}</A></TD>
+ <TD ROWSPAN=$rowspan><A HREF="${p}edit/part_svc.cgi?$hashref->{svcpart}"> $hashref->{svc}</A></TD>
+ <TD ROWSPAN=$rowspan>$hashref->{svcdb}</TD>
+END
+
+ my($n1)='';
+ my($row);
+ foreach $row ( @rows ) {
+ my($flag)=$part_svc->getfield($svcdb.'__'.$row.'_flag');
+ print $n1,"<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>";
+ $n1="</TR><TR>";
+ }
+print "</TR>";
+}
+
+print <<END;
+ <TR>
+ <TD COLSPAN=2><A HREF="${p}edit/part_svc.cgi"><I>Add new service</I></A></TD>
+ </TR>
+ </TABLE>
+ </BODY>
+</HTML>
+END
+