work around ffiec bug and add year 2010
authorjeff <jeff>
Mon, 23 Aug 2010 16:35:33 +0000 (16:35 +0000)
committerjeff <jeff>
Mon, 23 Aug 2010 16:35:33 +0000 (16:35 +0000)
FS/FS/Conf.pm
httemplate/misc/xmlhttp-cust_main-censustract.html

index ce2c01d..a4b8423 100644 (file)
@@ -3217,7 +3217,7 @@ and customer address. Include units.',
     'section'     => 'UI',
     'description' => 'The year to use in census tract lookups',
     'type'        => 'select',
     'section'     => 'UI',
     'description' => 'The year to use in census tract lookups',
     'type'        => 'select',
-    'select_enum' => [ qw( 2009 2008 2007 2006 ) ],
+    'select_enum' => [ qw( 2010 2009 2008 ) ],
   },
 
   {
   },
 
   {
index 9d588d7..3ba68af 100644 (file)
@@ -36,23 +36,32 @@ if ( $sub eq 'censustract' ) {
     my $content = $res->content;
     my $p = new HTML::TokeParser \$content;
     my $viewstate;
     my $content = $res->content;
     my $p = new HTML::TokeParser \$content;
     my $viewstate;
+    my $eventvalidation;
     while (my $token = $p->get_tag('input') ) {
     while (my $token = $p->get_tag('input') ) {
-      next unless $token->[1]->{name} eq '__VIEWSTATE';
-      $viewstate = $token->[1]->{value};
-      last;
+      if ($token->[1]->{name} eq '__VIEWSTATE') {
+        $viewstate = $token->[1]->{value};
+      }
+      if ($token->[1]->{name} eq '__EVENTVALIDATION') {
+        $eventvalidation = $token->[1]->{value};
+      }
+      last if $viewstate && $eventvalidation;
     }
 
     }
 
-    unless ($viewstate) {
+    unless ($viewstate && $eventvalidation ) {
 
 
-      $error = "no __VIEWSTATE found";
+      $error = "either no __VIEWSTATE or __EVENTVALIDATION found";
 
     } else {
 
       my($zip5, $zip4) = split('-',$arg{zip});
 
 
     } else {
 
       my($zip5, $zip4) = split('-',$arg{zip});
 
+      #ugh  workaround a mess at ffiec
+      $arg{year} = " $arg{year}" unless $arg{year} = "2010";
       my @ffiec_args = (
         __VIEWSTATE => $viewstate,
       my @ffiec_args = (
         __VIEWSTATE => $viewstate,
+        __EVENTVALIDATION => $eventvalidation,
         ddlbYear    => $arg{year},
         ddlbYear    => $arg{year},
+        ddlbYear    => ' 2009',
         txtAddress  => $arg{address},
         txtCity     => $arg{city},  
         ddlbState   => $arg{state},
         txtAddress  => $arg{address},
         txtCity     => $arg{city},  
         ddlbState   => $arg{state},
@@ -62,6 +71,7 @@ if ( $sub eq 'censustract' ) {
       warn join("\n", @ffiec_args )
         if $DEBUG;
 
       warn join("\n", @ffiec_args )
         if $DEBUG;
 
+      push @{ $ua->requests_redirectable }, 'POST';
       $res = $ua->request( POST( $url, \@ffiec_args ) );
       warn $res->as_string
         if $DEBUG > 1;
       $res = $ua->request( POST( $url, \@ffiec_args ) );
       warn $res->as_string
         if $DEBUG > 1;
@@ -74,6 +84,7 @@ if ( $sub eq 'censustract' ) {
 
         my @id = qw( MSACode StateCode CountyCode TractCode );
         $content = $res->content;
 
         my @id = qw( MSACode StateCode CountyCode TractCode );
         $content = $res->content;
+        warn $res->content if $DEBUG > 1;
         $p = new HTML::TokeParser \$content;
         my $prefix = 'UcGeoResult11_lb';
         my $compare =
         $p = new HTML::TokeParser \$content;
         my $prefix = 'UcGeoResult11_lb';
         my $compare =