diff options
Diffstat (limited to 'perllib/FixMyStreet/SendReport/Zurich.pm')
-rw-r--r-- | perllib/FixMyStreet/SendReport/Zurich.pm | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/perllib/FixMyStreet/SendReport/Zurich.pm b/perllib/FixMyStreet/SendReport/Zurich.pm index e0c95283e..d46561e9e 100644 --- a/perllib/FixMyStreet/SendReport/Zurich.pm +++ b/perllib/FixMyStreet/SendReport/Zurich.pm @@ -9,12 +9,14 @@ sub build_recipient_list { # Only one body ever, most of the time with an email endpoint my $body = @{ $self->bodies }[0]; - $body = FixMyStreet::App->model("DB::Body")->find( { id => $row->external_body } ) - if $row->external_body; + if ( $row->external_body ) { + $body = FixMyStreet::App->model("DB::Body")->find( { id => $row->external_body } ); + $h->{bodies_name} = $body->name; + } my $body_email = $body->endpoint; - my @bodies = $body->bodies; - if ($body->parent && @bodies) { + my $parent = $body->parent; + if ($parent && !$parent->parent) { # Division, might have an individual contact email address my $contact = FixMyStreet::App->model("DB::Contact")->find( { body_id => $body->id, @@ -49,9 +51,22 @@ sub get_template { return $template; } -# Zurich emails come from the site itself +# Zurich emails come from the site itself, unless it's to an external body, +# in which case it's from the category/body sub send_from { my ( $self, $row ) = @_; + + if ( $row->external_body ) { + my $body = @{ $self->bodies }[0]; + my $body_email = $body->endpoint; + my $contact = FixMyStreet::App->model("DB::Contact")->find( { + body_id => $body->id, + category => $row->category + } ); + $body_email = $contact->email if $contact && $contact->email; + return [ $body_email, FixMyStreet->config('CONTACT_NAME') ]; + } + return [ FixMyStreet->config('CONTACT_EMAIL'), FixMyStreet->config('CONTACT_NAME') ]; } |