X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fmisc%2Fexchanges.cgi;h=d62679191339b83c532b1cb797ef9f640c46421f;hb=88371c24e0b727646f0b01288f01439a06967fe7;hp=f5860cff26ba69d5544e8951662a9f558d925c72;hpb=624b2d44625f69d71175c3348cae635d580c890b;p=freeside.git diff --git a/httemplate/misc/exchanges.cgi b/httemplate/misc/exchanges.cgi index f5860cff2..d62679191 100644 --- a/httemplate/misc/exchanges.cgi +++ b/httemplate/misc/exchanges.cgi @@ -1,5 +1,4 @@ -%# [ <% join(', ', map { qq("$_") } @exchanges) %> ] -<% objToJson(\@exchanges) %> +<% encode_json({ error => $error, exchanges => \@exchanges}) %>\ <%init> my( $areacode, $svcpart ) = $cgi->param('arg'); @@ -7,18 +6,26 @@ my( $areacode, $svcpart ) = $cgi->param('arg'); my $part_svc = qsearchs('part_svc', { 'svcpart'=>$svcpart } ); die "unknown svcpart $svcpart" unless $part_svc; -my @exports = $part_svc->part_export_did; -if ( scalar(@exports) > 1 ) { - die "more than one DID-providing export attached to svcpart $svcpart"; -} elsif ( ! @exports ) { - die "no DID providing export attached to svcpart $svcpart"; -} -my $export = $exports[0]; +my @exchanges = (); +my $error; + +if ( $areacode ) { -my $something = $export->get_dids('areacode'=>$areacode); + my @exports = $part_svc->part_export_did; + if ( scalar(@exports) > 1 ) { + die "more than one DID-providing export attached to svcpart $svcpart"; + } elsif ( ! @exports ) { + die "no DID providing export attached to svcpart $svcpart"; + } + my $export = $exports[0]; -#warn Dumper($something); + local $@; + local $SIG{__DIE__}; + my $something = eval { $export->get_dids('areacode'=>$areacode) }; + $error = $@; -my @exchanges = @{ $something }; + @exchanges = @{ $something } if $something; + +}