summaryrefslogtreecommitdiff
path: root/htdocs/browse/part_svc.cgi
blob: 123cb7d2a4d58ae18a0d814a0a951d65056c15f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
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