Tâche #31576
Scénario #31338: En mode multi-établissement, la reconnaissance d'utilisateur à partir du Elenoet et de la date de naissance n'est pas pertinente
Mettre à jour l'algorithme "eleve_exists"
Début:
25/01/2021
Echéance:
% réalisé:
100%
Restant à faire (heures):
0.0
Révisions associées
Test "Elenoet+date" uniquement si INE (intid) indisponible
Ref: #31576
Historique
#1 Mis à jour par Joël Cuissinat il y a environ 3 ans
$ grep -A34 eleve_exists scribe/linker.py
def _eleve_exists(eleve, user):
"""
recherche si un élève existe déjà dans l'annuaire
eleve : storage.Eleve()
user : eoleuser.Eleve()
"""
filtres = []
date = deformate_date(str(eleve.date))
# /!\ avec BE1D (#924) /!\ #
is_be1d = False
try:
if date == deformate_date(eleve.numero):
is_be1d = True
except:
pass
if not is_be1d:
# numéro interne + date
filtres.append("(&%s(employeeNumber=%s)(dateNaissance=%s))" % (ELEVE_FILTER,
str(eleve.numero), date))
# date + cn (cf. demande n°855)
filtres.append("(&%s(dateNaissance=%s)(cn=%s %s))" % (ELEVE_FILTER,
date, str(eleve.prenom), str(eleve.nom) ))
if eleve.int_id:
# id interne + date
filtres.append("(&%s(intid=%s)(dateNaissance=%s))" % (ELEVE_FILTER,
str(eleve.int_id), date))
# id interne + numéro interne
filtres.append("(&%s(intid=%s)(employeeNumber=%s))" % (ELEVE_FILTER,
str(eleve.int_id), str(eleve.numero) ))
for filtre in filtres:
res = user.ldap_admin._search_one(filtre, 'uid')
if res != {}:
return res['uid'][0]
return ''
#2 Mis à jour par Joël Cuissinat il y a environ 3 ans
- Statut changé de Nouveau à Résolu
- Assigné à mis à Joël Cuissinat
- % réalisé changé de 0 à 100
#3 Mis à jour par Joël Cuissinat il y a environ 3 ans
- Statut changé de Résolu à Fermé
- Restant à faire (heures) mis à 0.0
Modification diffusée : https://dev-eole.ac-dijon.fr/news/549