MT#8279 Deflate CF destination in CSC

agranig/8279-csc-normalize-number
Andreas Granig 11 years ago
parent a5cd159b56
commit 145291a23e

@ -677,7 +677,7 @@ sub preferences :Chained('base') :PathPart('preferences') :Args(0) {
@dset = map { { $_->get_columns } } $map->destination_set->voip_cf_destinations->search({},
{ order_by => { -asc => 'priority' }})->all;
foreach my $d(@dset) {
$d->{as_string} = NGCP::Panel::Utils::Subscriber::destination_as_string($d);
$d->{as_string} = NGCP::Panel::Utils::Subscriber::destination_as_string($c, $d);
}
$dset_name = $map->destination_set->name;
}
@ -1276,7 +1276,7 @@ sub preferences_callforward_destinationset :Chained('base') :PathPart('preferenc
my @dests = map { { $_->get_columns } } $set->voip_cf_destinations->search({},
{ order_by => { -asc => 'priority' }})->all;
foreach my $d(@dests) {
$d->{as_string} = NGCP::Panel::Utils::Subscriber::destination_as_string($d);
$d->{as_string} = NGCP::Panel::Utils::Subscriber::destination_as_string($c, $d);
}
push @sets, { name => $set->name, id => $set->id, destinations => \@dests };
}

@ -54,7 +54,7 @@ sub period_as_string {
}
sub destination_as_string {
my $destination = shift;
my ($c, $destination) = @_;
my $dest = $destination->{destination};
if($dest =~ /\@voicebox\.local$/) {
@ -75,12 +75,20 @@ sub destination_as_string {
return "Office Hours Announcement";
} else {
my $d = $dest;
$d =~ s/sip:(.+)\@.+$/$1/;
if($d->is_int) {
return $d;
} else {
return $dest;
$d =~ s/^sips?://;
my $sub = $c->stash->{subscriber};
if($sub && ($c->user->roles eq "subscriberadmin" || $c->user->roles eq "subscriber")) {
my ($user, $domain) = split(/\@/, $d);
$user = NGCP::Panel::Utils::Subscriber::apply_rewrite(
c => $c, subscriber => $sub, number => $user, direction => 'caller_out'
);
if($domain eq $sub->domain->domain) {
$d = $user;
} else {
$d = $user . '@' . $domain;
}
}
return $d;
}
}

@ -34,7 +34,7 @@ around handle => sub {
my @dset = map { { $_->get_columns } } $map->destination_set->voip_cf_destinations->search({},
{ order_by => { -asc => 'priority' }})->all;
foreach my $d(@dset) {
$d->{as_string} = NGCP::Panel::Utils::Subscriber::destination_as_string($d);
$d->{as_string} = NGCP::Panel::Utils::Subscriber::destination_as_string($c, $d);
}
my @tset = ();
if($map->time_set) {

Loading…
Cancel
Save