Я администрирую корпоративный форум, где нам нужно ограничивать доступ для определённых пользователей без отправки им уведомлений по электронной почте. До сих пор мы ограничивали доступ путём приостановки аккаунтов. Однако при приостановке пользователь получает письмо с указанием причины. Нам бы очень не хотелось беспокоить человека таким письмом.
Я сначала пробовал деактивировать тестовый аккаунт перед его приостановкой, но письмо всё равно отправляется.
Примечание: когда я приостанавливаю аккаунт, я не заполняю поле «Сообщение по электронной почте».
Есть ли способ отключить доступ к Discourse, не отправляя уведомление пользователю?
username = "user-to-suspend-username"
admin_username = "admin-username"
reason = "причина приостановки"
till = Time.at(33174889200)
u = User.find_by_username(username)
puts "не удалось найти пользователя с именем #{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
Я знаю, как это сделать в консоли Rails, но есть ли способ сделать это через веб-интерфейс? Я вижу возможность изменить их адрес электронной почты в профиле, но, похоже, для вступления изменений в силу требуется подтверждение адреса электронной почты.
Вы правы, я только что это проверил. И отключение электронной почты пользователя не препятствует отправке письма. Казалось бы, в прошлых версиях письмо не отправлялось, если не было добавлено необязательное сообщение.