aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/controllers/admin_user_controller.rb12
-rw-r--r--app/views/admin_user/show.rhtml1
2 files changed, 12 insertions, 1 deletions
diff --git a/app/controllers/admin_user_controller.rb b/app/controllers/admin_user_controller.rb
index ca69c87b9..135bf0276 100644
--- a/app/controllers/admin_user_controller.rb
+++ b/app/controllers/admin_user_controller.rb
@@ -4,7 +4,7 @@
# Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved.
# Email: francis@mysociety.org; WWW: http://www.mysociety.org/
#
-# $Id: admin_user_controller.rb,v 1.7 2008-09-15 11:11:13 francis Exp $
+# $Id: admin_user_controller.rb,v 1.8 2009-01-29 11:18:01 francis Exp $
class AdminUserController < ApplicationController
layout "admin"
@@ -54,6 +54,16 @@ class AdminUserController < ApplicationController
redirect_to user_admin_url(track_thing.tracking_user)
end
+ def login_as
+ @admin_user = User.find(params[:id]) # check user does exist
+
+ post_redirect = PostRedirect.new( :uri => frontpage_url(), :user_id => @admin_user.id)
+ post_redirect.save!
+ url = confirm_url(:email_token => post_redirect.email_token)
+
+ redirect_to url
+ end
+
private
end
diff --git a/app/views/admin_user/show.rhtml b/app/views/admin_user/show.rhtml
index fd6733db4..699c75ca0 100644
--- a/app/views/admin_user/show.rhtml
+++ b/app/views/admin_user/show.rhtml
@@ -18,6 +18,7 @@
<p>
<%= link_to 'Public page', main_url(user_url(@admin_user)) %>
| <%= link_to 'Edit', '../edit/' + @admin_user.id.to_s %>
+ | <%= link_to 'Log in as this user', '../login_as/' + @admin_user.id.to_s %> (also confirms their email)
</p>
<h2>Track things</h2>