Project

General

Profile

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"

Added by Joël Cuissinat 8 months ago. Updated 7 months ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Start date:
01/25/2021
Due date:
% Done:

100%

Remaining (hours):
0.0

Associated revisions

Revision d39118ab (diff)
Added by Joël Cuissinat 8 months ago

Test "Elenoet+date" uniquement si INE (intid) indisponible

Ref: #31576

History

#1 Updated by Joël Cuissinat 8 months ago


$ 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 Updated by Joël Cuissinat 8 months ago

  • Status changed from Nouveau to Résolu
  • Assigned To set to Joël Cuissinat
  • % Done changed from 0 to 100

#3 Updated by Joël Cuissinat 7 months ago

  • Status changed from Résolu to Fermé
  • Remaining (hours) set to 0.0

Modification diffusée : https://dev-eole.ac-dijon.fr/news/549

Also available in: Atom PDF