fix state selection w/voip innovations API, add better error logging, RT#15150
[freeside.git] / httemplate / elements / select-state.html
index 490dafa..115a98d 100644 (file)
@@ -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;
+    }
+
   }
 }