Send a suspension message via email to a user

This commit is contained in:
Robin Ward
2017-09-13 14:43:36 -04:00
parent 2a56cf8bb6
commit 677b016387
7 changed files with 123 additions and 23 deletions

View File

@ -56,11 +56,31 @@ class Admin::UsersController < Admin::AdminController
@user.suspended_till = params[:duration].to_i.days.from_now
@user.suspended_at = DateTime.now
@user.save!
@user.revoke_api_key
StaffActionLogger.new(current_user).log_user_suspend(@user, params[:reason])
message = params[:message]
user_history = nil
User.transaction do
@user.save!
@user.revoke_api_key
user_history = StaffActionLogger.new(current_user).log_user_suspend(
@user,
params[:reason],
context: message
)
end
@user.logged_out
if message.present?
Jobs.enqueue(
:critical_user_email,
type: :account_suspended,
user_id: @user.id,
user_history_id: user_history.id
)
end
render_json_dump(
suspension: {
suspended: true,