diff options
| author | Douwe Maan <douwe@gitlab.com> | 2015-12-03 13:32:42 +0100 |
|---|---|---|
| committer | Douwe Maan <douwe@gitlab.com> | 2015-12-03 13:32:42 +0100 |
| commit | 928d131e3974018581d561a7eb11d6524d2e79a2 (patch) | |
| tree | 8f2c76dfe2576ed86e7850805ad6fd43f0b9c653 /app/controllers | |
| parent | 044e0e33dce9371430a3c91e63f9f687b536d35b (diff) | |
| parent | 6689224a90f3d2500be5d927ea1ed9656fc7b1b6 (diff) | |
| download | gitlab-ce-928d131e3974018581d561a7eb11d6524d2e79a2.tar.gz | |
Merge branch 'master' into link-refs
Diffstat (limited to 'app/controllers')
| -rw-r--r-- | app/controllers/admin/impersonation_controller.rb | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/app/controllers/admin/impersonation_controller.rb b/app/controllers/admin/impersonation_controller.rb index 0382402afa6..bf98af78615 100644 --- a/app/controllers/admin/impersonation_controller.rb +++ b/app/controllers/admin/impersonation_controller.rb @@ -5,14 +5,20 @@ class Admin::ImpersonationController < Admin::ApplicationController before_action :authorize_impersonator! def create - session[:impersonator_id] = current_user.username - session[:impersonator_return_to] = request.env['HTTP_REFERER'] + if @user.blocked? + flash[:alert] = "You cannot impersonate a blocked user" - warden.set_user(user, scope: 'user') + redirect_to admin_user_path(@user) + else + session[:impersonator_id] = current_user.username + session[:impersonator_return_to] = admin_user_path(@user) + + warden.set_user(user, scope: 'user') - flash[:alert] = "You are impersonating #{user.username}." + flash[:alert] = "You are impersonating #{user.username}." - redirect_to root_path + redirect_to root_path + end end def destroy |
