aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/views/admin_user/show.html.erb8
-rw-r--r--config/routes.rb3
-rw-r--r--spec/integration/admin_spec.rb2
3 files changed, 8 insertions, 5 deletions
diff --git a/app/views/admin_user/show.html.erb b/app/views/admin_user/show.html.erb
index 262e069a5..3846bc173 100644
--- a/app/views/admin_user/show.html.erb
+++ b/app/views/admin_user/show.html.erb
@@ -48,11 +48,13 @@
</tbody>
</table>
-
+<div class="btn-toolbar">
<%= link_to 'Edit', edit_admin_user_path(@admin_user), :class => "btn btn-primary" %>
<%= link_to 'Public page', user_path(@admin_user), :class => "btn" %>
-<%= link_to "Log in as #{@admin_user.name} (also confirms their email)", admin_user_login_as_path(@admin_user), :class => "btn btn-info" %>
-
+</div>
+<%= form_tag login_as_admin_user_path(@admin_user), :class => "form form-horizontal" do %>
+ <%= submit_tag "Log in as #{@admin_user.name} (also confirms their email)", :class => "btn btn-info" %>
+<% end %>
<hr>
<h2>Track things</h2>
diff --git a/config/routes.rb b/config/routes.rb
index d3da54035..1db9f6c31 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -278,9 +278,10 @@ Alaveteli::Application.routes.draw do
get 'show_bounce_message', :on => :member
post 'clear_bounce', :on => :member
post 'destroy_track', :on => :member
+ post 'login_as', :on => :member
+
end
end
- match '/admin/user/login_as/:id' => 'admin_user#login_as', :as => :admin_user_login_as
match '/admin/user/clear_profile_photo/:id' => 'admin_user#clear_profile_photo', :as => :admin_clear_profile_photo
match '/admin/user/modify_comment_visibility/:id' => 'admin_user#modify_comment_visibility', :as => 'admin_user_modify_comment_visibility'
####
diff --git a/spec/integration/admin_spec.rb b/spec/integration/admin_spec.rb
index c9135336d..bdd6e9d8c 100644
--- a/spec/integration/admin_spec.rb
+++ b/spec/integration/admin_spec.rb
@@ -18,7 +18,7 @@ describe "When administering the site" do
it 'does not allow a non-admin user to login as another user' do
robin = login(:robin_user)
- robin.get_via_redirect "/en/admin/user/login_as/#{users(:bob_smith_user).id}"
+ robin.post_via_redirect "/en/admin/users/#{users(:bob_smith_user).id}/login_as"
robin.response.should be_success
robin.session[:user_id].should_not == users(:bob_smith_user).id
end