Au cours des dernières semaines, certains utilisateurs problématiques (bannis) ont créé des comptes avec des noms d’utilisateur offensants/inappropriés. Pour éviter cela, j’ai activé le paramètre marqué « Le personnel doit approuver tous les nouveaux comptes d’utilisateurs avant qu’ils ne soient autorisés à accéder au site. » et cela nécessite effectivement l’approbation de tous les nouveaux comptes.
Cependant, de manière assez agaçante, toutes les quelques heures, je suis également informé des « utilisateurs en attente d’approbation » pour d’anciens utilisateurs qui ont rejoint il y a des mois, voire des années, bien avant que ce paramètre ne soit activé.
De nouvelles inscriptions d'utilisateurs attendent d'être approuvées (ou rejetées) avant de pouvoir accéder à ce forum. Veuillez les examiner.
… mais en cliquant sur « Veuillez les examiner », il s’avère qu’il n’y en a pas :
Il n'y a aucun élément à examiner.
En recherchant dans la liste admin/users/list/new, je constate que certains utilisateurs sont effectivement répertoriés comme « non approuvés ». Je ne trouve aucune caractéristique commune entre ces utilisateurs « non approuvés », à l’exception du fait qu’ils ont tous été créés avant que le paramètre ne soit activé. Certains d’entre eux ont « e-mail principal : Non vérifié », tandis que d’autres sont vérifiés.
J’ai essayé d’approuver chacun d’eux manuellement, mais je dois remonter plusieurs centaines de « pages » et je ne vois aucun moyen facile de filtrer la liste par « non approuvé ».
Existe-t-il un moyen rapide de marquer tous les utilisateurs existants comme « approuvés » ? Ou au moins d’empêcher l’envoi de notifications concernant ces anciens utilisateurs ?
Finalement, j’ai pris mon courage à deux mains et j’ai parcouru toute la liste des utilisateurs (en cherchant manuellement ceux qui avaient « Approuvé : Non »), puis j’ai accédé au profil de chacun et je les ai approuvés individuellement
J’ai remarqué le même comportement et je pense avoir trouvé pourquoi cela se produit (pas pourquoi ces utilisateurs n’apparaissent pas dans la file d’attente de révision, mais pourquoi ils n’ont pas été approuvés du tout) :
D’après ce que je comprends du code[1], lorsque vous activez ‘must_approve_users’, la plupart des utilisateurs créés avant que le paramètre ne soit activé devraient être approuvés :
Cela a fonctionné pour la plupart de mes utilisateurs, mais certains n’ont pas été marqués comme approuvés.
Requête Data Explorer
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
Lorsque vous regardez la table reviewables, vous pouvez remarquer que les utilisateurs dont l’ID correspond à l’ID cible d’un message de chat n’ont pas été approuvés.
Requête Data Explorer
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
Je pense que c’est un bug que les utilisateurs ne soient pas approuvés lorsqu’il existe un ID cible correspondant dont le type cible est différent de ‘user’.
Je n’ai quasiment aucune compétence en programmation ↩︎