diff --git a/lib/admin/Controller/ncos.pm b/lib/admin/Controller/ncos.pm index 217c3b4..7edba4c 100644 --- a/lib/admin/Controller/ncos.pm +++ b/lib/admin/Controller/ncos.pm @@ -365,6 +365,46 @@ sub do_update_pattern : Local { return; } +=head2 save_local_ac + +Set or unset "local_ac" for an ncos level. + +=cut + +sub save_local_ac : Local { + my ( $self, $c ) = @_; + + my %messages; + my %settings; + + $settings{level} = $c->request->params->{level}; + unless(length $settings{level}) { + $c->response->redirect("/ncos"); + return; + } + + $settings{data}{local_ac} = $c->request->params->{local_ac} ? 1 : 0; + + unless(keys %messages) { + if($c->model('Provisioning')->call_prov( $c, 'billing', 'update_ncos_level', + \%settings, + undef)) + { + $messages{lacmsg} = $settings{data}{local_ac} ? 'Web.NCOSLevel.LACSet' : 'Web.NCOSLevel.LACUnset'; + $c->session->{messages} = \%messages; + $c->response->redirect("/ncos/lists?level=$settings{level}#pattern"); + return; + } + $c->response->redirect("/ncos/lists?level=$settings{level}"); + return; + } + + $messages{lacerr} = 'Client.Voip.InputErrorFound'; + $c->session->{messages} = \%messages; + $c->response->redirect("/ncos/lists?level=$settings{level}#pattern"); + return; +} + =head2 do_set_lnp_provider_id Creates or updates an entry in the LNP provider list of an NCOS level. diff --git a/root/css/admin.css b/root/css/admin.css index 331eb47..41f84bc 100644 --- a/root/css/admin.css +++ b/root/css/admin.css @@ -401,3 +401,10 @@ h3 { .topbottomspace { margin: 5px 0; } + +#local_ac { + margin: 5px 0 7px 10px; +} +#save_local_ac { + margin: 0 0 0 15px; +} diff --git a/root/tt/ncos_lists.tt b/root/tt/ncos_lists.tt index 9866560..1de3889 100644 --- a/root/tt/ncos_lists.tt +++ b/root/tt/ncos_lists.tt @@ -102,6 +102,19 @@ [% IF messages.cpat %]