Projet

Général

Profil

Tâche #16919

Distribution EOLE - Scénario #16962: Traitement express MEN (36-38)

Pettie correction sur le calcul de l'attribut ecs_rne

Ajouté par Renaud Dussol il y a plus de 7 ans. Mis à jour il y a plus de 7 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
31/08/2016
Echéance:
% réalisé:

100%

Temps estimé:
1.00 h
Temps passé:
Restant à faire (heures):
0.0

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

Révision b4ee182b (diff)
Ajouté par Emmanuel GARETTE il y a plus de 7 ans

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

Formats disponibles : Atom PDF