X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Felements%2Ftr-select-router_block_ip.html;h=ed8fe810fc2745bd2477cd0fa5d9a4d5bb0eb033;hb=7d68066ea33f9f85fe14ce663372642d7ec2ad20;hp=e6b7bfe7e12a3ecbeee4f137019ea091ddc041d6;hpb=eb9d1063e1203231ee0c6922ea5638370f7b5ece;p=freeside.git diff --git a/httemplate/elements/tr-select-router_block_ip.html b/httemplate/elements/tr-select-router_block_ip.html index e6b7bfe7e..ed8fe810f 100644 --- a/httemplate/elements/tr-select-router_block_ip.html +++ b/httemplate/elements/tr-select-router_block_ip.html @@ -1,14 +1,22 @@ <& /elements/tr-td-label.html, label => ($opt{'label'} || 'Router') &> @@ -19,7 +27,7 @@ function hide_if_auto_addr(obj, i) { records => \@routers, name_col => 'routername', value_col => 'routernum', - onchange => 'hide_if_auto_addr', + onchange => 'lock_ip_addr', curr_value=> $opt{'routernum'}, }, { @@ -44,26 +52,28 @@ function hide_if_auto_addr(obj, i) { % } % else { + value="<% $opt{'ip_addr'} |h%>"> % } - <% $opt{'ip_addr'} || '' %> - (automatic) + <%init> + my %opt = @_; my @routers; +my $conf = FS::Conf->new; my $svc_x = $opt{'object'}; if ( $svc_x ) { $opt{$_} = $svc_x->$_ foreach qw(routernum blocknum ip_addr svcpart); + if ( $svc_x->svcnum ) { + $opt{'svcpart'} = $svc_x->cust_svc->svcpart; + } } -warn Dumper(\%opt); - my $svcpart = $opt{'svcpart'} || ''; my %fixed; # which fields are fixed $svcpart =~ /^\d*$/ or die "invalid svcpart '$svcpart'"; @@ -90,5 +100,17 @@ else { @routers = qsearch('router', {}); } -my %auto_addr_routernum = map { $_->routernum, $_->auto_addr } @routers; +my %manual_addr_routernum = map { $_->routernum, $_->manual_addr } @routers; + +if ( $conf->exists('auto_router') ) { + # Then show an "(automatic)" router, with no blocks. manual_addr is on + # so that the ip_addr field will be unlocked. + unshift @routers, FS::router->new({ + 'routernum' => '', + 'routername' => '(automatic)', + 'manual_addr' => 'Y', + }); + $manual_addr_routernum{''} = 'Y'; +} +