scalar cgi param
[freeside.git] / httemplate / edit / process / elements / svc_Common.html
index e1b7cbe..504ded0 100644 (file)
@@ -11,6 +11,9 @@ my %opt = @_;
 my $table = $opt{'table'};
 $opt{'fields'} ||= [ fields($table) ];
 push @{ $opt{'fields'} }, qw( pkgnum svcpart );
+push @{ $opt{'fields'} }, @{ "FS::$table"->table_info->{'addl_process_fields'} }
+  if UNIVERSAL::can("FS::$table", 'table_info')
+  && "FS::$table"->table_info->{'addl_process_fields'};
 foreach (fields($table)) {
   if ( $cgi->param($_.'_classnum') ) {
     push @{ $opt{'fields'} }, $_.'_classnum';
@@ -23,10 +26,10 @@ my $args_callback = sub {
     or die "svcpart required";
   if ( $part_svc->has_router ) {
     my $router = FS::router->new({
-      map { $_ => $cgi->param("router_$_") }
+      map { $_ => scalar($cgi->param("router_$_")) }
       qw( routernum routername blocknum )
     });
-   if (length($router->routername) == 0) {
+   if ($router->blocknum and length($router->routername) == 0) {
       #sensible default
       $router->set('routername', $svc->label);
     }