+my $args_callback = sub {
+ my ($cgi, $svc) = @_;
+ my $part_svc = FS::part_svc->by_key($cgi->param('svcpart'))
+ or die "svcpart required";
+ if ( $part_svc->has_router ) {
+ my $router = FS::router->new({
+ map { $_ => scalar($cgi->param("router_$_")) }
+ qw( routernum routername blocknum )
+ });
+ if ($router->blocknum and length($router->routername) == 0) {
+ #sensible default
+ $router->set('routername', $svc->label);
+ }
+ return (child_objects => [ $router ]);
+ }
+ ();
+};
+