TT#11701 check existence of voip number in InterceptionDB

Change-Id: I6a4af38dcdcbcfb6491d0bfd3d2a4b99f6a14112
changes/32/12832/1
Rene Krenn 9 years ago
parent ba018fed44
commit b803c1ae3e

@ -185,10 +185,19 @@ sub POST :Allow {
my $num_rs = $c->model('DB')->resultset('voip_numbers')->search(
\[ 'concat(cc,ac,sn) = ?', [ {} => $resource->{number} ]]
);
unless($num_rs->first) {
if(not $num_rs->first) {
$c->log->error("invalid number '$$resource{number}'");
$self->error($c, HTTP_UNPROCESSABLE_ENTITY, "Number does not exist");
last;
} else {
my $intercept_num_rs = $c->model('InterceptDB')->resultset('voip_numbers')->search(
\[ 'concat(cc,ac,sn) = ?', [ {} => $resource->{number} ]]
);
if(not $intercept_num_rs->first) {
$c->log->error("invalid local number '$$resource{number}'");
$self->error($c, HTTP_UNPROCESSABLE_ENTITY, "Number does not exist locally");
last;
}
}
# use the long way, since with ossbss provisioning, the reseller_id
# is not set in this case

@ -181,11 +181,21 @@ sub subresnum_from_number {
my $num_rs = $c->model('DB')->resultset('voip_numbers')->search(
\[ 'concat(cc,ac,sn) = ?', [ {} => $number ]]
);
unless($num_rs->first) {
if (not $num_rs->first) {
$c->log->error("invalid number '$number'");
$self->error($c, HTTP_UNPROCESSABLE_ENTITY, "Number does not exist");
return;
} else {
my $intercept_num_rs = $c->model('InterceptDB')->resultset('voip_numbers')->search(
\[ 'concat(cc,ac,sn) = ?', [ {} => $number ]]
);
if(not $intercept_num_rs->first) {
$c->log->error("invalid local number '$number'");
$self->error($c, HTTP_UNPROCESSABLE_ENTITY, "Number does not exist locally");
return;
}
}
my $sub = $num_rs->first->subscriber;
unless($sub) {
$c->log->error("invalid number '$number', not assigned to any subscriber");

Loading…
Cancel
Save