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é
Révisions associées
attribut ecs_rne ne fonctionne pas pour des annuaires non conforme (ref #16919 @1h)
Historique
#1 Mis à jour par Emmanuel GARETTE il y a plus de 7 ans
- Statut changé de Nouveau à En attente d'informations
- Assigné à mis à 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 Mis à jour par Renaud Dussol il y a plus de 7 ans
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 Mis à jour par Emmanuel GARETTE il y a plus de 7 ans
- Statut changé de En attente d'informations à Nouveau
- Tâche parente mis à #16962
#4 Mis à jour par Emmanuel GARETTE il y a plus de 7 ans
- Statut changé de Nouveau à En cours
#5 Mis à jour par Emmanuel GARETTE il y a plus de 7 ans
- Temps estimé mis à 1.00 h
- Restant à faire (heures) mis à 1.0
#6 Mis à jour par Emmanuel GARETTE il y a plus de 7 ans
- % réalisé changé de 0 à 100
- Restant à faire (heures) changé de 1.0 à 0.25
Paquet refait en 2.5.2 et 2.6 + mise à jour du journal 2.5.2.
#7 Mis à jour par Scrum Master il y a plus de 7 ans
- Statut changé de En cours à Résolu
#8 Mis à jour par Fabrice Barconnière il y a plus de 7 ans
- Statut changé de Résolu à Fermé
- Restant à faire (heures) changé de 0.25 à 0.0