[TICKET] Exporter les évènements
hydrielax opened this issue · 1 comments
hydrielax commented
Description
Rendre possible l'export d'évènement en format iCal (.ics), et la synchronisation d'agenda avec WebCal.
Definition of done
- Sur la page Events, en mode Grid:
- J'ai un bouton pour Synchroniser l'agenda
- Quand je clique dessus, une modal s'ouvre avec un lien webcal à copier, que je peux coller dans mon agenda perso. Les events sont alors synchronisés avec mon agenda, avec les filtres sélectionnés dans la vue en grille auparavant. Si un event est modifié sur NP, il l'est aussi dans mon agenda
- Sur la page Events, en mode Calendar :
- J'ai un bouton exporter pour télécharger tous les évènements affichés au format iCal (.ics)
- Lorsque je clique sur le bouton, le fichier est immédiatement téléchargé
- Sur la page de détails d'un Event :
- J'ai un bouton exporter pour télécharger l'évènement affiché
Stratégie technique
- Dans django, dans
apps/event/views.py
, j'ai une vue IcalFeed faite avec la libdjango-ical
(https://django-ical.readthedocs.io/) - Si j'appelle cette vue en http://, je télécharge un fichier .ics
- Si j'appelle cette vue en webcal:// depuis une appli de calendrier, je me synchronise avec l'agenda de Nantral Platform
- La view doit réutiliser les mêmes filtres que la méthode
get_queryset
de l'api_view pour les events, plus un filtreid
pour télécharger un seul event - La view doit renvoyer uniquement les évènements auxquels l'utilisateur a accès (permissions)
- La view ne doit rien renvoyer si l'utilisateur n'est pas connecté (question : comment se connecter avec webcal ? laisser tomber la synchro avec webcal si pas possible)
- Ajouter les boutons dans le front pour générer le lien webcal avec les filtres, et pour appeler le lien http avec les filtres aussi