From 1cf249f5606dc31df150fb353db6c0d3ee7ba49b Mon Sep 17 00:00:00 2001 From: Victor Seva Date: Fri, 7 Oct 2016 11:16:22 +0200 Subject: [PATCH] TT#4556 bin/create_lnp.pl: fix removal logic panel API doesn't allow to remove lnpcarrier with lnpnumbers assigned Change-Id: I4b67a1f06c3e156089db52b77d0b406d02f28401 --- bin/create_lnp.pl | 14 ++++++++++++++ lib/Sipwise/API.pm | 2 ++ 2 files changed, 16 insertions(+) diff --git a/bin/create_lnp.pl b/bin/create_lnp.pl index 2e91ac35..f38e6e81 100755 --- a/bin/create_lnp.pl +++ b/bin/create_lnp.pl @@ -99,11 +99,25 @@ sub do_delete foreach (keys %{$data}) { my $lnp = $data->{$_}->{data}; + my $numbers = $data->{$_}->{numbers}; my $param = { name => $lnp->{name} }; my $id = $api->check_lnpcarrier_exists($param); if($id) { + foreach my $number (@{$numbers}) { + $number->{carrier_id} = $id; + my $nid = $api->check_lnpnumber_exists($number); + if($nid) { + if($api->delete_lnpnumber($nid)) { + print "lnpnumber [$number->{number}]: deleted [$nid]\n"; + } else { + die("Error: can't delete lnpnumber [$number->{number}]"); + } + } else { + print "lnpnumber: already gone [$number->{number}]\n"; + } + } if($api->delete_lnpcarrier($id)) { print "lnp: deleted [$lnp->{name}]\n"; } else { diff --git a/lib/Sipwise/API.pm b/lib/Sipwise/API.pm index 26b69fc9..c7279154 100644 --- a/lib/Sipwise/API.pm +++ b/lib/Sipwise/API.pm @@ -691,3 +691,5 @@ sub delete_lnpnumber { return $self->_delete($urldata); } + +1;