& elements/svc_Common.html,
'table' => $table,
'edit_url' => $edit_url, #$p."edit/svc_Common.html?svcdb=$table;svcnum=",
%opt,
&>
<%init>
# false laziness w/edit/svc_Common.html
$cgi->param('svcdb') =~ /^(svc_\w+)$/ or die "unparseable svcdb";
my $table = $1;
require "FS/$table.pm";
my $edit_url = svc_url( 'm' => $m, 'action' => 'edit', 'svcdb' => $table, query => '' );
my %opt;
if ( UNIVERSAL::can("FS::$table", 'table_info') ) {
$opt{'name'} = "FS::$table"->table_info->{'name'};
my $fields = "FS::$table"->table_info->{'fields'};
my %labels = map { $_ => ( ref($fields->{$_})
? $fields->{$_}{'label'}
: $fields->{$_}
);
}
keys %$fields;
$opt{'labels'} = \%labels;
#transform FS::svc_* table_info's structure into one svc_Common.html likes
delete $fields->{svcnum};
$opt{'fields'} = [ map { ref $fields->{$_}
? { field => $_,
%{ $fields->{$_} }
}
: $_
} keys %$fields
];
}
%init>