blob: 9c4d71eb8e9b4e2967846204ba826dc276970199 (
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
|
<& 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>
|