Offizielle Warnung rückgängig machen

:bookmark: Dieser Leitfaden erklärt, wie eine offizielle Verwarnung in Discourse über die Konsole entfernt wird, insbesondere für Benutzer mit selbst gehosteten Installationen.

:person_raising_hand: Erforderliches Benutzerlevel: Systemadministrator
:desktop_computer: Konsolenzugriff erforderlich

In bestimmten Situationen muss eine an einen Benutzer ausgesprochene Verwarnung zurückgenommen werden. Dieser Vorgang beinhaltet das Entfernen der Verwarnung über die Konsole, auf die Benutzer mit Serverzugriff zugreifen können. Wenn Sie ein gehosteter Kunde sind, wenden Sie sich bitte an das Discourse-Team (team@discourse.org), um Unterstützung bei diesem Vorgang zu erhalten.

Benutzerverwarnungen verstehen

Offizielle Verwarnungen umfassen zwei Datensätze in der Discourse-Datenbank:

  1. Ein Eintrag in der Tabelle user_warnings, der die Verwarnung mit einem Benutzer und einem Thema verknüpft.
  2. Der zugehörige private Nachrichtenthema hat seinen subtype auf \"moderator_warning\" gesetzt.

Um eine Verwarnung vollständig rückgängig zu machen, müssen beide Punkte berücksichtigt werden: Der user_warnings-Eintrag muss gelöscht und der Subtyp des Themas zurückgesetzt werden.

Eine offizielle Verwarnung entfernen

Um eine Verwarnung zu entfernen, gehen Sie wie folgt vor:

  1. Greifen Sie auf die Serverkonsole zu:

    • Verwenden Sie SSH, um sich mit Ihrem Discourse-Server zu verbinden.
    • Rufen Sie die Konsole mit den folgenden Befehlen auf:
      cd /var/discourse/
      ./launcher enter app
      rails console
      
  2. Die neueste Verwarnung entfernen:
    Wenn die zu löschende Verwarnung die letzte ist, führen Sie Folgendes aus:

    warning = UserWarning.last
    warning.topic.update(subtype: TopicSubtype.user_to_user)
    warning.destroy
    
  3. Eine bestimmte Verwarnung finden und entfernen:
    Wenn die Verwarnung nicht die letzte war, suchen Sie mithilfe der user_id nach der spezifischen Verwarnung:

    UserWarning.where(user_id: the_user_id)
    

    Dies gibt ein Array von Verwarnungen zurück, die mit dem Benutzer in Zusammenhang stehen. Sobald Sie die richtige id gefunden haben, entfernen Sie sie mit:

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

Das Zerstören des Verwarnungseintrags und das Zurücksetzen des Themensubtyps entfernt die Verwarnung aus der Verwarnungszählung des Benutzers und hebt die Kennzeichnung der privaten Nachricht als offizielle Verwarnung auf. Die private Nachricht selbst wird dabei nicht gelöscht.

20 „Gefällt mir“

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 „Gefällt mir“

Hallo @JammyDodger. Vielleicht braucht es einen magischen Link, der „Konsole“ und/oder „Rails“ (oder vielleicht „Rails-Konsole“) mit

[quote=“Andrew Schleifer, post:3, topic:103655, username:schleifer”]

cd /var/discourse/
./launcher enter app
rails console

[/quote]verknüpft.

2 „Gefällt mir“

Hmm. Das ist eine Idee. :denkend: Ich habe damit aber schon schlechte Erfahrungen gemacht. :leicht_lächelnd:

Ich werde jetzt darauf achten, da Sie es erwähnt haben, und sehen, wie oft es vorkommt. :Daumen hoch:


Wir gehen gerade die Dokumentation durch, daher wäre es in diesem Fall vielleicht gut, die vollständigen Anweisungen in den Leitfaden aufzunehmen.

3 „Gefällt mir“

Oder vielleicht wird der Abschnitt „Dinge, die man in Rails tun kann“ lauten und das „Über uns“ oder was auch immer wird ausreichen.

Wäre es nicht viel einfacher, diese als Strafen zu behandeln und ein Protokoll aller offiziellen Warnungen zu führen, das Administratoren und Moderatoren jederzeit verwalten können? Es macht es sehr schwierig, wenn ein Moderator versehentlich einen Benutzer mit einem ähnlichen Namen verwarnt und sich dann an den Website-Betreuer wenden muss, damit dieser das Problem löst.

1 „Gefällt mir“

Ich glaube, hier gibt es eine Feature request dafür:

2 „Gefällt mir“

Gibt es eine Möglichkeit, dies auch über die API und nicht nur über die Rails-Konsole zu tun?