Projet

Général

Profil

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"

Ajouté par Joël Cuissinat il y a environ 3 ans. Mis à jour il y a environ 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
25/01/2021
Echéance:
% réalisé:

100%

Restant à faire (heures):
0.0

Révisions associées

Révision d39118ab (diff)
Ajouté par Joël Cuissinat il y a environ 3 ans

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

Formats disponibles : Atom PDF