app/controllers/admin_users_account_suspensions_controller.rb
# app/controllers/admin_users_account_suspensions_controller.rb:
# Controller for suspending user accounts
#
# Copyright (c) 2018 UK Citizens Online Democracy. All rights reserved.
# Email: hello@mysociety.org; WWW: http://www.mysociety.org/
class AdminUsersAccountSuspensionsController < AdminController
before_action :set_suspended_user
before_action :set_suspension_reason
def create
if suspend
flash[:notice] = 'The user was suspended.'
else
flash[:error] = 'Something went wrong. The user could not be suspended.'
end
redirect_to admin_user_path(@suspended_user)
end
private
def set_suspended_user
@suspended_user = User.find(params[:user_id])
end
def suspend
@suspended_user.update(ban_text: @suspension_reason)
end
def set_suspension_reason
@suspension_reason =
params[:suspension_reason] || _('Account suspended – Please contact us')
end
end