aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/controllers/admin_user_controller.rb12
-rw-r--r--app/views/admin_user/show.rhtml11
-rw-r--r--app/views/admin_user/show_bounce_message.rhtml3
-rw-r--r--config/routes.rb2
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'