Projet

Général

Profil

Development #35771

planitec : champs personnalisés sur réservation

Ajouté par Emmanuel Cazenave il y a plus de 4 ans. Mis à jour il y a plus de 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
03 septembre 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

La dernière version de l'API Planitec permet d'ajouter/modifier des champs personnalisés sur une réservation.

A implémenter ici sur endpoint de création de réservation et mise à jour de réservation.


Fichiers

Révisions associées

Révision 8db63942 (diff)
Ajouté par Emmanuel Cazenave il y a plus de 4 ans

planitec: handle extensions on reservation (#35771)

Historique

#2

Mis à jour par Emmanuel Cazenave il y a plus de 4 ans

Je ne gère que le type 'string' parce que c'est le cas d'usage.

Et pour ne pas à avoir à écrire des dictionnaires python coté wcs dans les appels webservice, je propose un format aplati :

'extension_0_name': 'foo'
'extension_0_value': 'foovalue'
'extension_1_name': 'bar'
'extension_1_value': 'barvalue'
#3

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

Je trouve la partie avec le split un peu compliquée, j'aurais fait :

    if field_name.startswith('extension_'):
        try:
             extension_id, extension_property = field_name[10:].split('_', 1)
        except ValueError:
            raise APIError("Wrong extension format for : '%s'" % field_name)
        extensions[extension_id][extension_property] = field_value

et en dessous dans la vérification de la présence de name et value, un truc explicite au lieu du double for:

     if 'name' not in extension or 'value' not in extension:
         raise APIError("Missing '%s' in extension" % key)

Voilà... mais tu peux pousser ton code... ou le refaire le train de retour. À ton aise.

(Aussi, les tests ne couvrent pas les cas non passants)

#4

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

  • Statut changé de Solution proposée à Solution validée

(je valide donc quand même, hein)

#5

Mis à jour par Emmanuel Cazenave il y a plus de 4 ans

Yes beaucoup mieux avec ta simplification, tests étendus également, le tout dans la branche (j'attends une confirmation du métier dans #35664 pour pousser ça).

#6

Mis à jour par Emmanuel Cazenave il y a plus de 4 ans

  • Statut changé de Solution validée à Résolu (à déployer)

Ça ne marche pas (ça ne fait rien) mais je pousse quand même pour permettre une éventuelle séance de debug avec l'éditeur, je ne comprends pas le problème.

commit 8db639426feb1d497fca0e427851eb7e3a734299
Author: Emmanuel Cazenave <ecazenave@entrouvert.com>
Date:   Mon Sep 9 15:06:15 2019 +0200

    planitec: handle extensions on reservation (#35771)
#7

Mis à jour par Frédéric Péters il y a plus de 4 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF