mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-10-31 15:50:03 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			125 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			125 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
 | ||
| * 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é.
 |