Add cron container and per-household timezone for auto-reminders
CI / test-and-package (push) Successful in 36s
CI / test-and-package (push) Successful in 36s
- docker-compose.yml: meal-cron service loops send_reminders_cron.py every 60s - send_reminders_cron.py: checks each household's local time, sends ntfy reminders at 10:00 (lunch) and 16:00 (dinner), guarded against duplicates - models.py: timezone, last_lunch_reminder, last_dinner_reminder on households - meals.py: /admin/timezone route for admins to set household timezone - dashboard: timezone selector (20 common zones) in Account Settings - i18n: 5 new translation keys for timezone strings - Dockerfile: copy send_reminders_cron.py - tests: 4 new timezone tests (admin set, non-admin denied, default UTC, auth) - docs: updated AGENTS.md
This commit is contained in:
@@ -366,6 +366,28 @@ TRANSLATIONS: dict[str, dict[str, str]] = {
|
||||
"fr": "Échec de l'envoi du test. Vérifiez votre URL ntfy et votre jeton.",
|
||||
"de": "Testbenachrichtigung fehlgeschlagen. Überprüfen Sie Ihre ntfy-URL und Ihr Token.",
|
||||
},
|
||||
|
||||
# ── Timezone ──
|
||||
"Household Timezone": {
|
||||
"fr": "Fuseau horaire du foyer",
|
||||
"de": "Zeitzone des Haushalts",
|
||||
},
|
||||
"Used to send reminders at 10:00 (lunch) and 16:00 (dinner) local time.": {
|
||||
"fr": "Utilisé pour envoyer les rappels à 10h00 (déjeuner) et 16h00 (dîner) heure locale.",
|
||||
"de": "Wird verwendet, um Erinnerungen um 10:00 (Mittagessen) und 16:00 (Abendessen) Ortszeit zu senden.",
|
||||
},
|
||||
"Only admins can change the timezone.": {
|
||||
"fr": "Seuls les administrateurs peuvent changer le fuseau horaire.",
|
||||
"de": "Nur Administratoren können die Zeitzone ändern.",
|
||||
},
|
||||
"Please select a timezone.": {
|
||||
"fr": "Veuillez sélectionner un fuseau horaire.",
|
||||
"de": "Bitte wählen Sie eine Zeitzone aus.",
|
||||
},
|
||||
"Timezone updated.": {
|
||||
"fr": "Fuseau horaire mis à jour.",
|
||||
"de": "Zeitzone aktualisiert.",
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user