%
my %search;
if ( $cgi->param('showdisabled') ) {
%search = ();
} else {
%search = ( 'disabled' => '' );
}
my @part_svc =
sort { $a->getfield('svcpart') <=> $b->getfield('svcpart') }
qsearch('part_svc', \%search );
my $total = scalar(@part_svc);
my %num_active_cust_svc = ();
if ( $cgi->param('active') ) {
my $active_sth = dbh->prepare(
'SELECT COUNT(*) FROM cust_svc WHERE svcpart = ?'
) or die dbh->errstr;
foreach my $part_svc ( @part_svc ) {
$active_sth->execute($part_svc->svcpart) or die $active_sth->errstr;
$num_active_cust_svc{$part_svc->svcpart} =
$active_sth->fetchrow_arrayref->[0];
}
@part_svc = sort { $num_active_cust_svc{$b->svcpart} <=>
$num_active_cust_svc{$a->svcpart} } @part_svc;
}
%>
<%= header('Service Definition Listing', menubar( 'Main Menu' => $p) ) %>
Service definitions are the templates for items you offer to your customers.
<%= $total %> service definitions
<%= $cgi->param('showdisabled')
? do { $cgi->param('showdisabled', 0);
'( hide disabled services )'; }
: do { $cgi->param('showdisabled', 1);
'( show disabled services )'; }
%>
<%= table() %>
param('showdisabled') ? 2 : 3 %>>Service |
Table |
<% if ( $cgi->param('active') ) { %>
Customer Services |
<% } %>
Export |
Field |
Modifier |
<% foreach my $part_svc ( @part_svc ) {
my $hashref = $part_svc->hashref;
my $svcdb = $hashref->{svcdb};
my $svc_x = "FS::$svcdb"->new( { svcpart => $part_svc->svcpart } );
my @dfields = $svc_x->fields;
push @dfields, 'usergroup' if $svcdb eq 'svc_acct'; #kludge
my @fields =
grep { $svc_x->pvf($_)
or $_ ne 'svcnum' && $part_svc->part_svc_column($_)->columnflag }
@dfields ;
my $rowspan = scalar(@fields) || 1;
my $url = "${p}edit/part_svc.cgi?$hashref->{svcpart}";
%>
>
<%= $hashref->{svcpart} %> |
<% unless ( $cgi->param('showdisabled') ) { %>
>
<%= $hashref->{disabled} ? 'DISABLED' : '' %> |
<% } %>
>
<%= $hashref->{svc} %> |
>
<%= $hashref->{svcdb} %> |
<% if ( $cgi->param('active') ) { %>
>
<%= $num_active_cust_svc{$hashref->{svcpart}} %> active
|
<% } %>
><%= itable() %>
<%
# my @part_export =
map { qsearchs('part_export', { exportnum => $_->exportnum } ) } qsearch('export_svc', { svcpart => $part_svc->svcpart } ) ;
foreach my $part_export (
map { qsearchs('part_export', { exportnum => $_->exportnum } ) }
qsearch('export_svc', { svcpart => $part_svc->svcpart } )
) {
%>
|
<%= $part_export->exportnum %>: <%= $part_export->exporttype %> to <%= $part_export->machine %> |
<% } %>
<% my($n1)='';
foreach my $field ( @fields ) {
my $flag = $part_svc->part_svc_column($field)->columnflag;
%>
<%= $n1 %><%= $field %> |
<% if ( $flag eq "D" ) { print "Default"; }
elsif ( $flag eq "F" ) { print "Fixed"; }
elsif ( not $flag ) { }
else { print "(Unknown!)"; }
%>
| <%= $part_svc->part_svc_column($field)->columnvalue%> |
<% $n1="";
}
%>
<% } %>