aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/import-categories79
-rwxr-xr-xweb-admin/index.cgi9
2 files changed, 84 insertions, 4 deletions
diff --git a/bin/import-categories b/bin/import-categories
new file mode 100755
index 000000000..f0f6ff88f
--- /dev/null
+++ b/bin/import-categories
@@ -0,0 +1,79 @@
+#!/usr/bin/perl -w
+
+# import-categories:
+# Initial choice of categories for councils. Most likely wrong.
+#
+# Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved.
+# Email: matthew@mysociety.org. WWW: http://www.mysociety.org
+#
+# $Id: import-categories,v 1.1 2007-03-21 15:48:31 matthew Exp $
+
+use strict;
+require 5.8.0;
+
+# Horrible boilerplate to set up appropriate library paths.
+use FindBin;
+use lib "$FindBin::Bin/../perllib";
+use lib "$FindBin::Bin/../../perllib";
+
+use mySociety::Config;
+use mySociety::DBHandle qw(dbh select_all);
+use mySociety::MaPit;
+use mySociety::Util;
+use mySociety::VotingArea;
+
+BEGIN {
+ mySociety::Config::set_file("$FindBin::Bin/../conf/general");
+ mySociety::DBHandle::configure(
+ Name => mySociety::Config::get('BCI_DB_NAME'),
+ User => mySociety::Config::get('BCI_DB_USER'),
+ Password => mySociety::Config::get('BCI_DB_PASS'),
+ Host => mySociety::Config::get('BCI_DB_HOST', undef),
+ Port => mySociety::Config::get('BCI_DB_PORT', undef)
+ );
+}
+
+my @district_cats = (
+ 'Abandoned vehicles', 'Car parking', 'Dog fouling', 'Flyposting', 'Flytipping',
+ 'Graffiti', 'Parks/landscapes', 'Public toilets', 'Rubbish (refuse and recycling)',
+ 'Street nameplates', 'Street cleaning', 'Trees'
+);
+my @county_cats = (
+ 'Bus stops', 'Pavements/footpaths', 'Potholes', 'Roads/highways',
+ 'Road traffic signs', 'Street lighting', 'Traffic lights'
+);
+
+my @councils;
+foreach my $type (@$mySociety::VotingArea::council_parent_types) {
+ my $areas = mySociety::MaPit::get_areas_by_type($type);
+ push @councils, @$areas;
+}
+my $councils = mySociety::MaPit::get_voting_areas_info(\@councils);
+foreach my $id (keys %$councils) {
+ my $type = $councils->{$id}->{type};
+ my ($email,$confirmed) = dbh()->selectrow_array(
+ "SELECT email,confirmed FROM contacts WHERE deleted='f'
+ and area_id=? AND category='Other'", {}, $id);
+ next unless $email;
+ if ($type eq 'DIS') {
+ add_categories($id, $email, $confirmed, @district_cats);
+ } elsif ($type eq 'CTY') {
+ add_categories($id, $email, $confirmed, @county_cats);
+ } else {
+ add_categories($id, $email, $confirmed, @district_cats, @county_cats);
+ }
+}
+# dbh()->commit();
+
+sub add_categories {
+ my ($id, $email, $confirmed, @cats) = @_;
+ foreach (@cats) {
+ dbh()->do("insert into contacts
+ (area_id, category, email, editor, whenedited, note, confirmed, deleted)
+ values
+ (?, ?, ?, 'import', ms_current_timestamp(), 'Initial copy', ?, 0)", {},
+ $id, $_, $email, ($confirmed ? 1 : 0)
+ );
+ }
+}
+
diff --git a/web-admin/index.cgi b/web-admin/index.cgi
index 5944fd5e5..6718f63ae 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.13 2007-03-21 14:45:45 matthew Exp $
+# $Id: index.cgi,v 1.14 2007-03-21 15:48:31 matthew Exp $
#
-my $rcsid = ''; $rcsid .= '$Id: index.cgi,v 1.13 2007-03-21 14:45:45 matthew Exp $';
+my $rcsid = ''; $rcsid .= '$Id: index.cgi,v 1.14 2007-03-21 15:48:31 matthew Exp $';
use strict;
@@ -245,7 +245,7 @@ sub do_council_contacts ($$) {
}
print $q->start_table({border=>1});
- print $q->th({}, ["Category", "Email", "Confirmed", "Deleted", "Editor", "Note", "When edited"]);
+ print $q->th({}, ["Category", "Email", "Confirmed", "Deleted", "Last editor", "Note", "When edited"]);
foreach my $l (@$bci_data) {
print $q->Tr($q->td([
$q->a({href=>build_url($q, $q->url('relative'=>1),
@@ -258,6 +258,7 @@ sub do_council_contacts ($$) {
print $q->end_table();
# Display form for adding new category
+ print $q->h3('Add new category');
print $q->start_form(-method => 'POST', -action => $q->url('relative'=>1));
print $q->p($q->strong("Category: "),
$q->textfield(-name => "category", -size => 30));
@@ -309,7 +310,7 @@ sub do_council_edit ($$$) {
map { $q->param($_, $bci_data->{$_}) } qw/category email confirmed deleted/;
print $q->strong("Category: ") . $bci_data->{category};
print $q->hidden("category");
- print $q->strong("Email: ");
+ print $q->strong(" Email: ");
print $q->textfield(-name => "email", -size => 30) . " ";
print $q->checkbox(-name => "confirmed", -value => 1, -label => "Confirmed") . " ";
print $q->checkbox(-name => "deleted", -value => 1, -label => "Deleted");