تعديل تفضيل مستخدم للجميع أو لمجموعة فرعية من المستخدمين

:bookmark: يشرح هذا الدليل كيفية تعديل تفضيل مستخدم للجميع أو لمجموعة فرعية من المستخدمين في Discourse.

:person_raising_hand: مستوى المستخدم المطلوب: مسؤول النظام

:warning: يتطلب الأمر الوصول إلى وحدة التحكم (Console).

إذا كنت بحاجة إلى تحديث تفضيل المستخدم لجميع مستخدميك أو لمجموعة فرعية كبيرة منهم، يمكنك القيام بذلك عبر وحدة تحكم Rails.

ملخص

في هذا الدليل، ستتعلم:

  • كيفية الوصول إلى وحدة تحكم Rails لإجراء تغييرات جماعية
  • أمثلة على تعديل تفضيلات المستخدمين
  • كيفية تحديد أسماء الإعدادات

الوصول إلى وحدة تحكم Rails

للدخول إلى وحدة تحكم Rails في إعداد Discourse الخاص بك، نفذ الأوامر التالية:

./launcher enter app
rails c

ثم، نفذ أمرًا يحدد مجموعة المستخدمين الذين ترغب في تحديثهم.

أمثلة على تعديل تفضيلات المستخدمين

فيما يلي أمثلة على الأوامر لتحديث تفضيلات المستخدمين المختلفة:

تعيين تاريخ آخر ظهور للمستخدمين غير النشطين

تعيين تاريخ آخر ظهور للمستخدمين الذين لم يسجلوا الدخول من قبل.

User.where("last_seen_at IS NULL").update_all(last_seen_at: 1.week.ago)

تعطيل وضع قائمة البريد لجميع المستخدمين

إعادة المستخدمين إلى الإعداد الافتراضي لمنعهم من تلقي رسائل بريد إلكتروني لكل منشور جديد.

UserOption.update_all(mailing_list_mode: false)

تعيين مستوى البريد الإلكتروني ليصبح “فقط عند الغياب” لجميع المستخدمين

العودة إلى الإعدادات الافتراضية لمنع إشعارات البريد الإلكتروني عندما يكون المستخدمون نشطين على الموقع.

UserOption.update_all(email_level: 1)

حيث يمكن أن تأخذ email_level القيم التالية:

  • 0: دائمًا (إرسال رسائل البريد الإلكتروني حتى عندما يكون المستخدم نشطًا)
  • 1: فقط عند الغياب (الافتراضي)
  • 2: أبدًا

تمكين الدردشة لجميع أعضاء مجموعة بيتا

beta_group = Group.find_by(name: "beta")
beta_group.users.each do |user|
  UserOption.where(user_id: user.id).update_all(chat_enabled: true)
end

تكوين إشعارات البريد الإلكتروني لاستبعاد الردود السابقة

تعيين التفضيل لاستبعاد الردود السابقة في إشعارات البريد الإلكتروني.

UserOption.update_all(email_previous_replies: 0)

حيث يمكن أن تأخذ email_previous_replies القيم التالية:

  • 0: دائمًا
  • 1: ما لم يتم إرسالها بالبريد الإلكتروني مسبقًا
  • 2: أبدًا

لمزيد من المعلومات، راجع التحكم في الردود السابقة في رسائل البريد الإلكتروني.

تحديد اسم الإعداد

لتحديد اسم إعداد المستخدم والخيارات المتاحة:

على سبيل المثال، لضبط الإعداد المتعلق بـ “عندما أنشر في موضوع، اضبط ذلك الموضوع على”، تحتاج إلى تعديل خيار المستخدم notification_level_when_replying.

تحقق من الإعداد ذي الصلة لـ المراقبة.

يمكنك أيضًا تكوين Docker لكشف psql والاستفادة من PGadmin لإدارة أسهل.

39 إعجابًا