أقوم بإدارة منتدى للموظفين نود فيه تعطيل الوصول لمستخدمين محددين دون إرسال بريد إلكتروني إليهم. الطريقة التي اعتمدناها سابقاً لتعطيل الوصول هي تعليق حساباتهم. وعند تعليق الحساب، يتلقى المستخدم رسالة بريد إلكتروني تحتوي على سبب التعليق. ونفضل حقاً عدم إزعاج الشخص برسالة بريد إلكتروني.
لقد جربت أولاً إلغاء تنشيط حساب تجريبي قبل تعليقه، ولكن لا يزال يتم إرسال رسالة بريد إلكتروني.
ملاحظة: عندما أقوم بتعليق مستخدم، لا أقوم بتعبئة حقل “رسالة البريد الإلكتروني” بأي شيء.
هل توجد طريقة يمكنني من خلالها تعطيل الوصول إلى Discourse دون إرسال بريد إلكتروني للمستخدم؟
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
أنا أعرف كيفية القيام بذلك من خلال وحدة تحكم Rails، ولكن هل توجد طريقة للقيام بذلك عبر واجهة الويب؟ أرى خيارًا لتعديل بريدهم الإلكتروني في ملفهم الشخصي، لكن يبدو أنه يتطلب التحقق من البريد الإلكتروني قبل أن يصبح ساري المفعول.
أنت محق، لقد جربت ذلك للتو. كما أن إلغاء تنشيط البريد الإلكتروني للمستخدم لا يمنع إرسال البريد الإلكتروني أيضًا. لقد كنت متأكدًا من أنه لن يتم إرسال أي بريد إلكتروني ما لم تتم إضافة الرسالة الاختيارية في الإصدارات السابقة.