diff options
Diffstat (limited to 'app/models/outgoing_message.rb')
-rw-r--r-- | app/models/outgoing_message.rb | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/app/models/outgoing_message.rb b/app/models/outgoing_message.rb index 220f4f0a7..669fffb56 100644 --- a/app/models/outgoing_message.rb +++ b/app/models/outgoing_message.rb @@ -169,18 +169,28 @@ class OutgoingMessage < ActiveRecord::Base def send_message(log_event_type = 'sent') if self.status == 'ready' if self.message_type == 'initial_request' - OutgoingMailer.deliver_initial_request(self.info_request, self) + mail_message = OutgoingMailer.deliver_initial_request(self.info_request, self) + self.last_sent_at = Time.now self.status = 'sent' self.save! - self.info_request.log_event(log_event_type, { :email => self.info_request.recipient_name_and_email, :outgoing_message_id => self.id }) + self.info_request.log_event(log_event_type, { + :email => mail_message.to_addrs.join(", "), + :outgoing_message_id => self.id, + :smtp_message_id => mail_message.message_id + }) self.info_request.set_described_state('waiting_response') elsif self.message_type == 'followup' - OutgoingMailer.deliver_followup(self.info_request, self, self.incoming_message_followup) + mail_message = OutgoingMailer.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 => OutgoingMailer.name_and_email_for_followup(self.info_request, self.incoming_message_followup), :outgoing_message_id => self.id }) + self.info_request.log_event('followup_' + log_event_type, { + :email => mail_message.to_addrs.join(", "), + :outgoing_message_id => self.id, + :smtp_message_id => mail_message.message_id + }) if self.info_request.described_state == 'waiting_clarification' self.info_request.set_described_state('waiting_response') end |