From 7b3080f45b310f3efc924d3ce4001aded88753ca Mon Sep 17 00:00:00 2001 From: Gerhard Jungwirth Date: Fri, 11 Jul 2014 13:14:21 +0200 Subject: [PATCH] MT#8071 fix api subscriber termination response was handled wrong on patch/put primary number was not freed in case of pbx --- lib/NGCP/Panel/Role/API/Subscribers.pm | 3 ++- lib/NGCP/Panel/Utils/Subscriber.pm | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/NGCP/Panel/Role/API/Subscribers.pm b/lib/NGCP/Panel/Role/API/Subscribers.pm index 5027708761..c41ed34de3 100644 --- a/lib/NGCP/Panel/Role/API/Subscribers.pm +++ b/lib/NGCP/Panel/Role/API/Subscribers.pm @@ -469,11 +469,12 @@ sub update_item { } elsif($resource->{status} eq 'terminated') { try { NGCP::Panel::Utils::Subscriber::terminate(c => $c, subscriber => $subscriber); + return $subscriber; } catch($e) { $c->log->error("failed to terminate subscriber id ".$subscriber->id); $self->error($c, HTTP_INTERNAL_SERVER_ERROR, "Failed to terminate subscriber"); + return; } - return; } } if(defined $resource->{lock}) { diff --git a/lib/NGCP/Panel/Utils/Subscriber.pm b/lib/NGCP/Panel/Utils/Subscriber.pm index 1e1bb026db..8dc7e8a531 100644 --- a/lib/NGCP/Panel/Utils/Subscriber.pm +++ b/lib/NGCP/Panel/Utils/Subscriber.pm @@ -709,6 +709,13 @@ sub terminate { alias_selected => [], #none, thus moving them back to our subadmin sadmin => $pilot_rs->first, ); + my $subscriber_primary_nr = $subscriber->primary_number; + if ($subscriber_primary_nr) { + $subscriber_primary_nr->update({ + subscriber_id => undef, + reseller_id => undef, + }); + } } else { $subscriber->voip_numbers->update_all({ subscriber_id => undef,