summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2012-12-20 18:25:07 -0800
committerIvan Kohler <ivan@freeside.biz>2012-12-20 18:25:07 -0800
commit89bdc751a892188eebca4a193c8e8e37af8efc35 (patch)
tree13581a3026ae086cf2ecad728e59db1017f50ba3
parentef644359f646efb69ecb4c74d55fee05107dad11 (diff)
fix state selection w/voip innovations API, add better error logging, RT#15150
-rw-r--r--FS/FS/part_export/globalpops_voip.pm10
-rw-r--r--httemplate/elements/select-state.html21
2 files changed, 21 insertions, 10 deletions
diff --git a/FS/FS/part_export/globalpops_voip.pm b/FS/FS/part_export/globalpops_voip.pm
index 9fe45ba0a..59e0bc46f 100644
--- a/FS/FS/part_export/globalpops_voip.pm
+++ b/FS/FS/part_export/globalpops_voip.pm
@@ -5,6 +5,7 @@ use Tie::IxHash;
use FS::Record qw(qsearch dbh);
use FS::part_export;
use FS::phone_avail;
+use Data::Dumper;
@ISA = qw(FS::part_export);
@@ -74,8 +75,13 @@ sub get_dids {
if ( $search->{'statuscode'} == 302200 ) {
return [];
} elsif ( $search->{'statuscode'} != 100 ) {
- my $error = "Error running VoIP Innovations getDIDs: ".
- $search->{'statuscode'}. ': '. $search->{'status'}. "\n";
+
+ my $error = "Error running VoIP Innovations getDIDs: ";
+ if ( $search->{'statuscode'} || $search->{'status'} ) {
+ $error .= $search->{'statuscode'}. ': '. $search->{'status'}. "\n";
+ } else {
+ $error .= Dumper($search);
+ }
warn $error;
die $error;
}
diff --git a/httemplate/elements/select-state.html b/httemplate/elements/select-state.html
index 490dafa80..115a98d98 100644
--- a/httemplate/elements/select-state.html
+++ b/httemplate/elements/select-state.html
@@ -66,14 +66,19 @@ tie my %states, 'Tie::IxHash', states_hash( $opt{'country'} );
if ( $opt{'svcpart'} ) {
- my $sth = dbh->prepare(
- 'SELECT DISTINCT state FROM phone_avail WHERE svcnum IS NULL'
- ) or die dbh->errstr;
- $sth->execute or die $sth->errstr;
- my %avail_states = map { $_->[0] => 1 } @{ $sth->fetchall_arrayref };
-
- if ( %avail_states ) {
- delete $states{$_} foreach grep ! $avail_states{$_}, keys %states;
+ my $part_svc = qsearchs('part_svc', { 'svcpart' => $opt{'svcpart'} } );
+ if ( $part_svc && $part_svc->exporttype eq 'internal_diddb' ) {
+
+ my $sth = dbh->prepare(
+ 'SELECT DISTINCT state FROM phone_avail WHERE svcnum IS NULL'
+ ) or die dbh->errstr;
+ $sth->execute or die $sth->errstr;
+ my %avail_states = map { $_->[0] => 1 } @{ $sth->fetchall_arrayref };
+
+ if ( %avail_states ) {
+ delete $states{$_} foreach grep ! $avail_states{$_}, keys %states;
+ }
+
}
}