Nach der Migration erscheinen Meldungen "Benutzer warten auf Freigabe"

Vor etwa 8 Monaten habe ich eine Yahoo-Gruppe auf eine neue Discourse-Installation migriert, indem ich .mbox-Dateien von Yahoo heruntergeladen und in Discourse importiert habe. Der Import verlief erfolgreich, und obwohl die Community nicht besonders aktiv ist, scheinen die Nutzer das neue Format zu mögen. Doch die alte Gruppe existierte fast 20 Jahre lang, was zu eigenen Problemen führt.

Viele Mitglieder der Gruppe im Laufe ihrer Existenz haben E-Mail-Adressen, die nicht mehr gültig sind (und in einigen Fällen sind sie verstorben). Vielleicht ist das der Grund, warum ich regelmäßig eine Systemnachricht erhalte, die besagt, dass etwa 385 Benutzer auf eine Genehmigung warten, wie hier:


Wenn ich jedoch auf den Link „Bitte überprüfen Sie sie“ klicke, erscheint stattdessen folgendes:

Es ist zwar kein großes Problem, aber es ist doch etwas lästig – gibt es eine Möglichkeit, dies zu beheben?

@tshenry Gibt es eine Möglichkeit, diese vielleicht über die Befehlszeile zu entfernen?

Es gibt hier ein paar Dinge, die du tun kannst. Am einfachsten wäre es, folgende Site-Einstellung auf -1 zu setzen:

Der einzige Nachteil ist, dass du keine Erinnerung erhältst, wenn es ausstehende Benutzer gibt, die seit der angegebenen Anzahl von Stunden warten. Solange jemand in der Nähe ist, der neue Benutzer genehmigen kann, sollte das kein Problem sein.

Die Alternative wäre, die Benutzer entweder über die Kommandozeile zu löschen oder zu genehmigen. Lass mich wissen, welcher dieser Ansätze bevorzugt wird. Ich kann dir die entsprechenden Befehle für beide Varianten erstellen.

Ich denke, die Massenfreigabe wäre besser. Die Seite ist nicht sehr aktiv, daher bin ich nicht jeden Tag dort, um neue Benutzer freizugeben. Danke für die Hilfe.

Okay, cool, hier ist, was du tun kannst, um deinen spezifischen Fall zu lösen:

  1. Genehmige oder lehne alle ausstehenden Benutzer ab, die derzeit in deiner Warteschlange zur Überprüfung sichtbar sind.

  2. Erstelle ein Backup deiner Website.

  3. Öffne die Rails-Konsole deiner Website:

    cd /var/discourse
    ./launcher enter app
    rails c
    
  4. Hole dir die Benutzer, die in der Genehmigungsschleife stecken:

    pending_users = AdminUserIndexQuery.new(query: 'pending', stats: false).find_users_query
    
  5. Führe Folgendes aus, um sie zu genehmigen:

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

Das sollte es tun!

Das scheint tatsächlich funktioniert zu haben, danke. Falls nicht, werde ich das sehr bald wissen.

Jetzt sind drei Wochen vergangen (Entschuldigung), und ich habe die Nachricht nicht wieder gesehen. Ja, diese Reparatur hat funktioniert.

Hi!
Welcher Befehl wäre, um Benutzer massenhaft abzulehnen?
Ich habe vBulletin importiert und habe etwa 100 ausstehende Benutzer, allesamt Spam-Konten. :slight_smile: