aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/controllers/admin_outgoing_message_controller.rb33
-rw-r--r--app/controllers/admin_request_controller.rb30
-rw-r--r--app/views/admin_request/show.html.erb4
-rw-r--r--config/routes.rb2
4 files changed, 35 insertions, 34 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
diff --git a/app/controllers/admin_request_controller.rb b/app/controllers/admin_request_controller.rb
index 90811104b..5ddc32648 100644
--- a/app/controllers/admin_request_controller.rb
+++ b/app/controllers/admin_request_controller.rb
@@ -30,36 +30,6 @@ class AdminRequestController < AdminController
:locals => vars_for_explanation)
end
- def resend
- @outgoing_message = OutgoingMessage.find(params[:outgoing_message_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_show_url(@outgoing_message.info_request)
- end
-
def edit
@info_request = InfoRequest.find(params[:id])
end
diff --git a/app/views/admin_request/show.html.erb b/app/views/admin_request/show.html.erb
index 9c04badeb..f5620d769 100644
--- a/app/views/admin_request/show.html.erb
+++ b/app/views/admin_request/show.html.erb
@@ -245,8 +245,8 @@
<tbody>
<tr>
<td colspan="2">
- <%= form_tag admin_request_resend_path, :class => "admin-table-form" do %>
- <%= hidden_field_tag 'outgoing_message_id', outgoing_message.id %>
+ <%= form_tag admin_outgoing_resend_path, :class => "admin-table-form" do %>
+ <%= hidden_field_tag 'id', outgoing_message.id %>
<%= submit_tag "Resend", :class => "btn" %>
<% end %>
</td>
diff --git a/config/routes.rb b/config/routes.rb
index 7e40ceb29..aeeab785d 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -213,7 +213,6 @@ Alaveteli::Application.routes.draw do
####
#### AdminRequest controller
- match '/admin/request/resend' => 'admin_request#resend', :as => :admin_request_resend
scope '/admin', :as => 'admin' do
resources :requests,
:controller => 'admin_request',
@@ -244,6 +243,7 @@ Alaveteli::Application.routes.draw do
match '/admin/outgoing/edit/:id' => 'admin_outgoing_message#edit', :as => :admin_outgoing_edit
match '/admin/outgoing/destroy/:id' => 'admin_outgoing_message#destroy', :as => :admin_outgoing_destroy
match '/admin/outgoing/update/:id' => 'admin_outgoing_message#update', :as => :admin_outgoing_update
+ match '/admin/outgoing/resend/:id' => 'admin_outgoing_message#resend', :as => :admin_outgoing_resend
####
#### AdminUser controller