Annulla un avviso ufficiale

:bookmark: Questa guida spiega come rimuovere un avviso ufficiale in Discourse tramite la console, rivolta in particolare agli utenti self-hosted.

:person_raising_hand: Livello utente richiesto: Amministratore di sistema
:desktop_computer: Accesso alla console richiesto

In determinate situazioni, un avviso emesso a un utente potrebbe dover essere ritirato. Questa azione comporta la rimozione dell’avviso tramite la console, accessibile a coloro che hanno accesso al server. Se sei un cliente ospitato, contatta il team di Discourse (team@discourse.org) per assistenza con questa procedura.

Comprendere gli avvisi utente

Gli avvisi ufficiali coinvolgono due elementi di dati nel database di Discourse:

  1. Un record nella tabella user_warnings che collega l’avviso a un utente e a un argomento.
  2. L’argomento del messaggio privato associato ha il suo subtype impostato su "moderator_warning".

Per annullare completamente un avviso, è necessario affrontare entrambi: il record user_warnings deve essere eliminato e il sottotipo dell’argomento deve essere reimpostato.

Rimozione di un avviso ufficiale

Per rimuovere un avviso, segui questi passaggi:

  1. Accedi alla console del server:

    • Usa SSH per connetterti al tuo server Discourse.
    • Entra nella console con i seguenti comandi:
      cd /var/discourse/
      ./launcher enter app
      rails console
      
  2. Rimuovi l’avviso più recente:
    Se l’avviso che desideri eliminare è l’ultimo, esegui:

    warning = UserWarning.last
    warning.topic.update(subtype: TopicSubtype.user_to_user)
    warning.destroy
    
  3. Trova e rimuovi un avviso specifico:
    Se l’avviso non era l’ultimo, cerca l’avviso specifico utilizzando l’user_id:

    UserWarning.where(user_id: the_user_id)
    

    Questo restituirà un array di avvisi relativi all’utente. Una volta trovato l’id corretto, eliminalo usando:

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

L’eliminazione del record di avviso e il ripristino del sottotipo dell’argomento rimuoveranno l’avviso dal conteggio degli avvisi dell’utente e deselezioneranno il PM come avviso ufficiale. Il messaggio privato stesso non verrà eliminato.

20 Mi Piace

C’è la possibilità di condividere i passaggi necessari per accedere alla Console? Ho provato a cercare su Google, ma ogni guida sembra dare per scontato che l’utente sappia già come farlo.

Assumendo che tu abbia seguito la guida standard di installazione, dovresti accedere al server via SSH ed eseguire:

cd /var/discourse/
./launcher enter app
rails console
3 Mi Piace

Ciao @JammyDodger. Forse ci deve essere un link magico che collega “console” e/o “rails” (o forse “rails console”) a

2 Mi Piace

Hmm. È un’idea. :thinking: Sono già stato scottato prima però. :slight_smile:

Terrò d’occhio ora che l’hai detto e vedrò quanto spesso si presenta. :+1:


Stiamo scorrendo la documentazione al momento, quindi forse in questo caso sarebbe bene aggiungere le istruzioni complete nella guida.

3 Mi Piace

O forse la sezione sarà “cose che puoi fare in rails” e la sezione Informazioni o quant’altro sarà sufficiente.

Non sarebbe forse molto più semplice gestirli come penalità e avere un registro di tutti gli avvertimenti ufficiali inviati agli amministratori e ai moderatori per gestirli in qualsiasi momento? Diventa molto difficile quando un moderatore avverte accidentalmente un utente con un nome simile e poi deve contattare il manutentore del sito affinché risolva il problema.

1 Mi Piace

Penso che ci sia una richiesta di funzionalità (Feature request) qui:

2 Mi Piace

C’è un modo per farlo anche tramite API e non solo tramite la console di Rails?