Cordae gestions de tâches
Ce ticket est un méta-ticket qui regroupera les sous tickets plus tard.
L'objectif ici est de permettre aux étudiants de planifier leur travail avec des tâches.
Vues
- Page d'un rapport
/report/<id>
: liste des tâches liées aux rapports en mode écriture - Page choix du rapport
- vue liste, lecture seule (à confirmer)
- vue calendaire, lecture seule (à confirmer)
- Possibilité de s'ajouter des tâches ? à confirmer
Définition des tâches
On utilise un modèle facile à transformer en icalendar VTODO pour pouvoir exporter dans un calendrier externe
Correspondance champs nécessaire => champs VTODO
-
Tâche :
- Nom => summary
- Description => comment
- 0 ou n assignés => attendee
login@host
- Date de fin => due
- Durée => duration
- Étiquettes => categories
- 0 ou n Sous étapes => sur l'enfant
x-prop
:x-parent
=uid
- Dépendance => after tâche ou étape
- statut d'achèvement => completed ou percent
- lié à un utilsiateur ou un rapport = le calendrier qui le porte
-
uid
autogénéré
-
Étape : comme tâche mais sans sous étape
-
Une sous tâche non assignée a la même assignation que son parent
-
Une tâche non assignée doit ressortir visuellement
-
Utilisation de fullcalendar pour le frontend, questions :
- Vue mois "simplifié" i.e juste des points, pas de texte
- Vue liste hierarchique
- Peut-on afficher des VTODO ou juste des VEvent avec le plugin Icalendar
Routes
-
Get::/calendar/todo?user=<idu>&report=<idr>&key=<hash>
affiche les tâches liées au raportidr
et / ou à l'utilisateuridu
selon les paramètres passés -
Post::/calendar/todo
créer une tâche -
Put::/calendar/todo/<id>
modifier une tâche -
Delete::/calendar/todo/<id>
supprimer une tâche
Permissions
- Pour créer / modifier / supprimer une tâche il faut que l'utilisateur connecté soit
- Membre du rapport de la tâche si associé à un rapport
- L'utilisateur de la tâche si la tâche est lié à un utilisateur
- Pour lire une tâche il faut que soit
- L'utilisateur connecté ait les droits sur la tâche
- Un paramètre contenant une clé (stocké où ?) soit passé Cela implique de stocker une clé sur l'utilisateur et sur le rapport pour récupérer les tâches
Edited by David Beniamine