Skip to content

Commit cce99b1

Browse files
committed
Improve activity handbook documentation and extract reminder delay constant
Handbook improvements (all 5 languages): - Add 'Activity Designation' section explaining the 4 modes (hour_work, halfday_work, day_work, basket_preparation) with a warning about the administrative overhead of hour_work mode - Clarify the 'number of participants' feature is for family/groups, not for tracking multiple hours - Document the validation workflow (validate vs reject) and their effects - Note that the 3-day reminder email delay is fixed Code: - Extract 3.days magic number to REMINDER_DELAY constant in ActivityParticipation for clarity
1 parent 62c2af2 commit cce99b1

File tree

6 files changed

+91
-6
lines changed

6 files changed

+91
-6
lines changed

app/models/activity_participation.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# frozen_string_literal: true
22

33
class ActivityParticipation < ApplicationRecord
4+
REMINDER_DELAY = 3.days
5+
46
include HasState # only partially
57
include HasNote
68
include HasComment
@@ -127,7 +129,7 @@ def emails
127129
def reminderable?
128130
return if latest_reminder_sent_at?
129131

130-
future? && activity.date <= 3.days.from_now
132+
future? && activity.date <= REMINDER_DELAY.from_now
131133
end
132134

133135
private

app/views/handbook/activity.de.md.erb

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,18 @@ Diese Funktion ermöglicht es Ihnen, Aktivitäten sowie deren Teilnahme durch di
66

