Benachrichtigungen "must approve users" werden fälschlicherweise von alten Benutzern ausgelöst.

In den letzten Wochen haben bestimmte problematische (gesperrte) Benutzer Konten mit anstößigen/unangemessenen Benutzernamen erstellt. Um dies zu verhindern, habe ich die Einstellung „Mitarbeiter müssen alle neuen Benutzerkonten genehmigen, bevor sie auf die Website zugreifen dürfen.“ aktiviert, und sie erfordert tatsächlich eine Genehmigung für alle neuen Konten.

Allerdings werde ich alle paar Stunden auch über „Benutzer, die auf Genehmigung warten“ für alte Benutzer benachrichtigt, die vor Monaten oder sogar Jahren beigetreten sind, lange bevor diese Einstellung überhaupt aktiviert wurde.

Wenn ich auf die Benachrichtigung klicke, sehe ich:

Es warten neue Benutzeranmeldungen auf Genehmigung (oder Ablehnung), bevor sie auf dieses Forum zugreifen können. Bitte überprüfen Sie sie.

… aber wenn ich auf „Bitte überprüfen Sie sie“ klicke, wird angezeigt, dass keine vorhanden sind:

Es gibt keine Elemente zu überprüfen.

Wenn ich die Liste unter admin/users/list/new durchsuche, sehe ich, dass einige Benutzer tatsächlich als „nicht genehmigt“ aufgeführt sind. Ich kann keine Gemeinsamkeiten zwischen diesen „nicht genehmigten“ Benutzern finden, außer der Tatsache, dass alle von ihnen erstellt wurden, bevor die Einstellung geändert wurde. Einige von ihnen haben „Primäre E-Mail: Nicht verifiziert“, während andere verifiziert sind.

Ich habe versucht, jeden einzelnen manuell zu genehmigen, aber ich muss mehrere hundert „Seiten“ zurückscrollen und sehe keine einfache Möglichkeit, die Liste nach „nicht genehmigt“ zu filtern.

Gibt es eine schnelle Möglichkeit, jeden einzelnen vorhandenen Benutzer als „genehmigt“ zu markieren? Oder zumindest zu verhindern, dass Benachrichtigungen über diese alten Benutzer versendet werden?

2 „Gefällt mir“

Leiden Sie immer noch darunter?

Am Ende biss ich in den sauren Apfel und scrollte durch die gesamte Liste der Benutzer (manuell nach denen suchte, die „Genehmigt: Nein“ hatten) und rief dann das Profil jedes einzelnen auf und genehmigte sie einzeln :sweat:

2 „Gefällt mir“

Ich habe das gleiche Verhalten bemerkt und glaube, herausgefunden zu haben, warum das passiert (nicht warum diese Benutzer nicht in der Überprüfungswarteschlange erscheinen, sondern warum sie überhaupt nicht genehmigt wurden):

Soweit ich den Code verstehe[1], sollten die meisten Benutzer, die erstellt wurden, bevor die Einstellung aktiviert wurde, genehmigt werden, wenn Sie ‘must_approve_users’ aktivieren:

Dies funktionierte für die meisten meiner Benutzer, aber einige wurden nicht als genehmigt markiert.

Data Explorer Query
SELECT
  id as UserID, approved
FROM
  users
ORDER BY id
UserID Approved
1 true
3 true
8 true
10 false
11 false
12 false
13 true

Wenn Sie sich die Tabelle reviewables ansehen, können Sie feststellen, dass Benutzer mit einer UserID, die mit der target_id einer Chat-Nachricht übereinstimmt, nicht genehmigt wurden.

Data Explorer Query
SELECT id, target_id, target_type
FROM reviewables
ORDER BY target_id
id target_id target_type
6 9 ChatMessage
7 10 ChatMessage
8 11 ChatMessage
9 12 ChatMessage
1 2901 Post
2 2909 Post
5 2991 Post

Ich denke, es ist ein Fehler, dass Benutzer nicht genehmigt werden, wenn eine übereinstimmende target_id vorhanden ist, die einen anderen target_type als ‘user’ hat.


  1. Ich habe kaum Programmierkenntnisse ↩︎

3 „Gefällt mir“