aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perllib/FixMyStreet/Cobrand/Bexley.pm28
-rw-r--r--t/cobrand/bexley.t6
2 files changed, 34 insertions, 0 deletions
diff --git a/perllib/FixMyStreet/Cobrand/Bexley.pm b/perllib/FixMyStreet/Cobrand/Bexley.pm
index 3bb9bf417..767aa661b 100644
--- a/perllib/FixMyStreet/Cobrand/Bexley.pm
+++ b/perllib/FixMyStreet/Cobrand/Bexley.pm
@@ -81,4 +81,32 @@ sub open311_config {
$row->set_extra_fields(@$extra);
}
+sub admin_user_domain { 'bexley.gov.uk' }
+
+sub open311_post_send {
+ my ($self, $row, $h) = @_;
+
+ # Check Open311 was successful
+ return unless $row->external_id;
+
+ return unless $row->category eq 'Abandoned and untaxed vehicles'
+ || $row->category eq 'Animal fouling';
+
+ my $mb = FixMyStreet->config('STAGING_SITE') ? 'digital-team' : 'P1sfromContactCentre';
+ my $e = join('@', $mb, $self->admin_user_domain);
+ my $sender = FixMyStreet::SendReport::Email->new( to => [ [ $e, 'Bexley P1 email' ] ] );
+
+ if ($row->category eq 'Abandoned and untaxed vehicles') {
+ my ($burnt) = grep { $_->{name} eq 'burnt' } @{$row->get_extra_fields};
+ return unless $burnt && $burnt->{value} eq 'Yes';
+ }
+
+ $self->open311_config($row); # Populate NSGRef again if needed
+
+ my $extra_data = join "; ", map { "$_->{description}: $_->{value}" } @{$row->get_extra_fields};
+ $h->{additional_information} = $extra_data;
+
+ $sender->send($row, $h);
+}
+
1;
diff --git a/t/cobrand/bexley.t b/t/cobrand/bexley.t
index 10255dbea..e6f400e3d 100644
--- a/t/cobrand/bexley.t
+++ b/t/cobrand/bexley.t
@@ -44,6 +44,8 @@ FixMyStreet::override_config {
category => 'Abandoned and untaxed vehicles', cobrand => 'bexley',
latitude => 51.408484, longitude => 0.074653,
});
+ $report->set_extra_fields({ 'name' => 'burnt', description => 'Was it burnt?', 'value' => 'Yes' });
+ $report->update;
subtest 'Server-side NSGRef included' => sub {
my $test_data = FixMyStreet::Script::Reports::send();
@@ -51,6 +53,10 @@ FixMyStreet::override_config {
my $c = CGI::Simple->new($req->content);
is $c->param('service_code'), 'ABAN';
is $c->param('attribute[NSGRef]'), 'Road ID';
+
+ my $email = $mech->get_email;
+ like $email->header('To'), qr/"Bexley P1 email".*bexley/;
+ like $mech->get_text_body_from_email($email), qr/NSG Ref: Road ID/;
};
};