Projet

Général

Profil

Development #17429

agora: rajouter les webservices d'inscription periscolaires

Ajouté par Serghei Mihai il y a presque 7 ans. Mis à jour il y a plus de 6 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
07 juillet 2017
Echéance:
07 juillet 2017
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

A partir de la spec en PJ.


Fichiers

Révisions associées

Révision 24c39fc6 (diff)
Ajouté par Serghei il y a plus de 6 ans

agoraplus: add periscol inscriptions endpoints (#17429)

Historique

#2

Mis à jour par Serghei Mihai il y a presque 7 ans

  • Echéance mis à 07 juillet 2017
  • Assigné à mis à Serghei Mihai
#3

Mis à jour par Serghei Mihai il y a presque 7 ans

Testé avec le jeu de données fourni dans la doc.

#4

Mis à jour par Thomas Noël il y a presque 7 ans

Il faudrait être clair sur l'histoire des dates. Clairement, dans Publik, on ne peut pas en envoyer. Donc il faut être sur que ça fonctionne sans.

Pour la partie qui sera l'affichage des résa en cours d'un enfant (get_periscol_child_enrollment_planning, utilisé via combo), il faut un webservice qui prennent le numéro de l'enfant, mais qui puisse aussi prendre un name_id en paramètre optionnel dans la query_string. Et si le name_id est présent, alors il faut vérifier que le child_id appartient à la famille liée.

#5

Mis à jour par Serghei Mihai il y a presque 7 ans

Thomas Noël a écrit :

Il faudrait être clair sur l'histoire des dates. Clairement, dans Publik, on ne peut pas en envoyer. Donc il faut être sur que ça fonctionne sans.

Les dates sont optionnels dans tous les appels, sauf celui de création d'une reservation. Et même dans ce cas la date vient d'une liste proposée par Agora.

Pour la partie qui sera l'affichage des résa en cours d'un enfant (get_periscol_child_enrollment_planning, utilisé via combo), il faut un webservice qui prennent le numéro de l'enfant, mais qui puisse aussi prendre un name_id en paramètre optionnel dans la query_string. Et si le name_id est présent, alors il faut vérifier que le child_id appartient à la famille liée.

Ok, j'avais pas vu ce cas. Je refais le patch.

#6

Mis à jour par Serghei Mihai il y a presque 7 ans

Et le check de l'identifiant de l'enfant si le name_id est précisé.

#7

Mis à jour par Thomas Noël il y a presque 7 ans

(manque le patch je crois)

#9

Mis à jour par Thomas Noël il y a presque 7 ans

"which" je l'appelerais "reserved_day"

Et renommer « child_in_name_id_family » en « is_child_in_name_id_family »

Mais surtout, dans cette fonction : if child_id in child['id']: ça doit plutôt être == je pense.

Et peut-être pour se donner bonne conscience, utiliser des urlencode (genre urlencode(('start_date', start_date),('end_date', end_date)) c'est quand même plus rassurant)

#10

Mis à jour par Serghei Mihai il y a presque 7 ans

Ok.
Les urlencode faits un par un car l'ordre des clés compte dans l'appel au webservice.

#11

Mis à jour par Thomas Noël il y a presque 7 ans

Astuce découverte grâce à Agora : quand tu envoies une liste de tuple (au lieu d'un dico), urlencode respecte l'ordre.

#13

Mis à jour par Thomas Noël il y a presque 7 ans

Il manque mon petit s/which/reserved_day/ ? A ce niveau, avoir -1/0/1 dans l'URL ça me semble pas une bonne idée, je serais pour le recevoir en query_string, avec -1 par défaut comme tu as prévu (ce qui veut dire que c'est facultatif ⇒ query_string).

Idem pour get_periscol_enrollments(self, child, service, date=None): service est clairement facultatif, il faut le passer en query_string. Et en profiter pour l'appeler d'un bout à l'autre "service_id", ça rend sinon la relecture assez relou.

Lors du normalize_periscol_enrollment, renvoyer l'URL /periscol/enrollment/(?P<enrollment_id>[\w-]+)/planning/, on aura ainsi pas besoin de la construire dans le formulaire (sur le principe de ce qui est fait dans chrono qui renvoie les URL des événements)

Et le enrollment_id qui revient à la fin reservation_id, aussi (renommer ce dernier "enrollment_id" comme partout ailleurs, là encore ça aide à comprendre)

(et en dehors de ça, j'ai encore du mal à voir comment on va utiliser tout ça dans wcs et combo)

#14

Mis à jour par Serghei Mihai il y a presque 7 ans

Ok pour passer les paramètres optionnels dans la query_string.

Je transforme enrollment_id en reservation_id dans le webservice de suppression d'une reservation car il s'agit bien d'une réservation à une activité. L'identifiant est celui de la réservation et non activité.

Fonctionnellement c'est demandé de pouvoir poser une reservation et la supprimer à travers des formulaires wcs sans précisions (de la part d'Alfortville).

#16

Mis à jour par Serghei Mihai il y a plus de 6 ans

Patch à jour avec corrections de quelques coquilles.
Fonctionnement validé en dev avec des formulaires de création et annulation de réservation.

#17

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

Ack

#18

Mis à jour par Serghei Mihai il y a plus de 6 ans

  • Statut changé de En cours à Résolu (à déployer)

J'ai rajouté le filtrage des plannings et des activités conformement aux specs fonctionnelles, validées avec Brice.

commit 24c39fc6653fa94009cacd64337f71f744f5ed3a (origin/master, origin/HEAD)
Author: Serghei <serghei.mihai@devlibre.net>
Date:   Fri Jul 7 11:02:01 2017 +0200

    agoraplus: add periscol inscriptions endpoints (#17429)

#19

Mis à jour par Serghei Mihai il y a plus de 6 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF