Module: Collavre::UsersController::AdminOperations
- Extended by:
- ActiveSupport::Concern
- Included in:
- Collavre::UsersController
- Defined in:
- app/controllers/concerns/collavre/users_controller/admin_operations.rb
Instance Method Summary collapse
- #destroy ⇒ Object
- #grant_system_admin ⇒ Object
- #index ⇒ Object
- #lock ⇒ Object
- #revoke_system_admin ⇒ Object
- #unlock ⇒ Object
Instance Method Details
#destroy ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'app/controllers/concerns/collavre/users_controller/admin_operations.rb', line 13 def destroy @user = Collavre::User.find(params[:id]) if @user == Current.user redirect_to users_path, alert: I18n.t("collavre.users.destroy.cannot_delete_self") return end allowed = Current.user.system_admin? || (@user.ai_user? && @user.created_by_id == Current.user.id) unless allowed fallback = user_path(Current.user, tab: "contacts") redirect_back fallback_location: fallback, alert: I18n.t("collavre.users.destroy.not_authorized") return end if @user.destroy fallback = Current.user.system_admin? ? users_path : user_path(Current.user, tab: "contacts") redirect_back fallback_location: fallback, notice: I18n.t("collavre.users.destroy.success") else redirect_to users_path, alert: I18n.t("collavre.users.destroy.failure") end end |
#grant_system_admin ⇒ Object
38 39 40 41 42 43 44 45 46 |
# File 'app/controllers/concerns/collavre/users_controller/admin_operations.rb', line 38 def grant_system_admin @user = Collavre::User.find(params[:id]) if @user.update(system_admin: true) redirect_to users_path, notice: I18n.t("collavre.users.system_admin.granted") else redirect_to users_path, alert: I18n.t("collavre.users.system_admin.failed") end end |
#index ⇒ Object
9 10 11 |
# File 'app/controllers/concerns/collavre/users_controller/admin_operations.rb', line 9 def index @users = Collavre::User.includes(:sessions, :devices) end |
#lock ⇒ Object
64 65 66 67 68 69 70 71 72 |
# File 'app/controllers/concerns/collavre/users_controller/admin_operations.rb', line 64 def lock @user = Collavre::User.find(params[:id]) if @user == Current.user redirect_to users_path, alert: I18n.t("collavre.users.lock.cannot_lock_self") return end @user.lock_account! redirect_to users_path, notice: I18n.t("collavre.users.lock.success", name: @user.display_name) end |
#revoke_system_admin ⇒ Object
48 49 50 51 52 53 54 55 56 |
# File 'app/controllers/concerns/collavre/users_controller/admin_operations.rb', line 48 def revoke_system_admin @user = Collavre::User.find(params[:id]) if @user.update(system_admin: false) redirect_to users_path, notice: I18n.t("collavre.users.system_admin.revoked") else redirect_to users_path, alert: I18n.t("collavre.users.system_admin.failed") end end |