diff --git a/lib/admin/Controller/number.pm b/lib/admin/Controller/number.pm index 9d2a8eb..83c35dc 100644 --- a/lib/admin/Controller/number.pm +++ b/lib/admin/Controller/number.pm @@ -121,7 +121,7 @@ sub index : Private { } elsif($c->request->params->{edit_cc}) { foreach my $block (eval { @{$$blocks{number_blocks}} }) { if($$block{cc} == $c->stash->{edit_cc} - and $$block{ac} == $c->stash->{edit_ac} + and $$block{ac} eq $c->stash->{edit_ac} and $$block{sn_prefix} eq $c->stash->{edit_sn_prefix}) { $c->stash->{erefill} = $block; @@ -193,7 +193,7 @@ sub do_update_block : Local { $settings{cc} = $c->request->params->{cc}; $settings{ac} = $c->request->params->{ac}; $settings{sn_prefix} = $c->request->params->{sn_prefix}; - unless(length $settings{cc} and length $settings{ac}) { + unless(length $settings{cc} and defined $settings{ac} and defined $settings{sn_prefix}) { $c->response->redirect("/number"); return; } @@ -238,7 +238,7 @@ sub do_delete_block : Local { $settings{cc} = $c->request->params->{cc}; $settings{ac} = $c->request->params->{ac}; $settings{sn_prefix} = $c->request->params->{sn_prefix}; - unless(length $settings{cc} and length $settings{ac}) { + unless(length $settings{cc} and defined $settings{ac} and defined $settings{sn_prefix}) { $c->response->redirect("/number"); return; } diff --git a/lib/admin/Controller/subscriber.pm b/lib/admin/Controller/subscriber.pm index 84bba2c..b36330f 100644 --- a/lib/admin/Controller/subscriber.pm +++ b/lib/admin/Controller/subscriber.pm @@ -254,26 +254,22 @@ sub update_subscriber : Local { $settings{cc} = $cc; $settings{ac} = $ac; $settings{sn} = $sn; - unless(length $cc and length $ac and length $sn) { - $messages{number} = 'Client.Voip.MissingNumberPart'; - } else { - my $checkresult; - return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'check_cc', - $cc, \$checkresult - ); - $messages{number_cc} = 'Client.Voip.MalformedCc' - unless $checkresult; - return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'check_ac', - $ac, \$checkresult - ); - $messages{number_ac} = 'Client.Voip.MalformedAc' - unless $checkresult; - return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'check_sn', - $sn, \$checkresult - ); - $messages{number_sn} = 'Client.Voip.MalformedSn' - unless $checkresult; - } + my $checkresult; + return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'check_cc', + $cc, \$checkresult + ); + $messages{number_cc} = 'Client.Voip.MalformedCc' + unless $checkresult; + return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'check_ac', + $ac, \$checkresult + ); + $messages{number_ac} = 'Client.Voip.MalformedAc' + unless $checkresult; + return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'check_sn', + $sn, \$checkresult + ); + $messages{number_sn} = 'Client.Voip.MalformedSn' + unless $checkresult; } else { $settings{cc} = undef; $settings{ac} = undef;