From b860218f912e098da0f4946ee77dfe34742c5fc0 Mon Sep 17 00:00:00 2001 From: Andreas Granig Date: Thu, 14 Aug 2014 17:51:23 +0200 Subject: [PATCH] MT#8449 Fix clearing unused alias numbers Take billing.voip_numbers as reference for clearing unused dbalias entries. --- lib/NGCP/Panel/Utils/Subscriber.pm | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/lib/NGCP/Panel/Utils/Subscriber.pm b/lib/NGCP/Panel/Utils/Subscriber.pm index 597ed291a1..fbfe48bc8f 100644 --- a/lib/NGCP/Panel/Utils/Subscriber.pm +++ b/lib/NGCP/Panel/Utils/Subscriber.pm @@ -427,7 +427,7 @@ sub update_subscriber_numbers { id => $subscriber_id, }); my $prov_subs = $billing_subs->provisioning_voip_subscriber; - my @nums = (); my @dbnums = (); + my @nums = (); if(exists $params{primary_number} && !defined $primary_number) { $billing_subs->update({ @@ -502,7 +502,6 @@ sub update_subscriber_numbers { is_primary => 1, }); } - push @dbnums, $dbalias->id; update_voicemail_number(schema => $schema, subscriber => $billing_subs); for my $cfset($prov_subs->voip_cf_destination_sets->all) { @@ -607,13 +606,9 @@ sub update_subscriber_numbers { is_primary => 0, }); } - push @dbnums, $dbalias->id; } } else { push @nums, $billing_subs->voip_numbers->get_column('id')->all; - if($prov_subs) { - push @dbnums, $prov_subs->voip_dbaliases->get_column('id')->all; - } } push @nums, $billing_subs->primary_number_id @@ -625,8 +620,9 @@ sub update_subscriber_numbers { reseller_id => undef, }); if($prov_subs) { + my @dbnums = map { $_->cc . ($_->ac // '') . $_->sn } $billing_subs->voip_numbers->all; $prov_subs->voip_dbaliases->search({ - id => { 'not in' => \@dbnums }, + username => { 'not in' => \@dbnums }, })->delete; }