Project

General

Profile

Tâche #16919

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

Pettie correction sur le calcul de l'attribut ecs_rne

Added by Renaud Dussol over 6 years ago. Updated over 6 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Start date:
08/31/2016
Due date:
% Done:

100%

Estimated time:
1.00 h
Spent time:
Remaining (hours):
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é

Associated revisions

Revision b4ee182b (diff)
Added by Emmanuel GARETTE over 6 years ago

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

Also available in: Atom PDF