diff options
author | Matthew Somerville <matthew@cake.ukcod.org.uk> | 2010-04-14 13:39:24 +0100 |
---|---|---|
committer | Matthew Somerville <matthew@cake.ukcod.org.uk> | 2010-04-14 13:39:24 +0100 |
commit | 0775ad2dcf1a12e68753b3f527efecd0b02eaf7c (patch) | |
tree | 9e90c64a02f64f762735f50168f34230f53c3da5 | |
parent | 5d73f62f74c610f06f7335c5fd7ca331b030a203 (diff) |
Work for RSS also.
-rwxr-xr-x | web/reports.cgi | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/web/reports.cgi b/web/reports.cgi index 58e08b6aa..6c5796079 100755 --- a/web/reports.cgi +++ b/web/reports.cgi @@ -32,17 +32,15 @@ sub main { } my ($one_council, $area_type, $area_name); - if ($q_council =~ /^(\d\d[a-z]{2})[a-z]{2}$/i) { + if ($q_council =~ /^(\d\d)([a-z]{2})?([a-z]{2})?$/i) { my $va_info = mySociety::MaPit::get_voting_area_info(uc $q_council); - my $ward_name = $va_info->{name}; - $va_info = mySociety::MaPit::get_voting_area_info($va_info->{parent_area_id}); - my $council_name = $va_info->{name}; - print $q->redirect($base_url . '/reports/' . Page::short_name($council_name) . '/' . Page::short_name($ward_name)); - return; - } elsif ($q_council =~ /^(\d\d)([a-z][a-z])?$/i) { - my $va_info = mySociety::MaPit::get_voting_area_info(uc $q_council); - $area_name = $va_info->{name}; - print $q->redirect($base_url . '/reports/' . Page::short_name($area_name)); + $area_name = Page::short_name($va_info->{name}); + if (length($q_council) == 6) { + $va_info = mySociety::MaPit::get_voting_area_info($va_info->{parent_area_id}); + $area_name = Page::short_name($va_info->{name}) . '/' . $area_name; + } + $rss = '/rss' if $rss; + print $q->redirect($base_url . $rss . '/reports/' . $area_name); return; } elsif ($q_council =~ /\D/) { (my $qc = $q_council) =~ s/ and / & /; |