MT#8449 Fix clearing unused alias numbers

Take billing.voip_numbers as reference for clearing unused dbalias
entries.
agranig/webphone
Andreas Granig 11 years ago
parent 4f76fdaf96
commit b860218f91

@ -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;
}

Loading…
Cancel
Save