diff options
-rw-r--r-- | app/controllers/admin_user_controller.rb | 12 | ||||
-rw-r--r-- | app/views/admin_user/show.rhtml | 11 | ||||
-rw-r--r-- | app/views/admin_user/show_bounce_message.rhtml | 3 | ||||
-rw-r--r-- | config/routes.rb | 2 |
4 files changed, 26 insertions, 2 deletions
diff --git a/app/controllers/admin_user_controller.rb b/app/controllers/admin_user_controller.rb index 404c4c3fe..5d90e74fe 100644 --- a/app/controllers/admin_user_controller.rb +++ b/app/controllers/admin_user_controller.rb @@ -28,6 +28,10 @@ class AdminUserController < AdminController # Don't use @user as that is any logged in user @admin_user = User.find(params[:id]) end + + def show_bounce_message + @admin_user = User.find(params[:id]) + end def edit @admin_user = User.find(params[:id]) @@ -57,6 +61,14 @@ class AdminUserController < AdminController flash[:notice] = 'Track destroyed' redirect_to user_admin_url(track_thing.tracking_user) end + + def clear_bounce + user = User.find(params[:id]) + user.email_bounced_at = nil + user.email_bounce_message = "" + user.save! + redirect_to user_admin_url(user) + end def login_as @admin_user = User.find(params[:id]) # check user does exist diff --git a/app/views/admin_user/show.rhtml b/app/views/admin_user/show.rhtml index 18d23fe73..4af79e45a 100644 --- a/app/views/admin_user/show.rhtml +++ b/app/views/admin_user/show.rhtml @@ -13,18 +13,25 @@ <% end %> -<p> +<div> <strong>Id:</strong> <%= @admin_user.id%> <br> <% for column in User.content_columns %> <strong><%= column.human_name %>:</strong> <% if column.name == 'email' %> <a href="mailto:<%=h @admin_user.email %>"><%=h @admin_user.email%></a> + <% elsif column.name == 'email_bounce_message' %> + <% if !@admin_user.email_bounce_message.empty? %> + <a href="../show_bounce_message/<%= @admin_user.id.to_s %>">See bounce message</a> + <% end %> <% else %> <%=h @admin_user.send(column.name) %> <% end %> + <% if column.name == 'email_bounced_at' && !@admin_user.email_bounced_at.nil? %> + <form action="../clear_bounce/<%= @admin_user.id.to_s %>" style="display: inline;"><input type="submit" name="action" value="Clear bounce"></form> + <% end %> <br> <% end %> -</p> +</div> <p> <%= link_to 'Public page', main_url(user_url(@admin_user)) %> diff --git a/app/views/admin_user/show_bounce_message.rhtml b/app/views/admin_user/show_bounce_message.rhtml new file mode 100644 index 000000000..ad643a13e --- /dev/null +++ b/app/views/admin_user/show_bounce_message.rhtml @@ -0,0 +1,3 @@ +<h1>Email bounce message for <%= @admin_user.name %></h1> + +<pre><%= @admin_user.email_bounce_message %></pre> diff --git a/config/routes.rb b/config/routes.rb index c16c10eb9..1f9a0474f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -179,7 +179,9 @@ ActionController::Routing::Routes.draw do |map| user.admin_user_list_banned '/admin/user/banned', :action => 'list_banned' user.admin_user_show '/admin/user/show/:id', :action => 'show' user.admin_user_edit '/admin/user/edit/:id', :action => 'edit' + user.admin_user_show '/admin/user/show_bounce_message/:id', :action => 'show_bounce_message' user.admin_user_update '/admin/user/update/:id', :action => 'update' + user.admin_user_clear_bounce '/admin/user/clear_bounce/:id', :action => 'clear_bounce' user.admin_user_destroy_track '/admin/user/destroy_track', :action => 'destroy_track' user.admin_user_login_as '/admin/user/login_as/:id', :action => 'login_as' user.admin_clear_profile_photo '/admin/user/clear_profile_photo/:id', :action => 'clear_profile_photo' |