Messaggi "Utenti in attesa di approvazione" dopo la migrazione

Circa 8 mesi fa, ho migrato un gruppo Yahoo su una nuova installazione di Discourse scaricando file .mbox da Yahoo e importandoli in Discourse. L’importazione è andata bene e, sebbene non si tratti di una comunità particolarmente attiva, agli utenti sembra piacere il nuovo formato. Tuttavia, il vecchio gruppo esisteva da quasi 20 anni, il che comporta le proprie problematiche.

Molti membri del gruppo nel corso della sua esistenza hanno indirizzi email non più validi (e in alcuni casi, sono deceduti). E questo potrebbe essere il motivo per cui ricevo periodicamente un messaggio di sistema che mi informa che ci sono circa 385 utenti in attesa di approvazione, come in questo caso:


Ma quando faccio clic sul link “Si prega di esaminarli”, ottengo invece questo:

Non è certo un problema grave, ma è leggermente fastidioso: esiste un modo per risolvere?

@tshenry c’è un modo per rimuoverli dalla riga di comando, magari?

Ci sono alcune cose che puoi fare qui. La più semplice è impostare la seguente configurazione del sito su -1:

L’unico svantaggio è che non riceverai un promemoria se ci sono utenti in attesa che stanno aspettando per il numero di ore specificato. Finché c’è qualcuno disponibile che può approvare nuovi utenti, non dovrebbe essere un problema.

In alternativa, puoi eliminare o approvare gli utenti dalla riga di comando. Fammi sapere se preferisci uno di questi approcci. Posso preparare i comandi necessari per entrambi i casi.

Penso che l’approvazione in blocco possa essere la soluzione migliore. Il sito non è molto attivo, quindi non ci sono ogni giorno per approvare i nuovi utenti. Grazie per l’aiuto.

Ok, ecco cosa puoi fare per gestire il tuo caso specifico:

  1. Approva o rifiuta tutti gli utenti in sospeso attualmente visibili nella tua coda di revisione

  2. Esegui un backup del tuo sito

  3. Accedi alla console Rails del tuo sito

    cd /var/discourse
    ./launcher enter app
    rails c
    
  4. Recupera gli utenti bloccati in attesa di approvazione

    pending_users = AdminUserIndexQuery.new(query: 'pending', stats: false).find_users_query
    
  5. Esegui il seguente codice per approvarli

    pending_users.each do |u|
      u.approved = true
      u.approved_by = Discourse.system_user
      u.approved_at = Time.zone.now
      u.save!
    end
    

Dovrebbe essere tutto a posto!

Sembra proprio che abbia funzionato, grazie. Se non è così, lo saprò molto presto.

Ora sono passate tre settimane (scusa), e non ho più visto il messaggio. Sì, quella correzione ha fatto al caso nostro.

Ciao!
Qual sarebbe il comando per disapprovare in massa gli utenti?
Ho importato un vBulletin e ho circa 100 utenti in sospeso, tutti account spam. :slight_smile: