Optimize "Customer has a referring customer" condition, RT#74452
[freeside.git] / httemplate / misc / areacodes.cgi
1 <% encode_json({ error => $error, areacodes => \@areacodes}) %>\
2 <%init>
3
4 my( $state, $svcpart ) = $cgi->param('arg');
5
6 my $part_svc = qsearchs('part_svc', { 'svcpart'=>$svcpart } );
7 die "unknown svcpart $svcpart" unless $part_svc;
8
9 my @areacodes = ();
10 my $error;
11
12 if ( $state ) {
13
14   my @exports = $part_svc->part_export_did;
15   if ( scalar(@exports) > 1 ) {
16     die "more than one DID-providing export attached to svcpart $svcpart";
17   } elsif ( ! @exports ) {
18     die "no DID providing export attached to svcpart $svcpart";
19   }
20   my $export = $exports[0];
21
22   local $@;
23   local $SIG{__DIE__};
24   my $something = eval { $export->get_dids('state'=>$state) };
25   $error = $@;
26
27   @areacodes = @{ $something } if $something;
28
29 }
30
31 </%init>