Benachrichtigung meldet X Nutzer zur Genehmigung, aber keine werden gefunden

Das sieht nach einem Fehler aus, aber ich kann nicht erkennen, wie er reproduziert werden kann.

Ich erhalte eine PM-Benachrichtigung, die besagt:

Aber wenn ich auf den Link zur Überprüfung klicke, gibt es keine ausstehenden Benutzer. Unter /admin/users sehe ich einige Benutzer, die ihre E-Mail-Adressen nicht validiert haben.

Ich kann nicht sagen, ob die Benachrichtigung eine falsche Anzahl anzeigt, ob es irgendwie Benutzer gibt, die auf die Genehmigung warten und nicht bei der Suche nach ihnen angezeigt werden, oder ob Benutzer, die ihre E-Mail nicht validiert haben, irgendwie als ausstehend für Benachrichtigungen, aber nicht für die Genehmigung gezählt werden.

3 „Gefällt mir“

Nicht, um die offensichtliche Frau zu sein, aber ist allow_new_registrations zufällig nicht angekreuzt? Offensichtlich haben Sie die Einstellung must_approve_users aktiviert, und ich bin mir nicht sicher, wie sich das auswirkt, wenn die Registrierung deaktiviert ist. :thinking: Ich würde denken, dass die Registrierungseinstellung die Kontoerstellung überschreiben und sie deaktivieren würde. Nein, das ergibt auch keinen Sinn…

Es ist mit ziemlicher Sicherheit etwas Offensichtliches, daher freue ich mich über Ihre Hilfe.

Ja, beide sind angekreuzt. Einige Leute werden registriert und genehmigt. Es ist nur so, dass die angegebene Anzahl der Wartenden nicht mit der in der Benachrichtigung angegebenen Anzahl übereinstimmt. Sie sagte mir 5, und in den letzten Tagen waren es nur 2.

1 „Gefällt mir“

Sehr seltsam in der Tat. Klingt irgendwie so, als ob etwas bei der Benutzerregistrierung abgelehnt wird, nachdem die Genehmigungsanfrage zur Überprüfung gesendet (gezählt) wurde…

3 „Gefällt mir“

Gibt es überprüfte Benutzer, wenn Sie alle überprüfbaren Elemente anzeigen, oder vielleicht aus den Protokollen des Personals? :person_shrugging:

Ich erhalte oft PMs/Erinnerungen an überprüfbare Elemente, die bereits überprüft wurden, sodass nichts angezeigt wird.

Ich ging davon aus, dass das Problem darin bestand, dass jemand anderes die Benutzer genehmigte, bevor ich (oder der Websitebesitzer) sie erreichten, aber ich kann die Zahlen auch so nicht nachvollziehen).

Kann ein Benutzer sein Konto löschen, bevor seine Registrierung genehmigt wurde?

Vielleicht? Ich glaube nicht, da sie sich anmelden müssten, um das zu tun, und sie können sich erst anmelden, wenn sie genehmigt wurden (aber ich habe den Code oder so etwas nicht überprüft)

Ich habe dieses Thema gefunden, während ich vor der Einreichung eines Fehlerberichts gesucht habe, daher füge ich es hier hinzu.

TL;DR Die Abfrage für die Benachrichtigung ist falsch, da sie auch abgelehnte Benutzer zählt.

Benachrichtigung: 16 Benutzer warten auf Genehmigung, klicken Sie auf den Link, sehen Sie nur 2.

Die Abfrage für die Benachrichtigung lautet:

puts AdminUserIndexQuery.new(query: "pending", stats: false).find_users_query.to_sql

SELECT "users".* FROM "users"
WHERE (suspended_till IS NULL OR suspended_till <= '2023-11-13 11:05:23.225614')
AND "users"."approved" = FALSE
AND "users"."active" = TRUE
ORDER BY users.created_at DESC,users.username

was in meinem Fall 16 Benutzer ergibt

[4479, 4472, 4456, 4446, 4443, 4430, 4302, 4291, 4206, 4199, 4178, 4168, 4131, 4061, 3677, 3642]

Wenn ich diese IDs in die Reviewables-Warteschlange einfüge, erhalte ich 2 Benutzer, die tatsächlich genehmigt werden müssen (Status 0) und 14 Benutzer, die bereits abgelehnt wurden (Status 2).

ReviewableUser.where(type: 'ReviewableUser')
  .where(target_id: ids)
  .pluck(:target_id, :status)

[[3642, 2], [3677, 2], [4061, 2], [4131, 2], [4168, 2],
[4178, 2], [4199, 2], [4206, 2], [4291, 2], [4302, 2],
[4430, 2], [4443, 2], [4446, 2], [4456, 2], [4472, 0], [4479, 0]]
2 „Gefällt mir“

Jemand hat sich heute darüber beschwert. Bevor ich all das gefunden habe, habe ich das Problem ungefähr so ​​„gelöst“:

bad=User.where(approved: false);
bad.each do |user| puts "https://community.open-emr.org/admin/users/#{user.id}/#{user.username}"; end;

Dies gibt die Admin-URLs für alle Benutzer aus, damit Sie sie dort genehmigen oder löschen können, denke ich.

Also ist das wohl immer noch ein Fehler.

Oh, und dann:

ids=bad.pluck(:id);
ReviewableUser.where(type: 'ReviewableUser')
  .where(target_id: ids)
  .pluck(:target_id, :status)

Gibt jetzt so etwas zurück:

=> [[4610, "rejected"], [4527, "rejected"], [4643, "rejected"], [4648, "rejected"]]

Vielleicht müssen diese also aus ReviewableUser gelöscht werden?

Oder einfach die Benutzer löschen?

2 „Gefällt mir“

Als Moderator (nicht als Administrator) konnte ich die abgelehnten Benutzer in der ungefilterten Überprüfungswarteschlange auflisten. Aber sie nicht im Benutzerbereich finden, noch vom Überprüfungswarteschlangen aus auf den Benutzereditor für abgelehnte Benutzer zugreifen.

Dies sind die Filterparameter für die Überprüfungswarteschlange für
https://gramps.discourse.group/review?additional_filters={}&sort_order=score&status=rejected&type=ReviewableUser

Entweder müssen Moderatoren also „Abgelehnte“ und Benutzer mit dem Ablehnungsstatus „Nein“ in den Benutzer-Tabs finden können oder vom Überprüfungswarteschlangen aus zum Benutzereditor navigieren können.

1 „Gefällt mir“