aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormatthew <matthew>2007-04-17 18:33:51 +0000
committermatthew <matthew>2007-04-17 18:33:51 +0000
commitad5eaa635811a8292504b6ebdbf77544ddcb8edc (patch)
tree8c8645fd7c0aba58faa688b787f76cc7d063eb58
parentb1534f965502f246fed0e877740bccfa85d026b0 (diff)
Split up councils in interface.
-rwxr-xr-xweb-admin/index.cgi46
1 files changed, 30 insertions, 16 deletions
diff --git a/web-admin/index.cgi b/web-admin/index.cgi
index 343f6c306..7262a8342 100755
--- a/web-admin/index.cgi
+++ b/web-admin/index.cgi
@@ -7,10 +7,10 @@
# Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved.
# Email: francis@mysociety.org; WWW: http://www.mysociety.org/
#
-# $Id: index.cgi,v 1.25 2007-04-11 10:46:29 matthew Exp $
+# $Id: index.cgi,v 1.26 2007-04-17 18:33:51 matthew Exp $
#
-my $rcsid = ''; $rcsid .= '$Id: index.cgi,v 1.25 2007-04-11 10:46:29 matthew Exp $';
+my $rcsid = ''; $rcsid .= '$Id: index.cgi,v 1.26 2007-04-17 18:33:51 matthew Exp $';
use strict;
@@ -154,17 +154,17 @@ sub do_councils_list ($) {
my ($q) = @_;
print html_head($q, "Council contacts");
- print $q->h2("Council contacts");
+ print $q->h1("Council contacts");
# Table of editors
- print $q->h3("Diligency prize league table");
+ print $q->h2("Diligency prize league table");
my $edit_activity = dbh()->selectall_arrayref("select count(*) as c, editor from contacts_history group by editor order by c desc");
print $q->p(join($q->br(),
map { $_->[0] . " edits by " . $_->[1] } @$edit_activity
));
# Table of councils
- print $q->h3("Councils");
+ print $q->h2("Councils");
my @councils;
foreach my $type (@$mySociety::VotingArea::council_parent_types) {
my $areas = mySociety::MaPit::get_areas_by_type($type);
@@ -173,18 +173,32 @@ sub do_councils_list ($) {
my $councils = mySociety::MaPit::get_voting_areas_info(\@councils);
my @councils_ids = keys %$councils;
@councils_ids = sort { canonicalise_council($councils->{$a}->{name}) cmp canonicalise_council($councils->{$b}->{name}) } @councils_ids;
- my $bci_info = dbh()->selectall_hashref("select area_id, max(email) as email, count(*) as c from contacts group by area_id", 'area_id');
- print $q->p(join($q->br(),
- map {
- $q->a({href=>build_url($q, $q->url('relative'=>1),
- {'area_id' => $_, 'page' => 'councilcontacts',})},
- canonicalise_council($councils->{$_}->{name})) . " " .
- ($bci_info->{$_} ?
- ($bci_info->{$_}->{c} > 1 ? $bci_info->{$_}->{c} . ' addresses'
- : "1 address (" . $bci_info->{$_}->{email} . ")")
- : $q->strong('no info at all') )
- } @councils_ids));
+ my $bci_info = dbh()->selectall_hashref("
+ select area_id, count(*) as c, count(case when deleted then 1 else null end) as deleted,
+ count(case when confirmed then 1 else null end) as confirmed
+ from contacts group by area_id", 'area_id');
+
+ my $list_part = sub {
+ my @ids = @_;
+ print $q->p(join($q->br(),
+ map {
+ $q->a({href=>build_url($q, $q->url('relative'=>1),
+ {'area_id' => $_, 'page' => 'councilcontacts',})},
+ canonicalise_council($councils->{$_}->{name})) . " " .
+ ($bci_info->{$_} ?
+ $bci_info->{$_}->{c} . ' addresses'
+ : '')
+ } @ids));
+ };
+ print $q->h3('No info at all');
+ print &$list_part(grep { !$bci_info->{$_} } @councils_ids);
+ print $q->h3('Currently deleted');
+ print &$list_part(grep { $bci_info->{$_}->{deleted} == $bci_info->{$_}->{c} } @councils_ids);
+ print $q->h3('Some unconfirmeds');
+ print &$list_part(grep { $bci_info->{$_}->{confirmed} != $bci_info->{$_}->{c} } @councils_ids);
+ print $q->h3('All confirmed');
+ print &$list_part(grep { $bci_info->{$_}->{confirmed} == $bci_info->{$_}->{c} } @councils_ids);
print html_tail($q);
}