mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-11-04 01:12:08 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			126 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			126 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
Application Activités
 | 
						||
=====================
 | 
						||
 | 
						||
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é⋅es.
 | 
						||
 | 
						||
Modèles
 | 
						||
-------
 | 
						||
 | 
						||
L'application comporte 6 modèles : activités, types d'activité, invité⋅es, entrées et transactions d'invitation et les ouvreur⋅ses.
 | 
						||
 | 
						||
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érent⋅es (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⋅rice, 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⋅e est inscrit⋅e à 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⋅e invité⋅e (clé étrangère vers ``NoteUser``)
 | 
						||
* Invité⋅e (``OneToOneField`` vers ``Guest``, ``None`` si c'est la personne elle-même qui rentre et non saon invité⋅e)
 | 
						||
 | 
						||
Il n'est pas possible de créer une entrée si la note est en négatif.
 | 
						||
 | 
						||
Invité⋅es
 | 
						||
~~~~~~~~~
 | 
						||
 | 
						||
Les adhérent⋅es ont la possibilité d'inviter des ami⋅es. Pour cela, les différentes informations sont enregistrées :
 | 
						||
 | 
						||
* Activité concernée (clé étrangère)
 | 
						||
* Nom de famille
 | 
						||
* Prénom
 | 
						||
* École
 | 
						||
* Note de la personne ayant invité
 | 
						||
 | 
						||
Certaines contraintes s'appliquent :
 | 
						||
 | 
						||
* Une personne ne peut pas être invitée plus de 5 fois par an (coupe nom/prénom)
 | 
						||
* Un⋅e adhérent⋅e ne peut pas inviter plus de 3 personnes par activité.
 | 
						||
 | 
						||
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.
 | 
						||
 | 
						||
Ouvreur⋅ses
 | 
						||
~~~~~~~~~~~
 | 
						||
 | 
						||
Depuis la page d'une activité, il est possible d'ajouter des personnes en tant qu'« ouvreur⋅se ». Cela permet à une
 | 
						||
personne sans aucun droit note de pouvoir faire les entrées d'une ``Activity``. Ce rôle n'est valable que pendant que
 | 
						||
l'activité est ouverte et sur aucune autre activité. Les ouvreur⋅ses ont aussi accès à l'interface des transactions.
 | 
						||
 | 
						||
Ce modèle regroupe :
 | 
						||
* Activité (clé étrangère)
 | 
						||
* Note (clé étrangère)
 | 
						||
 | 
						||
Graphe
 | 
						||
~~~~~~
 | 
						||
 | 
						||
.. image:: ../_static/img/graphs/activity.svg
 | 
						||
   :alt: Graphe de l'application activités
 | 
						||
 | 
						||
UI
 | 
						||
--
 | 
						||
 | 
						||
Création d'activités
 | 
						||
~~~~~~~~~~~~~~~~~~~~
 | 
						||
 | 
						||
N'importe quel⋅le adhérent⋅e Kfet peut suggérer l'ajout d'une activité via un formulaire.
 | 
						||
 | 
						||
Gestion des activités
 | 
						||
~~~~~~~~~~~~~~~~~~~~~
 | 
						||
 | 
						||
Les ayant-droit (Res[pot] et respos infos) peuvent valider les activités proposées. Ils peuvent également la modifier
 | 
						||
si besoin. Iels peuvent enfin la déclarer ouverte pour lancer l'accès aux entrées.
 | 
						||
 | 
						||
N'importe qui peut inviter des ami⋅es non adhérent⋅es, tant que les contraintes de nombre (un⋅e adhérent⋅e n'invite pas plus de
 | 
						||
trois personnes par activité et une personne ne peut pas être invitée plus de 5 fois par an). L'invitation est
 | 
						||
facturée à l'entrée.
 | 
						||
 | 
						||
Entrées aux soirées
 | 
						||
~~~~~~~~~~~~~~~~~~~
 | 
						||
 | 
						||
L'interface d'entrées est simple et ergonomique. Elle contient un champ de texte. À chaque fois que le champ est
 | 
						||
modifié, un tableau est affiché comprenant la liste des invité⋅es et des adhérent⋅es dont le prénom, le nom ou un alias
 | 
						||
de la note est acceptée par le texte entré.
 | 
						||
 | 
						||
En cliquant sur la ligne de la personne qui souhaite rentrer, s'il s'agit d'un⋅e adhérent⋅e, alors la personne est comptée
 | 
						||
comme entrée à l'activité, sous réserve que sa note soit positive. S'il s'agit d'un⋅e invité⋅e, alors 3 boutons
 | 
						||
apparaîssent, afin de régler la taxe d'invitation : l'un prélève directement depuis la note de l'hôte, les deux autres
 | 
						||
permettent un paiement par espèces ou par carte bancaire. En réalité, les deux derniers boutons enregistrent
 | 
						||
automatiquement un crédit sur la note de l'hôte, puis une transaction (de type ``GuestTransaction``) est faite depuis
 | 
						||
la note de l'hôte vers la note du club organisateur de l'événement.
 | 
						||
 | 
						||
Si une personne souhaite faire les entrées, il est possible de l'ajouter dans la liste des ouvreur⋅ses depuis la page
 | 
						||
de l'activité.
 |