aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/SendReport
diff options
context:
space:
mode:
Diffstat (limited to 'perllib/FixMyStreet/SendReport')
-rw-r--r--perllib/FixMyStreet/SendReport/Angus.pm1
-rw-r--r--perllib/FixMyStreet/SendReport/EastHants.pm6
-rw-r--r--perllib/FixMyStreet/SendReport/Email.pm11
-rw-r--r--perllib/FixMyStreet/SendReport/Open311.pm7
4 files changed, 19 insertions, 6 deletions
diff --git a/perllib/FixMyStreet/SendReport/Angus.pm b/perllib/FixMyStreet/SendReport/Angus.pm
index b552fbd9d..4ba5f3070 100644
--- a/perllib/FixMyStreet/SendReport/Angus.pm
+++ b/perllib/FixMyStreet/SendReport/Angus.pm
@@ -154,7 +154,6 @@ sub send {
my $external_id = $self->get_external_id( $result );
if ( $external_id ) {
$row->external_id( $external_id );
- $row->send_method_used('Angus');
$return = 0;
}
} catch {
diff --git a/perllib/FixMyStreet/SendReport/EastHants.pm b/perllib/FixMyStreet/SendReport/EastHants.pm
index b24123f94..6baa8a306 100644
--- a/perllib/FixMyStreet/SendReport/EastHants.pm
+++ b/perllib/FixMyStreet/SendReport/EastHants.pm
@@ -6,7 +6,11 @@ BEGIN { extends 'FixMyStreet::SendReport'; }
use Try::Tiny;
use Encode;
-use HTML::Entities;
+use HTML::Entities qw();
+
+sub encode_entities {
+ HTML::Entities::encode_entities($_[0], '\x00-\x1f\x7f<>&"\'');
+}
sub construct_message {
my %h = @_;
diff --git a/perllib/FixMyStreet/SendReport/Email.pm b/perllib/FixMyStreet/SendReport/Email.pm
index eefb14553..0aacc14a1 100644
--- a/perllib/FixMyStreet/SendReport/Email.pm
+++ b/perllib/FixMyStreet/SendReport/Email.pm
@@ -74,14 +74,21 @@ sub send {
my $cobrand = FixMyStreet::Cobrand->get_class_for_moniker($row->cobrand)->new();
my $params = {
To => $self->to,
- From => $self->send_from( $row ),
};
$cobrand->call_hook(munge_sendreport_params => $row, $h, $params);
$params->{Bcc} = $self->bcc if @{$self->bcc};
- my $sender = FixMyStreet::Email::unique_verp_id('report', $row->id);
+ my $sender;
+ if ($row->user->email && $row->user->email_verified) {
+ $sender = FixMyStreet::Email::unique_verp_id('report', $row->id);
+ $params->{From} = $self->send_from( $row );
+ } else {
+ $sender = FixMyStreet->config('DO_NOT_REPLY_EMAIL');
+ my $name = sprintf(_("On behalf of %s"), $params->{From}[1]);
+ $params->{From} = [ $sender, $name ];
+ }
if (FixMyStreet::Email::test_dmarc($params->{From}[0])
|| Utils::Email::same_domain($params->{From}, $params->{To})) {
diff --git a/perllib/FixMyStreet/SendReport/Open311.pm b/perllib/FixMyStreet/SendReport/Open311.pm
index eaa223bb2..ecda0bca1 100644
--- a/perllib/FixMyStreet/SendReport/Open311.pm
+++ b/perllib/FixMyStreet/SendReport/Open311.pm
@@ -49,7 +49,11 @@ sub send {
} elsif ($_->{code} eq 'closest_address' && $h->{closest_address}) {
push @$extra, { name => $_->{code}, value => $h->{$_->{code}} };
} elsif ($_->{code} =~ /^(easting|northing)$/) {
- if ( $row->used_map || ( !$row->used_map && !$row->postcode ) ) {
+ # NB If there's ever a cobrand with always_send_latlong=0 and
+ # send_notpinpointed=0 then this line will need changing to
+ # consider the send_notpinpointed check, as per the
+ # '#NOTPINPOINTED#' code in perllib/Open311.pm.
+ if ( $row->used_map || $open311_params{always_send_latlong} ) {
push @$extra, { name => $_->{code}, value => $h->{$_->{code}} };
}
}
@@ -80,7 +84,6 @@ sub send {
if ( $resp ) {
$row->external_id( $resp );
- $row->send_method_used('Open311');
$result *= 0;
$self->success( 1 );
} else {