diff options
author | Gareth Rees <gareth@mysociety.org> | 2014-10-14 16:54:36 +0100 |
---|---|---|
committer | Gareth Rees <gareth@mysociety.org> | 2014-10-17 11:24:01 +0100 |
commit | 8c393cefe2f58a407416f099a9262cb6abc8dd9e (patch) | |
tree | 60728ea51064a7d4e89743514b4127b72a4429b1 | |
parent | bec15c0f11d2e49319e132b4b7d916260378e123 (diff) |
Remove now-unused OutgoingMessage#send_message
Models should not send emails
-rw-r--r-- | app/models/outgoing_message.rb | 44 | ||||
-rw-r--r-- | spec/models/info_request_spec.rb | 11 |
2 files changed, 7 insertions, 48 deletions
diff --git a/app/models/outgoing_message.rb b/app/models/outgoing_message.rb index e7694723a..fa83c7381 100644 --- a/app/models/outgoing_message.rb +++ b/app/models/outgoing_message.rb @@ -200,50 +200,6 @@ class OutgoingMessage < ActiveRecord::Base end end - # Deliver outgoing message - # Note: You can test this from script/console with, say: - # InfoRequest.find(1).outgoing_messages[0].send_message - def send_message(log_event_type = 'sent') - if status == 'ready' - if message_type == 'initial_request' - self.last_sent_at = Time.now - self.status = 'sent' - self.save! - - mail_message = OutgoingMailer.initial_request(info_request, self).deliver - 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 message_type == 'followup' - self.last_sent_at = Time.now - self.status = 'sent' - self.save! - - mail_message = OutgoingMailer.followup(info_request, self, incoming_message_followup).deliver - 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 info_request.described_state == 'waiting_clarification' - self.info_request.set_described_state('waiting_response') - end - if what_doing == 'internal_review' - self.info_request.set_described_state('internal_review') - end - else - raise "Message id #{id} has type '#{message_type}' which send_message can't handle" - end - elsif status == 'sent' - raise "Message id #{id} has already been sent" - else - raise "Message id #{id} not in state for send_message" - end - end - # An admin function def prepare_message_for_resend if ['initial_request', 'followup'].include?(message_type) and status == 'sent' diff --git a/spec/models/info_request_spec.rb b/spec/models/info_request_spec.rb index afb8e0949..9ad616ea5 100644 --- a/spec/models/info_request_spec.rb +++ b/spec/models/info_request_spec.rb @@ -848,9 +848,11 @@ describe InfoRequest do context "a series of events on a request" do it "should have sensible events after the initial request has been made" do # An initial request is sent - # The logic that changes the status when a message is sent is mixed up - # in OutgoingMessage#send_message. So, rather than extract it (or call it) - # let's just duplicate what it does here for the time being. + # FIXME: The logic that changes the status when a message + # is sent is mixed up in + # OutgoingMessage#record_email_delivery. So, rather than + # extract it (or call it) let's just duplicate what it does + # here for the time being. request.log_event('sent', {}) request.set_described_state('waiting_response') @@ -919,7 +921,8 @@ describe InfoRequest do request.log_event("status_update", {}) request.set_described_state("waiting_response") # A normal follow up is sent - # This is normally done in OutgoingMessage#send_message + # This is normally done in + # OutgoingMessage#record_email_delivery request.log_event('followup_sent', {}) request.set_described_state('waiting_response') |