diff options
-rw-r--r-- | app/controllers/admin_user_controller.rb | 12 | ||||
-rw-r--r-- | app/views/admin_user/show.rhtml | 1 |
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> |