aboutsummaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rwxr-xr-xbin/load-norwegian-contacts69
-rwxr-xr-xbin/send-reports23
2 files changed, 92 insertions, 0 deletions
diff --git a/bin/load-norwegian-contacts b/bin/load-norwegian-contacts
new file mode 100755
index 000000000..f7466ad2a
--- /dev/null
+++ b/bin/load-norwegian-contacts
@@ -0,0 +1,69 @@
+#!/usr/bin/perl -w
+
+# load-norwegian-contacts:
+# Load initial contact list into fiksgatami.
+# The format is
+# Name;ID;email-address;Category1,Category2,...
+#
+# Based on script load-contacts copyright (c) 2006 UK Citizens Online Democracy.
+# Copyright 2011 Petter Reinholdtsen <pere@hungry.com>
+#
+# $Id: load-norwegian-contacts,v 1.0 2007-08-02 11:44:59 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/../commonlib/perllib";
+
+use mySociety::Config;
+use mySociety::DBHandle qw(dbh select_all);
+use mySociety::Random;
+
+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)
+ );
+
+ if (!dbh()->selectrow_array('select secret from secret for update of secret')) {
+ local dbh()->{HandleError};
+ dbh()->do('insert into secret (secret) values (?)', {}, unpack('h*', mySociety::Random::random_bytes(32)));
+ }
+ dbh()->commit();
+}
+
+my $datafile = shift;
+my $defcategories;
+open(FP, "<", $datafile) or die "Unable to read from $datafile";
+while (<FP>) {
+ s/\r?\n//g;
+ print "Loading $_\n";
+ my ($id, $name, $email, $categories) = split /;/;
+ if (0 == $id) {
+ $defcategories = $categories;
+ next;
+ }
+ unless ($categories) {
+ $categories = $defcategories;
+ }
+# dbh()->do("INSERT INTO contacts (area_id, email, editor, whenedited, note, confirmed, deleted)
+# VALUES (?, ?, 'import', ms_current_timestamp(), 'Initial import', 'false', 'false')",
+# {}, $id, $email);
+# } else {
+ for my $category (split(/,\s*/, $categories)) {
+ print " Category '$category'\n";
+ dbh()->do("INSERT INTO contacts (area_id, email, category, editor, whenedited, note, confirmed, deleted)
+ VALUES (?, ?, ?, 'import', ms_current_timestamp(), 'Initial import', 'true', 'false')",
+ {}, $id, $email, $category);
+ }
+# }
+}
+dbh()->commit();
+close(FP);
diff --git a/bin/send-reports b/bin/send-reports
index 90a6553eb..d51276e9d 100755
--- a/bin/send-reports
+++ b/bin/send-reports
@@ -264,6 +264,7 @@ foreach my $row (@$unsent) {
$result *= post_easthants_message(%h);
}
} elsif ($send_web eq 'london') {
+ $h{message} = construct_london_message(%h);
if (!$nomail) {
$result *= post_london_report(%h);
}
@@ -363,6 +364,27 @@ sub post_easthants_message {
# London
+sub construct_london_message {
+ my %h = @_;
+ return <<EOF,
+A user of FixMyStreet has submitted the following report of a local
+problem that they believe might require your attention.
+
+Subject: $h{title}
+
+Details: $h{detail}
+
+$h{fuzzy}, or to provide an update on the problem, please visit the
+following link:
+
+$h{url}
+
+$h{closest_address}
+Yours,
+The FixMyStreet team
+EOF
+}
+
sub post_london_report {
my %h = @_;
my $phone = $h{phone};
@@ -385,6 +407,7 @@ sub post_london_report {
'Customer.Email' => $h{email},
'Customer.Phone' => $phone,
'Customer.Mobile' => $mobile,
+ 'ProblemDescription' => $h{message},
);
if ($h{used_map}) {
$params{'Location.Latitude'} = $h{latitude};