invoice_sections_with_taxes per-agent, RT#79636
[freeside.git] / httemplate / view / svc_Common.html
index defbee9..9c4d71e 100644 (file)
@@ -1,17 +1,18 @@
-<% include('elements/svc_Common.html',
+<& elements/svc_Common.html,
              'table'    => $table,
-            'edit_url' => $p."edit/svc_Common.html?svcdb=$table;svcnum=",
+            '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 "unparsable svcdb";
+$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'};
@@ -24,6 +25,17 @@ if ( UNIVERSAL::can("FS::$table", 'table_info') ) {
                    }
                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>