التراجع عن تحذير رسمي

:bookmark: يشرح هذا الدليل كيفية إزالة تحذير رسمي في Discourse عبر وحدة التحكم (console)، وهو موجه بشكل خاص للمستخدمين الذين يستضيفون الخدمة ذاتيًا.

:person_raising_hand: مستوى المستخدم المطلوب: مسؤول النظام
:desktop_computer: يتطلب الوصول إلى وحدة التحكم

في بعض الحالات، قد تحتاج إلى سحب تحذير تم إصداره لمستخدم. يتضمن هذا الإجراء إزالة التحذير عبر وحدة التحكم، وهي متاحة لمن لديهم وصول إلى الخادم. إذا كنت عميلاً مستضافًا، يرجى الاتصال بفريق Discourse (team@discourse.org) للحصول على المساعدة في هذه العملية.

فهم تحذيرات المستخدمين

تتضمن التحذيرات الرسمية جزأين من البيانات في قاعدة بيانات Discourse:

  1. سجل في جدول user_warnings يربط التحذير بمستخدم وموضوع.
  2. يتم تعيين subtype الخاص بموضوع الرسالة الخاصة المرتبط إلى "moderator_warning".

للتراجع عن تحذير بالكامل، يجب معالجة كلا الجزأين: يجب حذف سجل user_warnings، ويجب إعادة تعيين النوع الفرعي (subtype) للموضوع.

إزالة تحذير رسمي

لإزالة تحذير، اتبع الخطوات التالية:

  1. الوصول إلى وحدة تحكم الخادم (Server Console):

    • استخدم SSH للاتصال بخادم Discourse الخاص بك.
    • ادخل إلى وحدة التحكم باستخدام الأوامر التالية:
      cd /var/discourse/
      ./launcher enter app
      rails console
      
  2. إزالة أحدث تحذير:
    إذا كان التحذير الذي تريد حذفه هو الأحدث، قم بتنفيذ ما يلي:

    warning = UserWarning.last
    warning.topic.update(subtype: TopicSubtype.user_to_user)
    warning.destroy
    
  3. البحث عن تحذير محدد وإزالته:
    إذا لم يكن التحذير هو الأخير، فابحث عن التحذير المحدد باستخدام user_id:

    UserWarning.where(user_id: the_user_id)
    

    سيؤدي هذا إلى إرجاع مصفوفة من التحذيرات المتعلقة بالمستخدم. بمجرد العثور على id الصحيح، قم بإزالته باستخدام:

    warning = UserWarning.find(3)
    warning.topic.update(subtype: TopicSubtype.user_to_user)
    warning.destroy
    

سيؤدي حذف سجل التحذير وإعادة تعيين النوع الفرعي للموضوع إلى إزالة التحذير من عدد تحذيرات المستخدم وإلغاء وسم الرسالة الخاصة كتحذير رسمي. لن يتم حذف الرسالة الخاصة نفسها.

20 إعجابًا

Is there any chance you could share the steps that I’d need to take to log in to the Console? I’ve tried Googling this but every guide seems to assume that the user will know how to do that.

Assuming you followed the standard installation guide, you would SSH into the server and run:

cd /var/discourse/
./launcher enter app
rails console
3 إعجابات

مرحباً @JammyDodger. ربما هناك حاجة إلى رابط سحري يربط “وحدة التحكم” و/أو “rails” (أو ربما “rails console”) بـ

إعجابَين (2)

هممم. هذه فكرة. :thinking: لقد تعرضت للحرق من قبل مع هذه. :slight_smile:

سأبقي عيني مفتوحة الآن بعد أن ذكرتها وأرى كم مرة تظهر. :+1:


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

3 إعجابات

أو ربما سيكون القسم “أشياء يمكنك القيام بها في ريلز” وسيكون “حول” أو أي شيء آخر كافياً.

ألن يكون من الأسهل بكثير التعامل مع هذه كعقوبات ووجود سجل بجميع التحذيرات الرسمية المرسلة للمسؤولين والمشرفين لإدارتها في أي وقت؟ يصبح الأمر صعبًا للغاية عندما يقوم مشرف عن طريق الخطأ بتحذير مستخدم باسم مشابه ثم يتعين عليه التواصل مع مسؤول الموقع لحل المشكلة.

إعجاب واحد (1)

أعتقد أن هناك طلب #ميزة له هنا:

إعجابَين (2)

هل هناك أي طريقة للقيام بذلك أيضًا عبر واجهة برمجة التطبيقات (API) وليس فقط عبر وحدة تحكم Rails؟