저희는 직원용 포럼을 관리하고 있으며, 특정 사용자에게 이메일을 보내지 않고 액세스를 차단하기를 원합니다. 현재까지 액세스를 차단하는 방법은 계정을 정지(suspend)하는 것이었습니다. 하지만 계정을 정지하면 정지 사유가 포함된 이메일이 해당 사용자에게 전송됩니다. 저희는 가능하면 사용자에게 이메일을 보내지 않고 싶습니다.
정지하기 전에 먼저 테스트 계정을 비활성화(deactivate)해 보았지만, 여전히 이메일이 전송되었습니다.
참고: 사용자를 정지할 때 “Email message” 필드에 아무 내용도 입력하지 않았습니다.
username = "user-to-suspend-username"
admin_username = "admin-username"
reason = "suspend reason"
till = Time.at(33174889200)
u = User.find_by_username(username)
puts "couldn't find user named #{username}" unless u
if u and !u.suspended?
u.suspended_till = till
u.suspended_at = DateTime.now
User.transaction do
u.save!
admin = User.find_by_username(admin_username)
StaffActionLogger.new(admin).log_user_suspend(
u,
reason
)
end
u.logged_out
end