diff options
author | Louise Crow <louise.crow@gmail.com> | 2014-11-04 14:44:16 +0000 |
---|---|---|
committer | Louise Crow <louise.crow@gmail.com> | 2014-12-12 16:47:13 +0000 |
commit | 11e2ae209c2c9c5d9452183daed1cc7f1226d7d6 (patch) | |
tree | 608b48644fe426de027a4875dc2504205442d926 /app/controllers/admin_outgoing_message_controller.rb | |
parent | 12aca5dd819653e596f7c13e587e6e7967d6ded3 (diff) |
Use RESTful routing for resend action
Diffstat (limited to 'app/controllers/admin_outgoing_message_controller.rb')
-rw-r--r-- | app/controllers/admin_outgoing_message_controller.rb | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/app/controllers/admin_outgoing_message_controller.rb b/app/controllers/admin_outgoing_message_controller.rb index 76166ec05..535ec1229 100644 --- a/app/controllers/admin_outgoing_message_controller.rb +++ b/app/controllers/admin_outgoing_message_controller.rb @@ -38,10 +38,41 @@ class AdminOutgoingMessageController < AdminController :prominence_reason => @outgoing_message.prominence_reason }) flash[:notice] = 'Outgoing message successfully updated.' expire_for_request(@outgoing_message.info_request) - redirect_to admin_request_show_url(@outgoing_message.info_request) + redirect_to admin_request_url(@outgoing_message.info_request) else render :action => 'edit' end end + def resend + @outgoing_message = OutgoingMessage.find(params[:id]) + @outgoing_message.prepare_message_for_resend + + mail_message = case @outgoing_message.message_type + when 'initial_request' + OutgoingMailer.initial_request( + @outgoing_message.info_request, + @outgoing_message + ).deliver + when 'followup' + OutgoingMailer.followup( + @outgoing_message.info_request, + @outgoing_message, + @outgoing_message.incoming_message_followup + ).deliver + else + raise "Message id #{id} has type '#{message_type}' which cannot be resent" + end + + @outgoing_message.record_email_delivery( + mail_message.to_addrs.join(', '), + mail_message.message_id, + 'resent' + ) + + flash[:notice] = "Outgoing message resent" + redirect_to admin_request_url(@outgoing_message.info_request) + end + + end |