From 230abc601cb31666a54063f79d3ec40f36a8f88a Mon Sep 17 00:00:00 2001 From: ynerant Date: Sun, 29 Mar 2020 01:39:24 +0100 Subject: [PATCH] Update Activity --- Apps/Activity.md | 60 +++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 57 insertions(+), 3 deletions(-) diff --git a/Apps/Activity.md b/Apps/Activity.md index 94b3ba2..ccc1951 100644 --- a/Apps/Activity.md +++ b/Apps/Activity.md @@ -1,4 +1,58 @@ -# Application Activity +# Application Activités -## Models -![models_activity.svg](uploads/31774782fa098f3bf2718c6796f648d9/models_activity.svg) \ No newline at end of file +L'application activités gère les différentes activités liées au BDE. Elle permet entre autres de créer des activités qui peuvent être diffusées via des calendriers ou la mailing list d'événements. Elle permet aussi de réguler l'accès aux événements, en s'assurant que leur note est positive. Elle permet enfin de gérer les invités. + +## Modèles + +L'application comporte 5 modèles : activités, types d'activité, invités, entrées et transactions d'invitation. + +### Types d'activité + +Les activités sont triées par type (pots, soirées de club, ...), et chaque type regroupe diverses informations : + +* Nom du type +* Possibilité d'inviter des non-adhérents (booléen) +* Prix d'invitation (entier, centimes à débiter sur la note de l'hôte) + +### Activités + +Le modèle d'activité regroupe les informations liées à l'activité même : + +* Nom de l'activité +* Description de l'activité +* Créateur, personne qui a proposé l'activité +* Club ayant organisé l'activité +* Note sur laquelle verser les crédits d'invitation (peut être nul si non concerné) +* Club invité (généralement le club Kfet) +* Date et heure de début +* Date et heure de fin +* Activité valide (booléen) +* Activité ouverte (booléen) + +### Entrées + +Une instance de ce modèle est créé dès que quelqu'un est inscrit à l'activité. Sont stockées les informations suivantes : + +* Activité concernée (clé étrangère) +* Heure d'entrée +* Note de la personne entrée, ou hôte s'il s'agit d'un invité (clé étrangère vers `NoteUser`) +* Invité (`OneToOneField` vers `Guest`, `None` si c'est la personne elle-même qui rentre et non son invité) + +Il n'est pas possible de créer une entrée si la note est en négatif. + +### Invités + +Les adhérents ont la possibilité d'inviter des amis. Pour cela, les différentes informations sont enregistrées : + +* Activité concernée (clé étrangère) +* Nom de famille +* Prénom +* Note de la personne ayant invité + +### Transactions d'invitation + +On étend le modèle `Transaction` de l'application note afin de supporter les transactions d'invitation. Elles ne comportent qu'un champ supplémentaire, de type `OneToOneField` vers `Guest`. + +Ce modèle aurait pu appartenir à l'application `note`, mais afin de rester modulaire et que l'application `note` ne dépende pas de cette application, on procède de cette manière. + +![model_activity.svg](uploads/3082c8427bf42508084e9fd066d74595/activity.svg) \ No newline at end of file