Anomalie #13898
ferméVISA / AVIS : tous les utilisateurs n'apparaissent pas dans les listes déroulantes
Description
Problème client ;
Lorsque je veux ajouter des personnes dans le circuit de validation je n'ai pas accès à l'ensemble des utilisateurs depuis la barre de recherche. Je suis restreint à un nombre limité d'utilisateurs.
Analyse :
En tant qu'user je souhaite ajouter des personnes spécifiques en visa mais je ne les vois pas dans la liste déroulante au moment de définir mon circuit de visa
Robin = Responsable seulement, Responsable à les droits de viser et de signer les courriers
Concrètement : je cherche Robin dans la liste de circuit de visa, il n’apparaît pas.
Coté serveur, dans le log des postgres, j'ai :
SELECT DISTINCT users.id, users.firstname, users.lastname
FROM users, usergroup_content, usergroups, usergroups_services
WHERE usergroups.group_id = usergroups_services.group_id AND usergroups.id = usergroup_content.group_id AND usergroup_content.user_id = users.id
AND usergroups_services.service_id in ($1,$2)
AND users.user_id not in ($3)
AND users.status not in ($4,$5)
ORDER BY users.lastname LIMIT 50
avec :
parameters: $1 = 'visa_documents', $2 = 'sign_document', $3 = 'superadmin', $4 = 'DEL', $5 = 'SPD'
test de la requête en base :
SELECT DISTINCT users.id, users.firstname, users.lastname
FROM users, usergroup_content, usergroups, usergroups_services
WHERE usergroups.group_id = usergroups_services.group_id AND usergroups.id = usergroup_content.group_id AND usergroup_content.user_id = users.id
AND usergroups_services.service_id in ('visa_documents','sign_document')
AND users.user_id not in ('superadmin')
AND users.status not in ('DEL','SPD')
ORDER BY users.lastname LIMIT 50
j'obtiens une liste limité a 50 lignes, soit environ la moitié des users qui devraient s'afficher :
--> je recommence en enlevant LIMIT 50
Tout s'affiche commme il faut.
ATTENTION : Par extension, le ticket https://forge.maarch.org/issues/13889 concernant le même problème coté Avis est peut être lié à cette erreur.
Fichiers