summaryrefslogtreecommitdiff
path: root/app/controllers/users_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/users_controller.rb')
-rw-r--r--app/controllers/users_controller.rb23
1 files changed, 20 insertions, 3 deletions
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index 95dff220..7bf23f17 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -4,7 +4,7 @@ class UsersController < ApplicationController
4 # Private 4 # Private
5 5
6 before_action :login_required 6 before_action :login_required
7 before_action :find_user, :only => [:show, :edit, :update, :destroy, :reset_otp] 7 before_action :find_user, :only => [:show, :edit, :update, :reset_otp, :deactivate, :reactivate]
8 before_action :verify_status, :except => [:index, :show] 8 before_action :verify_status, :except => [:index, :show]
9 9
10 layout 'admin' 10 layout 'admin'
@@ -53,8 +53,25 @@ class UsersController < ApplicationController
53 def show 53 def show
54 end 54 end
55 55
56 def destroy 56 def deactivate
57 @user.destroy if @user 57 return deny_user_access unless current_user.is_admin?
58
59 if @user == current_user
60 flash[:error] = t("flash.users.cannot_deactivate_self")
61 elsif @user.deactivate!(:actor => current_user)
62 flash[:notice] = t("flash.users.deactivated", :login => @user.login)
63 end
64
65 redirect_to users_path
66 end
67
68 def reactivate
69 return deny_user_access unless current_user.is_admin?
70
71 if @user.reactivate!(:actor => current_user)
72 flash[:notice] = t("flash.users.reactivated", :login => @user.login)
73 end
74
58 redirect_to users_path 75 redirect_to users_path
59 end 76 end
60 77