TT#24509 fix applying rewrite rule for subscriber cfs

apply_rewrite demands a billing subscriber object
this resulted in an uncaught server error before

Change-Id: Ia11dc12b8a1a2f71b74881356dcd0b1ec7bf73fc
changes/58/16758/2
Gerhard Jungwirth 8 years ago
parent a7cadd4791
commit b14680e3c0

@ -65,7 +65,7 @@ sub period_as_string {
}
sub destination_as_string {
my ($c, $destination, $subscriber, $direction) = @_;
my ($c, $destination, $prov_subscriber, $direction) = @_;
my $dest = $destination->{destination};
if($dest =~ /\@voicebox\.local$/) {
@ -89,7 +89,7 @@ sub destination_as_string {
} elsif($dest =~ /\@managersecretary\.local$/) {
my $sn_rs = NGCP::Panel::Utils::Preferences::get_usr_preference_rs(
c => $c, attribute => 'secretary_numbers',
prov_subscriber => $subscriber);
prov_subscriber => $prov_subscriber);
my @sn_list = ();
if ($sn_rs) {
foreach my $l ($sn_rs->all) {
@ -101,15 +101,17 @@ sub destination_as_string {
} else {
my $d = $dest;
$d =~ s/^sips?://;
my $sub = $subscriber // $c->stash->{subscriber};
my $b_subscriber = $prov_subscriber
? $prov_subscriber->voip_subscriber
: undef;
$direction //= 'caller_out';
if($sub && ($c->user->roles eq "subscriberadmin" || $c->user->roles eq "subscriber")) {
if($b_subscriber && ($c->user->roles eq "subscriberadmin" || $c->user->roles eq "subscriber")) {
my ($user, $domain) = split(/\@/, $d);
$domain //= $sub->domain->domain;
$domain //= $b_subscriber->domain->domain;
$user = NGCP::Panel::Utils::Subscriber::apply_rewrite(
c => $c, subscriber => $sub, number => $user, direction => $direction
c => $c, subscriber => $b_subscriber, number => $user, direction => $direction
);
if($domain eq $sub->domain->domain) {
if($domain eq $b_subscriber->domain->domain) {
$d = $user;
} else {
$d = $user . '@' . $domain;

Loading…
Cancel
Save