77
Sobald diese zusätzliche Funktion in [Ihren Einstellungen](/settings#organization_features_input) aktiviert ist, können Sie mit mehreren Einstellungen [die Funktionsweise der Aktivitäten und Teilnahmen konfigurieren](/settings#activity).
88

9+
### Bezeichnung der Aktivitäten
10+
11+
Die in [den Einstellungen](/settings#activity) gewählte Bezeichnung bestimmt die verwendete Terminologie und beeinflusst die Funktionsweise der Aktivitäten:
12+
13+
- **Arbeitsstunden**: Jede Aktivität muss genau 1 Stunde dauern. Die Anzahl der Teilnahmen entspricht der Anzahl der geleisteten Arbeitsstunden.
14+
15+
> ⚠️ Diese Bezeichnung erhöht den administrativen Aufwand erheblich. Ein 8-Stunden-Tag erfordert die Erstellung von 8 separaten Aktivitäten, für die sich das Mitglied jeweils einzeln anmelden muss und die vom Administrator separat bestätigt werden müssen. Aus diesem Grund wird die Bezeichnung "½ Arbeitstage" generell empfohlen.
16+
17+
- **½ Arbeitstage**: Empfohlen für die meisten Organisationen. Ermöglicht die Gruppierung der Arbeit in Halbtags-Sitzungen (Vormittag/Nachmittag) und reduziert so die Anzahl der zu verwaltenden Aktivitäten.
18+
- **Arbeitstage**: Für Organisationen, die Teilnahmen in ganzen Tagen zählen.
19+
- **Taschenbefüllung**: Für Organisationen, bei denen die Mitglieder an der Taschenbefüllung teilnehmen.
20+
921
### Anmeldeformular und Erneuerung
1022

1123
Die standardmäßig angeforderte Anzahl von Teilnahmen hängt von der für die Taschengröße konfigurierten Anzahl sowie den Ergänzungen der Mitgliedschaft ab.
@@ -24,7 +36,9 @@ Diese Logik kann mithilfe der [Liquid-Syntax](https://shopify.github.io/liquid)
2436

2537
Mitglieder können sich über ihr Mitgliedskonto für Aktivitäten anmelden. Sie können auch die Aktivitäten sehen, für die sie angemeldet sind, sowie die Teilnahmen, die sie absolviert haben, und deren Bestätigungen.
2638

27-
Bei der Anmeldung kann das Mitglied die Anzahl der Teilnehmer angeben (jeder Teilnehmer zählt als eine Teilnahme), eine Bemerkung hinterlassen und wählen, ob es seine Telefonnummer sowie seinen Abfahrtsort für Fahrgemeinschaften teilen möchte. Ihre Kontaktdaten werden dann mit den anderen Mitgliedern geteilt, die für dieselbe Aktivität angemeldet sind, in [der Erinnerungs-E-Mail, die 3 Tage vor der Aktivität gesendet wird](/mail_templates/activity_participation_reminder).
39+
Bei der Anmeldung kann das Mitglied die Anzahl der Teilnehmer angeben (z.B. wenn Familienmitglieder oder Freunde mitkommen), eine Bemerkung hinterlassen und wählen, ob es seine Telefonnummer sowie seinen Abfahrtsort für Fahrgemeinschaften teilen möchte. Jeder Teilnehmer zählt als eine bestätigte Teilnahme.
40+
41+
Ihre Kontaktdaten werden dann mit den anderen Mitgliedern geteilt, die für dieselbe Aktivität angemeldet sind, in [der Erinnerungs-E-Mail, die 3 Tage vor der Aktivität gesendet wird](/mail_templates/activity_participation_reminder). Diese 3-Tage-Frist ist fest und kann nicht geändert werden.
2842

2943
Eine Anmeldefrist (in Tagen) vor dem Datum der Aktivität kann in [den Einstellungen](/settings#activity) festgelegt werden, um Anmeldungen in letzter Minute zu vermeiden.
3044

@@ -42,6 +56,9 @@ Die von den Mitgliedern vorgenommenen Anmeldungen zu Aktivitäten sind in [der T
4256

4357
Teilnahmen an Aktivitäten (am selben Tag oder vergangene) können von Administratoren bestätigt oder abgelehnt werden. Die Mitglieder erhalten dann eine E-Mail [zur Bestätigung](/mail_templates/activity_participation_validated) oder [zur Ablehnung](/mail_templates/activity_participation_rejected) ihrer Teilnahme.
4458

59+
- **Bestätigung**: Das Mitglied ist erschienen und hat die Aktivität abgeschlossen. Die Teilnahme wird auf die erforderliche Gesamtzahl angerechnet.
60+
- **Ablehnung**: Das Mitglied ist nicht erschienen oder hat die Aktivität nicht abgeschlossen. Die Teilnahme wird nicht gezählt und der Platz wird wieder für andere Mitglieder verfügbar (sofern die Aktivität noch nicht vorbei ist).
61+
4562
## Abrechnung
4663

4764
Wenn ein Preis für eine Teilnahme festgelegt ist, können Sie einfach alle fehlenden Teilnahmen über [die Teilnahmeliste](/activity_participations) in Rechnung stellen. Jede in Rechnung gestellte Teilnahme wird automatisch als bestätigte Teilnahme betrachtet.

app/views/handbook/activity.en.md.erb

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,18 @@ This feature allows you to manage activities and member participation in them. T
66

77
Once this additional feature is activated in [your settings](/settings#organization_features_input), several settings allow you to [configure](/settings#activity) how activities and participations work.
88

9+
### Activity Designation
10+
11+
The designation chosen in [the settings](/settings#activity) determines the terminology used and influences how activities work:
12+
13+
- **Work hours**: Each activity must be exactly 1 hour long. The number of participations corresponds to the number of hours worked.
14+
15+
> ⚠️ This designation significantly increases administrative work. An 8-hour day requires creating 8 separate activities, each needing to be individually signed up for by the member and validated separately by an admin. For this reason, the "½ work days" designation is generally recommended.
16+
17+
- **½ work days**: Recommended for most organizations. Allows grouping work into half-day sessions (morning/afternoon), thus reducing the number of activities to manage.
18+
- **Work days**: For organizations counting participations in full days.
19+
- **Basket preparations**: For organizations where members participate in basket preparation.
20+
921
### Registration Form and Renewal
1022

1123
The default number of participations requested will depend on the number configured for the basket size and the membership complements.
@@ -24,7 +36,7 @@ This logic can be modified using [Liquid syntax](https://shopify.github.io/liqui
2436

2537
Members can sign up for activities from their member account. They can also see the activities they are signed up for, as well as the participations they have completed and their validations.
2638

27-
When signing up, the member can specify the number of participants (each participant counting as one participation), add a note, and choose to share their phone number and departure location for carpooling. Their contact information will then be shared with other members signed up for the same activity in [the reminder email sent 3 days before the activity](/mail_templates/activity_participation_reminder).
39+
When signing up, the member can specify the number of participants (each participant counting as one participation), add a note, and choose to share their phone number and departure location for carpooling. This allows a member to register multiple people at once (e.g., family members or friends coming to help). Their contact information will then be shared with other members signed up for the same activity in [the reminder email sent 3 days before the activity](/mail_templates/activity_participation_reminder). This 3-day delay is fixed and cannot be configured.
2840

2941
A sign-up deadline (in days) before the activity date can be defined in [the settings](/settings#activity) to avoid last-minute registrations.
3042

@@ -42,6 +54,9 @@ Activity sign-ups made by members are visible from [the participations list](/ac
4254

4355
Participations in activities (of the same day or past) can be validated or rejected by admins. Members will then receive an email [of confirmation](/mail_templates/activity_participation_validated) or [of rejection](/mail_templates/activity_participation_rejected) of their participation.
4456

57+
- **Validate**: The member showed up and completed the activity. The participation counts towards their required total.
58+
- **Reject**: The member did not show up or left early. The participation does not count, and the activity slot becomes available again for other members to sign up.
59+
4560
## Billing
4661

4762
If a price is defined for a participation, you can simply bill all missing participations from [the participations list](/activity_participations). Each billed participation will automatically be considered as a validated participation.

app/views/handbook/activity.fr.md.erb

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,18 @@ Cette fonctionnalité permet de gérer des activités ainsi que leurs participat
66

77
Une fois cette fonctionnalité supplémentaire activée dans [vos paramètres](/settings#organization_features_input), plusieurs réglages vous permettent de [configurer](/settings#activity) le fonctionnement des activités et participations.
88

9+
### Appellation des activités
10+
11+
L'appellation choisie dans [les paramètres](/settings#activity) détermine la terminologie utilisée et influence le fonctionnement des activités :
12+
13+
- **Heures de travail** : Chaque activité doit durer exactement 1 heure. Le nombre de participations correspond au nombre d'heures travaillées.
14+
15+
> ⚠️ Cette appellation augmente significativement le travail administratif. Une journée de 8 heures nécessite la création de 8 activités distinctes, chacune devant être inscrite individuellement par le membre et validée séparément par un admin. Pour cette raison, l'appellation "½ journées de travail" est généralement recommandée.
16+
17+
- **½ journées de travail** : Recommandé pour la plupart des organisations. Permet de regrouper le travail en sessions de demi-journées (matin/après-midi), réduisant ainsi le nombre d'activités à gérer.
18+
- **Journées de travail** : Pour les organisations comptant les participations en journées complètes.
19+
- **Mises en panier** : Pour les organisations où les membres participent à la préparation des paniers.
20+
921
### Formulaire d'inscription et renouvellement
1022

1123
Le nombre de participations demandées par défaut dépendra du nombre configuré pour la taille de panier ainsi que des compléments de l'abonnement.
@@ -26,7 +38,9 @@ Cette logique peut être modifiée en utilisant [la syntaxe Liquid](https://shop
2638

2739
Les membres peuvent s'inscrire à des activités depuis leur compte membre. Ils peuvent également voir les activités auxquelles ils/elles sont inscrit(e)s, ainsi que les participations qu'ils/elles ont effectuées et ainsi que leurs validations.
2840

29-
Lors de l'inscription, le membre peut spécifier le nombre de participants (chaque participant comptant pour une participation), une remarque et choisir de partager leur numéro de téléphone ainsi que son lieu de départ pour le covoiturage. Leur contact sera alors partagé avec les autres membres inscrits à la même activité dans [l'email de rappel envoyé 3 jours avant l'activité](/mail_templates/activity_participation_reminder).
41+
Lors de l'inscription, le membre peut spécifier le nombre de participants (par exemple, s'il vient accompagné de membres de sa famille), une remarque et choisir de partager leur numéro de téléphone ainsi que son lieu de départ pour le covoiturage. Chaque participant compte pour une participation validée.
42+
43+
Leur contact sera alors partagé avec les autres membres inscrits à la même activité dans [l'email de rappel envoyé 3 jours avant l'activité](/mail_templates/activity_participation_reminder). Ce délai de 3 jours est fixe et ne peut pas être modifié.
3044

3145
Une limite (en jours) d'inscription avant la date de l'activité peut être définie depuis [les paramètres](/settings#activity) pour éviter les inscriptions de dernière minute.
3246

@@ -44,6 +58,9 @@ Les inscriptions aux activités faites par les membres sont visibles depuis [la
4458

4559
Les participations aux activités (du même jour ou passées) peuvent être validées ou refusées par les admins. Les membres recevront alors un email [de confirmation](/mail_templates/activity_participation_validated) ou [de refus](/mail_templates/activity_participation_rejected) de leur participation.
4660

61+
- **Validation** : Confirme que le membre a bien effectué l'activité. La participation est comptabilisée.
62+
- **Refus** : À utiliser si le membre ne s'est pas présenté ou n'a pas effectué l'activité. La participation n'est pas comptabilisée et la place redevient disponible pour d'autres membres (si l'activité n'est pas encore passée).
63+
4764

4865
## Facturation
4966

app/views/handbook/activity.it.md.erb

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,18 @@ Questa funzione permette di gestire le attività e la loro partecipazione da par
66

77
Una volta attivata questa funzione aggiuntiva nelle [vostre impostazioni](/settings#organization_features_input), diverse impostazioni vi permettono di [configurare](/settings#activity) il funzionamento delle attività e delle partecipazioni.
88

9+
### Denominazione delle attività
10+
11+
La denominazione scelta nelle [impostazioni](/settings#activity) determina la terminologia utilizzata e influenza il funzionamento delle attività:
12+
13+
- **Ore di lavoro**: Ogni attività deve durare esattamente 1 ora. Il numero di partecipazioni corrisponde al numero di ore lavorate.
14+
15+
> ⚠️ Questa denominazione aumenta significativamente il lavoro amministrativo. Una giornata di 8 ore richiede la creazione di 8 attività separate, ognuna delle quali deve essere iscritta individualmente dal socio e convalidata separatamente dall'amministratore. Per questo motivo, la denominazione "½ giornate di lavoro" è generalmente consigliata.
16+
17+
- **½ giornate di lavoro**: Consigliato per la maggior parte delle organizzazioni. Permette di raggruppare il lavoro in sessioni di mezza giornata (mattina/pomeriggio), riducendo così il numero di attività da gestire.
18+
- **Giornate di lavoro**: Per le organizzazioni che contano le partecipazioni in giornate intere.
19+
- **Preparazione ceste**: Per le organizzazioni in cui i soci partecipano alla preparazione delle ceste.
20+
921
### Modulo di iscrizione e rinnovo
1022

1123
Il numero di partecipazioni richieste per impostazione predefinita dipenderà dal numero configurato per la dimensione della cesta e dai complementi dell'abbonamento.
@@ -24,7 +36,9 @@ Questa logica può essere modificata utilizzando [la sintassi Liquid](https://sh
2436

2537
I soci possono iscriversi alle attività dal loro account. Possono anche vedere le attività a cui sono iscritti, le partecipazioni che hanno effettuato e le loro convalide.
2638

27-
Al momento dell'iscrizione, il socio può specificare il numero di partecipanti (ogni partecipante conta come una partecipazione), lasciare un commento e scegliere di condividere il proprio numero di telefono e il luogo di partenza per il car sharing. Il loro contatto sarà quindi condiviso con gli altri soci iscritti alla stessa attività nell'[email di promemoria inviata 3 giorni prima dell'attività](/mail_templates/activity_participation_reminder).
39+
Al momento dell'iscrizione, il socio può specificare il numero di partecipanti (ad esempio, se viene accompagnato da familiari), lasciare un commento e scegliere di condividere il proprio numero di telefono e il luogo di partenza per il car sharing. Ogni partecipante conta come una partecipazione convalidata.
40+
41+
Il loro contatto sarà quindi condiviso con gli altri soci iscritti alla stessa attività nell'[email di promemoria inviata 3 giorni prima dell'attività](/mail_templates/activity_participation_reminder). Questo termine di 3 giorni è fisso e non può essere modificato.
2842

2943
Un limite (in giorni) di iscrizione prima della data dell'attività può essere definito nelle [impostazioni](/settings#activity) per evitare iscrizioni all'ultimo minuto.
3044

@@ -42,6 +56,9 @@ Le iscrizioni alle attività fatte dai soci sono visibili dalla [lista delle par
4256

4357
Le partecipazioni alle attività (dello stesso giorno o passate) possono essere convalidate o rifiutate dagli amministratori. I soci riceveranno quindi un'email di [conferma](/mail_templates/activity_participation_validated) o di [rifiuto](/mail_templates/activity_participation_rejected) della loro partecipazione.
4458

59+
- **Convalida**: Conferma che il socio ha effettivamente svolto l'attività. La partecipazione viene conteggiata.
60+
- **Rifiuto**: Da utilizzare se il socio non si è presentato o non ha completato l'attività. La partecipazione non viene conteggiata e il posto torna disponibile per altri soci (se l'attività non è ancora passata).
61+
4562
## Fatturazione
4663

4764
Se è definito un prezzo per una partecipazione, potete semplicemente fatturare tutte le partecipazioni mancanti dalla [lista delle partecipazioni](/activity_participations). Ogni partecipazione fatturata sarà automaticamente considerata come una partecipazione convalidata.

0 commit comments

Comments
 (0)