summaryrefslogtreecommitdiff
path: root/httemplate/edit/process/elements/svc_Common.html
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate/edit/process/elements/svc_Common.html')
-rw-r--r--httemplate/edit/process/elements/svc_Common.html19
1 files changed, 19 insertions, 0 deletions
diff --git a/httemplate/edit/process/elements/svc_Common.html b/httemplate/edit/process/elements/svc_Common.html
index 06f4c00b1..e1b7cbe1a 100644
--- a/httemplate/edit/process/elements/svc_Common.html
+++ b/httemplate/edit/process/elements/svc_Common.html
@@ -1,6 +1,7 @@
<% include( 'process.html',
'edit_ext' => 'cgi',
'redirect' => popurl(3)."view/$table.cgi?",
+ 'args_callback' => $args_callback,
%opt,
)
%>
@@ -16,4 +17,22 @@ foreach (fields($table)) {
}
}
+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 { $_ => $cgi->param("router_$_") }
+ qw( routernum routername blocknum )
+ });
+ if (length($router->routername) == 0) {
+ #sensible default
+ $router->set('routername', $svc->label);
+ }
+ return (child_objects => [ $router ]);
+ }
+ ();
+};
+
</%init>