-
Notifications
You must be signed in to change notification settings - Fork 42
Compteur temps
Raphael Odini edited this page Jun 12, 2023
·
7 revisions
Chaque compte-membre a un compteur temps. Il joue plusieurs rôles :
- récapituler tous les créneaux effectués par cycle
- à chaque fin de cycle, régulariser les surplus éventuels de bénévolat
Récapitulatif sur son espace membre | En détails |
---|---|
Code : voir surtout TimeLogEventListener
Le comportement du compteur temps peut varier en fonction des paramètres choisis par l'épicerie.
Paramètre | Détail | Exemple de valeur |
---|---|---|
due_duration_by_cycle |
Le nombre d'heures de bénévolat nécessaires par cycle |
180 (3h) |
max_time_at_end_of_shift |
à compléter | |
use_card_reader_to_validate_shifts |
Les créneaux sont-ils validés par une badgeuse (ou similaire) ? Si true , un créneau est considéré comme validé si il a bien été effectué |
true false
|
use_time_log_saving |
La possibilité de mettre du "temps" de côté (épargne). Voir l'issue #684 |
true false
|
actions possibles sur un créneau (et impactant le compteur temps) : réserver, libérer, valider, invalider, supprimer
use_card_reader_to_validate_shifts = false
Action | Effet | Détails techniques |
---|---|---|
Réservation d'un créneau (par un membre ou un admin) | le compteur temps est incrémenté de la durée du créneau | 1. shift_book ou shift_book_admin 2. ShiftBookedEvent 3. TimeLogEventListener:onShiftBooked 4. TimeLog::TYPE_SHIFT_VALIDATED
|
Libération d'un créneau | le log de temps correspondant au créneau initialement réservé est supprimé du compteur temps | 1. shift_free ou shift_free_admin 2. ShiftFreedEvent 3. TimeLogEventListener:onShiftFreed 4. suppression du log de temps correspondant |
Suppression d'un créneau |
use_card_reader_to_validate_shifts = true
Comment s'effectue la validation ?
- par une badgeuse (voir le fichier CardReaderController)
- et/ou via un bouton qui apparait coté admin sur chaque créneau passé (image)
- via un système développé à part (exemple des 400 coops)
Action | Effet | Détails techniques |
---|---|---|
Réservation d'un créneau (par un membre ou un admin) | pas d'action sur le compteur temps | 1. shift_book ou shift_book_admin 2. ShiftBookedEvent 3. TimeLogEventListener:onShiftBooked
|
Libération d'un créneau | le créneau n'a pas encore été effectué, pas d'action sur le compteur temps | 1. shift_free ou shift_free_admin 2. ShiftFreedEvent 3. TimeLogEventListener:onShiftFreed
|
Validation d'un créneau | le compteur temps est incrémenté de la durée du créneau | 1. shift_validate_admin (ou CardReaderController)2. ShiftValidatedEvent 3. TimeLogEventListener:onShiftValidated 4. TimeLog::TYPE_SHIFT_VALIDATED
|
Invalidation d'un créneau (ça peut arriver) | le compteur temps est décrémenté de la durée du créneau | 1. shift_validate_admin 2. ShiftInvalidatedEvent 3. TimeLogEventListener:onShiftInvalidated 4. TimeLog::TYPE_SHIFT_INVALIDATED
|
Suppression d'un créneau |
La commande CycleStartCommand est responsable de créer un MemberCycleEndEvent
au début du cycle (ou à chaque fin du cycle, ca dépend comment vous voyez les choses :) de chaque membre.
à compléter