Development #22930
api: vue ICS d'un rendez vous
0%
Description
ajouter un export ICS/iCalendar sur une réservation en cours, du genre « GET api/booking/(?P<booking_pk>\w+)/ics/ »
Objectif : permettre de récuperer le fichier ICS qui sera joint au mail de confirmation envoyé à l'usager (cf #22927)
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Thomas Noël il y a environ 6 ans
- Lié à Development #22927: Envoi par courriel d'un fichier iCalendar correspondant à un rdv dans Chrono ajouté
Mis à jour par Benjamin Dauvergne il y a environ 6 ans
Est-ce qu'on aura vraiment suffisamment de donnée dans chrono pour pondre un fichier ICS potable avec un lieu, un libellé, etc.. toute sorte d'informations qu'une personne s'attend à retrouver dans son calendrier ? Si ce n'est pas le cas mais qu'on veut quand même garder la fonctionnalité de génération d'un .ics dans chrono on peut permettre des paramètre sur cette URL (?place=mairie+annex&label=Rendez-vous+CNI
).
Mis à jour par Thomas Noël il y a environ 6 ans
Benjamin Dauvergne a écrit :
Est-ce qu'on aura vraiment suffisamment de donnée dans chrono pour pondre un fichier ICS potable avec un lieu, un libellé, etc.. toute sorte d'informations qu'une personne s'attend à retrouver dans son calendrier ?
Oui, on devrait les recevoir en payload lors de la réservation, et les stocker. Je pense qu'on pourrait se baser sur des infos de telles que celles de la https://tools.ietf.org/html/rfc5545#section-3.8 : ATTENDEE, DESCRIPTION, SUMMARY, COMMENT, LOCATION, GEO, ...
Si ce n'est pas le cas mais qu'on veut quand même garder la fonctionnalité de génération d'un .ics dans chrono on peut permettre des paramètre sur cette URL (
?place=mairie+annex&label=Rendez-vous+CNI
).
Effectivement, sans doute en collant avec les noms des éléments attendus dans le payload évoqué ci-dessus. Ça pourrait être faire partie de l'API sans attendre la gestion du payload évoqué ci-dessus.
Mis à jour par Thomas Noël il y a environ 6 ans
Exemple de rendez-vous reçu par mail attaché, ci-joint (ce n'est pas un modèle absolu, juste un exemple). Content-type: text/calendar
Mis à jour par Serghei Mihai il y a presque 6 ans
- Echéance mis à 18 juillet 2018
- Assigné à mis à Serghei Mihai
Mis à jour par Serghei Mihai il y a presque 6 ans
- Fichier 0001-api-add-booking-ics-view-22930.patch 0001-api-add-booking-ics-view-22930.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Un premier jet avec l'idée de rajout/completion d'attributs dans les paramètres GET.
Testé en local, envoyé le fichier sur mon téléphone et ça marche.
Mis à jour par Frédéric Péters il y a presque 6 ans
if self.backoffice_url: vevent.add('url').value = self.backoffice_url
On parle d'envoyer ces fichiers aux usagers.
Quelle motivation à refuser l'ics pour les rendez-vous en liste d'attente ou annulés ?
Mis à jour par Serghei Mihai il y a presque 6 ans
Frédéric Péters a écrit :
[...]
On parle d'envoyer ces fichiers aux usagers.
Quel boulet! Je corrige, je laisserai la possibilité d'envoyer une URL dans les extra ou le passer en GET pour rajouter l'url de la demande en front.
Quelle motivation à refuser l'ics pour les rendez-vous en liste d'attente ou annulés ?
Parce qu'il n'y a pas encore de rendez-vous.
Bon, normalement le workflow n'avance pas à l'étape de téléchargement de l'ics si le rendez-vous n'a pas été vraiment posé, mais je préférais quand même protéger la vue au cas ou il y a des pépins dans le workflow.
Mis à jour par Frédéric Péters il y a presque 6 ans
Parce qu'il n'y a pas encore de rendez-vous.
Regarde les workflows que ça donne; sans vérification on peut avoir ce déroulé :
- appel de réservation
- récup de l'ics
- si on est sur liste d'attente → saut vers un statut
- saut vers un autre
et quand on sortira la demande de la liste d'attente on pourra tout de suite envoyer un message avec l'ics.
Alors qu'autrement, il faut ajouter la récup de l'ics à deux endroits, pour également que ça soit fait après sortie de la liste d'attente.
Mis à jour par Serghei Mihai il y a presque 6 ans
Ok, tu as raison. Patch à jour.
Mis à jour par Frédéric Péters il y a presque 6 ans
response['Content-Disposition'] = 'inline; filename=%s.ics;' % booking.pk
On peut zapper ça il me semble.
Mis à jour par Serghei Mihai il y a presque 6 ans
Oui.
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Statut changé de Solution proposée à Solution validée
Ok ainsi.
Mis à jour par Serghei Mihai il y a plus de 5 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 0ce55339a70cc315b24b87f6d0193755da998667 (origin/master, origin/HEAD) Author: Serghei Mihai <smihai@entrouvert.com> Date: Tue Jul 17 10:51:58 2018 +0200 api: add booking ics view (#22930)
api: add booking ics view (#22930)