fix A/R report
[freeside.git] / httemplate / view / svc_Common.html
1 <& elements/svc_Common.html,
2              'table'    => $table,
3              'edit_url' => $edit_url, #$p."edit/svc_Common.html?svcdb=$table;svcnum=",
4              %opt,
5 &>
6 <%init>
7
8 # false laziness w/edit/svc_Common.html
9
10 $cgi->param('svcdb') =~ /^(svc_\w+)$/ or die "unparseable svcdb";
11 my $table = $1;
12 require "FS/$table.pm";
13
14 my $edit_url = svc_url( 'm' => $m, 'action' => 'edit', 'svcdb' => $table, query => '' );
15
16 my %opt;
17 if ( UNIVERSAL::can("FS::$table", 'table_info') ) {
18   $opt{'name'}   = "FS::$table"->table_info->{'name'};
19
20   my $fields = "FS::$table"->table_info->{'fields'};
21   my %labels = map { $_ =>  ( ref($fields->{$_})
22                                ? $fields->{$_}{'label'}
23                                : $fields->{$_}
24                            );
25                    }
26                keys %$fields;
27   $opt{'labels'} = \%labels;
28
29   #transform FS::svc_* table_info's structure into one svc_Common.html likes
30   delete $fields->{svcnum};
31   $opt{'fields'} = [ map { ref $fields->{$_}
32                              ? { field => $_,
33                                  %{ $fields->{$_} }
34                                }
35                              : $_
36                           } keys %$fields
37                    ];
38
39 }
40
41 </%init>