1 <% encode_json($return) %>\
4 local $SIG{__DIE__}; #disable Mason error trap
8 my $conf = new FS::Conf;
10 my $sub = $cgi->param('sub');
12 warn $cgi->param('arg') if $DEBUG;
14 my %old = %{ decode_json($cgi->param('arg')) }
15 or die "bad argument '".$cgi->param('arg')."'";
21 @prefixes = ('bill_');
22 } elsif ( $old{billship} ) {
23 @prefixes = ('bill_', 'ship_');
27 foreach my $pre ( @prefixes ) {
30 map { $_ => $old{$pre.$_} }
31 qw( company address1 address2 city state zip country )
34 my $cache = eval { FS::GeocodeCache->standardize($location) };
36 # don't do set_censustract here, though censustract may be set by now
38 foreach ( keys(%$cache) ) {
39 $new{$pre.$_} = $cache->get($_);
42 foreach ( qw(address1 address2 city state zip country) ) {
43 $all_same = 0 if ( $new{$pre.$_} ne $old{$pre.$_} );
47 $all_same = 0 if ( length( $old{$pre.'censustract'} ) > 0 &&
48 length( $new{$pre.'censustract'} ) > 0 &&
49 $old{$pre.'censustract'} ne $new{$pre.'censustract'} );
51 $all_same = 0 if $new{$pre.'error'};
53 $all_clean = 0 if !$new{$pre.'addr_clean'};
56 my $return = { old => \%old,
58 all_same => $all_same,
59 all_clean => $all_clean };
60 warn "result:\n".encode_json($return) if $DEBUG;