diff options
-rw-r--r-- | app/models/outgoing_message.rb | 6 | ||||
-rw-r--r-- | app/models/request_mailer.rb | 16 |
2 files changed, 13 insertions, 9 deletions
diff --git a/app/models/outgoing_message.rb b/app/models/outgoing_message.rb index c975e50ec..ca1562738 100644 --- a/app/models/outgoing_message.rb +++ b/app/models/outgoing_message.rb @@ -21,7 +21,7 @@ # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ # -# $Id: outgoing_message.rb,v 1.51 2008-05-27 08:56:27 francis Exp $ +# $Id: outgoing_message.rb,v 1.52 2008-06-06 11:39:07 francis Exp $ class OutgoingMessage < ActiveRecord::Base belongs_to :info_request @@ -107,13 +107,13 @@ class OutgoingMessage < ActiveRecord::Base self.last_sent_at = Time.now self.status = 'sent' self.save! - self.info_request.log_event(log_event_type, { :email => self.info_request.recipient_email, :outgoing_message_id => self.id }) + self.info_request.log_event(log_event_type, { :email => self.info_request.recipient_name_and_email, :outgoing_message_id => self.id }) elsif self.message_type == 'followup' RequestMailer.deliver_followup(self.info_request, self, self.incoming_message_followup) self.last_sent_at = Time.now self.status = 'sent' self.save! - self.info_request.log_event('followup_' + log_event_type, { :email => self.info_request.recipient_email, :outgoing_message_id => self.id }) + self.info_request.log_event('followup_' + log_event_type, { :email => RequestMailer.name_and_email_for_followup(self.info_request, self.incoming_message_followup), :outgoing_message_id => self.id }) if self.info_request.described_state == 'waiting_clarification' self.info_request.set_described_state('waiting_response') end diff --git a/app/models/request_mailer.rb b/app/models/request_mailer.rb index cfe837b3b..99a02e109 100644 --- a/app/models/request_mailer.rb +++ b/app/models/request_mailer.rb @@ -4,7 +4,7 @@ # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ # -# $Id: request_mailer.rb,v 1.33 2008-05-21 22:37:33 francis Exp $ +# $Id: request_mailer.rb,v 1.34 2008-06-06 11:39:07 francis Exp $ class RequestMailer < ApplicationMailer @@ -20,17 +20,21 @@ class RequestMailer < ApplicationMailer # Later message to public body regarding existing request def followup(info_request, outgoing_message, incoming_message_followup) @from = info_request.incoming_name_and_email - if incoming_message_followup.nil? - @recipients = info_request.recipient_name_and_email - else - @recipients = incoming_message_followup.mail.from_addrs.to_s - end + @recipients = RequestMailer.name_and_email_for_followup(info_request, incoming_message_followup) @subject = 'Re: Freedom of Information Request - ' + info_request.title @subject = info_request.email_subject_followup @body = {:info_request => info_request, :outgoing_message => outgoing_message, :incoming_message_followup => incoming_message_followup, :contact_email => MySociety::Config.get("CONTACT_EMAIL", 'contact@localhost') } end + # Separate function, so can be called from controller for logging + def RequestMailer.name_and_email_for_followup(info_request, incoming_message_followup) + if incoming_message_followup.nil? + @recipients = info_request.recipient_name_and_email + else + @recipients = incoming_message_followup.mail.from_addrs.to_s + end + end # Incoming message arrived at FOI address, but hasn't got To:/CC: of valid request def bounced_message(email) |