diff options
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/load-norwegian-contacts | 69 | ||||
-rwxr-xr-x | bin/send-reports | 23 |
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}; |