Tâche #16919
Distribution EOLE - Scénario #16962: Traitement express MEN (36-38)
Pettie correction sur le calcul de l'attribut ecs_rne
Description
Fichier /ush/share/sso/user_infos/ecs_rne.py
Afin de pouvoir traiter :
- les personnes qui ont un FrEduRne à "X" (cas de beaucoup d'agents de l'académie qui peuvent avoir accès au PIA)
- Les personnes qui ont un FrEduRne mal normé (cas de certains agents du privé à Nice, possible dans d'autres académies)
Lignes 18 à 24 :
for affectation in FrEduRne:
arr=affectation.split("$")
r1=arr[0]
r2=arr[4]
if r1 != r2:
r1=r2
rnes.append(r1.upper())
Remplacer par :
for affectation in FrEduRne:
if "$" in affectation:
arr=affectation.split("$")
r1=arr[0]
try:
r2=arr[4]
except IndexError:
r2=r1
if r1 != r2:
r1=r2
rnes.append(r1.upper())
else:
rnes.append(affectation)
Le if/else : si un FreduRne n'est pas correctement normé (attributs séparés par des $), on initialise quand même à la valeur du FrEduRne (en général "X"), ce qui permet d'être non-bloquant notamment dans les applis envole qui se basent sur cette valeur, comme edispactcher/xdesktop.
Le try/catch : on fait un test pour voir si on n'a pas assez d'attributs, et si c'est le cas on ne garde que la première valeur.
Actuellement on a des erreurs au moment du calcul de l'attribut (IndexError) et l'attribut n'est pas retourné
Associated revisions
attribut ecs_rne ne fonctionne pas pour des annuaires non conforme (ref #16919 @1h)
History
#1 Updated by Emmanuel GARETTE over 6 years ago
- Status changed from Nouveau to En attente d'informations
- Assigned To set to Emmanuel GARETTE
Ce code me semble inutilement complexe (r2 ne sert a rien, r1 est toujours égale à r2, ...).
Je propose la correction suivante :
for affectation in FrEduRne: arr=affectation.split("$") if len(arr) > 4: rnes.append(arr[4].upper()) else: rnes.append(arr[0].upper())
#2 Updated by Renaud Dussol over 6 years ago
C'est bon, plus d'erreur lors du calcul de l'attribut !
J'ai mis le debug de ecs_profil.py à True, et dans les logs :
avant correction :
|o|===> ecs_profil: Utilisation de title=ENS
|o|===> ecs_profil: =>ecs_rne with FrEduRne=['X']
! Erreur lors du calcul des données de l'attribut 'ecs_rne' : list index out of range
après correction :
|o|===> ecs_profil: Utilisation de title=ENS |o|===> ecs_profil: =>ecs_rne with FrEduRne=['X'] |o|===> ecs_profil: =>ecs_rne rnes=['X']
Tu peux cloturer
Merci !
#3 Updated by Emmanuel GARETTE over 6 years ago
- Status changed from En attente d'informations to Nouveau
- Parent task set to #16962
#4 Updated by Emmanuel GARETTE over 6 years ago
- Status changed from Nouveau to En cours
#5 Updated by Emmanuel GARETTE over 6 years ago
- Estimated time set to 1.00 h
- Remaining (hours) set to 1.0
#6 Updated by Emmanuel GARETTE over 6 years ago
- % Done changed from 0 to 100
- Remaining (hours) changed from 1.0 to 0.25
Paquet refait en 2.5.2 et 2.6 + mise à jour du journal 2.5.2.
#7 Updated by Scrum Master over 6 years ago
- Status changed from En cours to Résolu
#8 Updated by Fabrice Barconnière over 6 years ago
- Status changed from Résolu to Fermé
- Remaining (hours) changed from 0.25 to 0.0