Projet

Général

Profil

Bug #11273

agora+: new_school['id'] = u'%s' % school['ID'] / TypeError: string indices must be integers

Ajouté par Frédéric Péters il y a presque 8 ans. Mis à jour il y a environ 4 ans.

Statut:
Rejeté
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
09 juin 2016
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/passerelle/utils/jsonresponse.py", line 350, in api
    resp = f(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/passerelle/utils/__init__.py", line 104, in _wrapped_view
    return view_func(instance, request, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/passerelle/contrib/agoraplus/views.py", line 128, in get
    return self.get_data(request, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/passerelle/contrib/agoraplus/views.py", line 158, in get_data
    return self.object.get_school(family=self.get_family(), birthdate=birthdate, year_id=year_id)
  File "/usr/lib/python2.7/dist-packages/passerelle/contrib/agoraplus/models.py", line 180, in get_school
    return [normalize_school(school) for school in schools]
  File "/usr/lib/python2.7/dist-packages/passerelle/contrib/agoraplus/normalize.py", line 277, in normalize_school
    new_school['id'] = u'%s' % school['ID']
TypeError: string indices must be integers

Parce que le retour d'Agora+ a été :

{"success":"-1", "erreur" : "L\'identifiant de l\'etablissement est incorrect.Veuillez ins\xc3\xa9rer une valeur positive."}

Sur une requête GET etablissements/?p_id_rue=&p_btq=0&p_numero=1&p_id_ville=&p_date_naissance=04%2F03%2F2011&p_id_annee_ref=12

qui avait peut-être bien cette forme (supposition en lisant les logs, sans connaître le déroulé attendu précis), parce qu'avant la famille récupérée avait :

         "prenom" : "Elisa",
         "sexe" : "Féminin",
         "etablissementScolaire" : {
            "id" : "",
            "designation" : "" 
         }

En imaginant du coup que le plan était d'avoir le code suvant appelé mais que le school_id à '' a fait que non :

        if school_id:
            endpoint += '%s' % school_id
            return normalize_school(self.request(endpoint)[0])

Historique

#2

Mis à jour par Thomas Noël il y a environ 4 ans

  • Statut changé de Nouveau à Rejeté

Connecteur supprimé

Formats disponibles : Atom PDF