diff options
author | Matthew Somerville <matthew@cake.ukcod.org.uk> | 2010-04-14 11:01:34 +0100 |
---|---|---|
committer | Matthew Somerville <matthew@cake.ukcod.org.uk> | 2010-04-14 11:01:34 +0100 |
commit | 913189c48ff7df53c3bad9da3e37d39406a3904d (patch) | |
tree | 12e7567def7c7e8483d7ba4f1e3eed20812cb507 | |
parent | e71f8310d42866308a8a413eb0bf0dd044b9e2c4 (diff) |
Redirect if given internal ID, or ONS code.
-rwxr-xr-x | web/reports.cgi | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/web/reports.cgi b/web/reports.cgi index fa9e1d4a5..b9b584635 100755 --- a/web/reports.cgi +++ b/web/reports.cgi @@ -32,7 +32,13 @@ sub main { } my ($one_council, $area_type, $area_name); - if ($q_council =~ /\D/) { + if ($q_council =~ /^(\d\d)([a-z][a-z])?$/i) { + $one_council = $q_council; + my $va_info = mySociety::MaPit::get_voting_area_info($q_council); + $area_name = $va_info->{name}; + print $q->redirect($base_url . '/reports/' . Page::short_name($area_name)); + return; + } elsif ($q_council =~ /\D/) { (my $qc = $q_council) =~ s/ and / & /; my $areas = mySociety::MaPit::get_voting_area_by_name($qc, $mySociety::VotingArea::council_parent_types, 10); if (keys %$areas == 1) { @@ -56,6 +62,8 @@ sub main { $one_council = $q_council; my $va_info = mySociety::MaPit::get_voting_area_info($q_council); $area_name = $va_info->{name}; + print $q->redirect($base_url . '/reports/' . Page::short_name($area_name)); + return; } $all = 0 unless $one_council; |