diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2018-09-28 11:32:44 -0700 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2018-09-28 11:32:44 -0700 |
commit | 5ad0813322820a6c42d7b3074531ac40108bfb69 (patch) | |
tree | 59a3e850d507daa7028600fb94c551e6aaf93eb9 /app | |
parent | c9d8f6650d6c5c88c5346032b23d037cf3e4aae6 (diff) | |
download | rails-5ad0813322820a6c42d7b3074531ac40108bfb69.tar.gz rails-5ad0813322820a6c42d7b3074531ac40108bfb69.tar.bz2 rails-5ad0813322820a6c42d7b3074531ac40108bfb69.zip |
Add rerouting option
Diffstat (limited to 'app')
3 files changed, 20 insertions, 5 deletions
diff --git a/app/controllers/rails/conductor/action_mailroom/reroutes_controller.rb b/app/controllers/rails/conductor/action_mailroom/reroutes_controller.rb new file mode 100644 index 0000000000..028ed9e2d6 --- /dev/null +++ b/app/controllers/rails/conductor/action_mailroom/reroutes_controller.rb @@ -0,0 +1,14 @@ +class Rails::Conductor::ActionMailroom::ReroutesController < Rails::Conductor::BaseController + def create + inbound_email = ActionMailroom::InboundEmail.find(params[:inbound_email_id]) + reroute inbound_email + + redirect_to main_app.rails_conductor_inbound_email_url(inbound_email) + end + + private + def reroute(inbound_email) + inbound_email.pending! + inbound_email.route_later + end +end diff --git a/app/models/action_mailroom/inbound_email/routable.rb b/app/models/action_mailroom/inbound_email/routable.rb index 61a14a0ba1..5075db326e 100644 --- a/app/models/action_mailroom/inbound_email/routable.rb +++ b/app/models/action_mailroom/inbound_email/routable.rb @@ -5,8 +5,7 @@ module ActionMailroom::InboundEmail::Routable after_create_commit :route_later, if: ->(inbound_email) { inbound_email.pending? } end - private - def route_later - ActionMailroom::RoutingJob.perform_later self - end + def route_later + ActionMailroom::RoutingJob.perform_later self + end end diff --git a/app/views/rails/conductor/action_mailroom/inbound_emails/show.html.erb b/app/views/rails/conductor/action_mailroom/inbound_emails/show.html.erb index e6f40b19e2..e761904196 100644 --- a/app/views/rails/conductor/action_mailroom/inbound_emails/show.html.erb +++ b/app/views/rails/conductor/action_mailroom/inbound_emails/show.html.erb @@ -3,7 +3,7 @@ <h1><%= @inbound_email.message_id %>: <%= @inbound_email.status %></h1> <ul> - <li>Retry</li> + <li><%= button_to "Route again", main_app.rails_conductor_inbound_email_reroute_path(@inbound_email), method: :post %></li> <li>Incinerate</li> </ul> @@ -11,3 +11,5 @@ <summary>Full email source</summary> <pre><%= @inbound_email.source %></pre> </details> + +<%= link_to "Back to all inbound emails", main_app.rails_conductor_inbound_emails_path %>
\ No newline at end of file |