Changeset 545

Show
Ignore:
Timestamp:
11/09/04 18:12:35 (4 years ago)
Author:
kake
Message:

Fix bug - need to disambiguate the two 'distance' fields on the Advanced Search page so we use the one next to the OS co-ords or to the lat/long as appropriate.

Location:
trunk
Files:
1 added
6 modified

Legend:

Unmodified
Added
Removed
  • trunk/MANIFEST

    r541 r545  
    6464t/36_supersearch_order.t 
    6565t/37_supersearch_summaries.t 
     66t/38_supersearch_params.t 
    6667t/41_deletion.t 
    6768t/51_display_node.t 
  • trunk/lib/OpenGuides/SuperSearch.pm

    r543 r545  
    557557 
    558558    # Strip out any non-digits from distance and OS co-ords. 
    559     foreach my $param ( qw( os_x os_y distance_in_metres ) ) { 
     559    foreach my $param ( qw( os_x os_y os_dist latlong_dist ) ) { 
    560560        if ( defined $vars{$param} ) { 
    561561            $vars{$param} =~ s/[^0-9]//g; 
     
    574574            $self->{$param} = $vars{$param} if defined $vars{$param}; 
    575575        } 
     576    } 
     577 
     578    # Set $self->{distance_in_metres} depending on whether we got 
     579    # OS co-ords or lat/long. 
     580    if ( defined $self->{os_x} && defined $self->{os_y} 
     581         && defined $self->{os_dist} ) { 
     582        $self->{distance_in_metres} = $self->{os_dist}; 
     583    } elsif ( defined $self->{lat} && defined $self->{long} 
     584              && defined $self->{latlong_dist} ) { 
     585        $self->{distance_in_metres} = $self->{latlong_dist}; 
    576586    } 
    577587 
  • trunk/t/33_supersearch_advanced_search.t

    r543 r545  
    103103                                          lat  => 51.484320, 
    104104                                          long => -0.223484, 
    105                                           distance_in_metres => 1000, 
     105                                          latlong_dist => 1000, 
    106106                                        }, 
    107107                              ); 
     
    120120                                       lat  => 51.484320, 
    121121                                       long => -0.223484, 
    122                                        distance_in_metres => 1000, 
     122                                       latlong_dist => 1000, 
    123123                                       search => " ", 
    124124                                     }, 
     
    135135                                       os_x => 523450, 
    136136                                       os_y => 177650, 
    137                                        distance_in_metres => 1000, 
     137                                       latlong_dist => 1000, 
    138138                                       search => " ", 
    139139                                     }, 
     
    151151                                       os_x => 523450, 
    152152                                       os_y => 177650, 
    153                                        distance_in_metres => 1000, 
     153                                       latlong_dist => 1000, 
    154154                                       search => " ", 
    155155                                       lat => " ", 
     
    170170                                       lat  => 51.484320, 
    171171                                       long => -0.223484, 
    172                                        distance_in_metres => 1000, 
     172                                       latlong_dist => 1000, 
    173173                                       search => "pubs", 
    174174                                     }, 
     
    183183                                       os_x => 523450, 
    184184                                       os_y => 177650, 
    185                                        distance_in_metres => 1000, 
     185                                       latlong_dist => 1000, 
    186186                                       search => "pubs", 
    187187                                     }, 
  • trunk/t/34_supersearch_paging.t

    r527 r545  
    5353                               return_output => 1, 
    5454                               vars          => { 
    55                                                   distance_in_metres => 1500, 
     55                                                  os_dist => 1500, 
    5656                                                  os_x => 523500, 
    5757                                                  os_y => 177500, 
  • trunk/templates/node.tt

    r531 r545  
    2626  <form action="supersearch.cgi"> 
    2727    <label for="distance">Find all things within</label> 
    28     <select name="distance_in_metres" id="distance"> 
     28    <select name="latlong_dist" id="distance"> 
    2929      <option value="500">500 metres</option> 
    3030      <option value="1000">1 kilometre</option> 
  • trunk/templates/supersearch.tt

    r543 r545  
    3838          <ul> 
    3939            <li> 
    40               within <input type="text" name="distance_in_metres" value="[% dist %]" size="5" maxlength="5" /> metres 
     40              within <input type="text" name="latlong_dist" value="[% dist %]" size="5" maxlength="5" /> metres 
    4141              of latitude <input type="text" name="lat" value="[% lat %]" size="10" maxlength="10" /> 
    4242              longitude <input type="text" name="long" value="[% long %]" size="10" maxlength="10" /> 
    4343            </li> 
    4444            <li> 
    45               within <input type="text" name="distance_in_metres" value="[% dist %]" size="5" maxlength="5" /> metres 
     45              within <input type="text" name="os_dist" value="[% dist %]" size="5" maxlength="5" /> metres 
    4646              of OS co-ordinates 
    4747              <input type="text" name="os_x" value="[% os_x %]" size="10" maxlength="10" />,