<% # options example... # # 'table' => 'svc_something' # # 'labels' => { # 'column' => 'Label', # }, # # listref - each item is a literal column name (or method) or (notyet) coderef # if not specified all columns (except for the primary key) will be viewable # 'fields' => [ # ] my(%opt) = @_; my $table = $opt{'table'}; my $fields = $opt{'fields'} #|| [ grep { $_ ne 'svcnum' } dbdef->table($table)->columns ]; || [ grep { $_ ne 'svcnum' } fields($table) ]; my($query) = $cgi->keywords; $query =~ /^(\d+)$/; my $svcnum = $1; my $svc_x = qsearchs( $opt{'table'}, { 'svcnum' => $svcnum } ) or die "Unknown svcnum $svcnum in ". $opt{'table'}. " table\n"; my $cust_svc = $svc_x->cust_svc; my($label, $value, $svcdb) = $cust_svc->label; my $pkgnum = $cust_svc->pkgnum; my($cust_pkg, $custnum); if ($pkgnum) { $cust_pkg = $cust_svc->cust_pkg; $custnum = $cust_pkg->custnum; } else { $cust_pkg = ''; $custnum = ''; } %> <% if ( $custnum ) { %> <%= include("/elements/header.html","View $label: $value", menubar( "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum", )) %> <%= include( '/elements/small_custview.html', $custnum, '', 1 ) %>
<% } else { %> <%= include("/elements/header.html","View $label: $value", menubar( "Cancel this (unaudited) $label" => "javascript:areyousure(\'${p}misc/cancel-unaudited.cgi?$svcnum\')" )) %> <% } %> Service #<%= $svcnum %> | Edit this <%= $label %>
<%= ntable("#cccccc") %><%= ntable("#cccccc",2) %> <% foreach my $f ( @$fields ) { my( $field, $type); if ( ref($f) ) { $field = $f->{'field'}, $type = $f->{'type'} || 'text', } else { $field = $f; $type = 'text'; } %> <%= ( $opt{labels} && exists $opt{labels}->{$field} ) ? $opt{labels}->{$field} : $field %> <% #eventually more options for