Projet

Général

Profil

Development #22930

api: vue ICS d'un rendez vous

Ajouté par Thomas Noël il y a environ 6 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
30 mars 2018
Echéance:
18 juillet 2018
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

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

invit.ics (1,09 ko) invit.ics Thomas Noël, 04 avril 2018 08:21
0001-api-add-booking-ics-view-22930.patch (10,4 ko) 0001-api-add-booking-ics-view-22930.patch Serghei Mihai, 18 juillet 2018 16:48
0001-api-add-booking-ics-view-22930.patch (9,59 ko) 0001-api-add-booking-ics-view-22930.patch Serghei Mihai, 18 juillet 2018 18:19
0001-api-add-booking-ics-view-22930.patch (9,42 ko) 0001-api-add-booking-ics-view-22930.patch Serghei Mihai, 18 juillet 2018 22:55

Demandes liées

Lié à Publik - Development #22927: Envoi par courriel d'un fichier iCalendar correspondant à un rdv dans ChronoFermé30 mars 201818 juillet 2018

Actions

Révisions associées

Révision 0ce55339 (diff)
Ajouté par Serghei Mihai il y a plus de 5 ans

api: add booking ics view (#22930)

Historique

#1

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é
#2

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).

#3

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.

#4

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

#5

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

  • Echéance mis à 18 juillet 2018
  • Assigné à mis à Serghei Mihai
#6

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

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.

#7

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 ?

#8

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.

#9

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.

#10

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

Ok, tu as raison. Patch à jour.

#11

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.

#13

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.

#14

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)
#15

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

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

Formats disponibles : Atom PDF