From 80082927b4ed228bb45ca9144135c5712f231334 Mon Sep 17 00:00:00 2001 From: Valentin Deniaud Date: Tue, 8 Dec 2020 17:24:03 +0100 Subject: [PATCH] agendas: include event description in reminders (#49034) --- .../templates/agendas/events_reminder_body.html | 12 ++++++++++++ .../templates/agendas/events_reminder_body.txt | 9 +++++++++ chrono/manager/views.py | 3 +++ tests/test_agendas.py | 13 ++++++++++++- tests/test_manager.py | 3 +++ 5 files changed, 39 insertions(+), 1 deletion(-) diff --git a/chrono/agendas/templates/agendas/events_reminder_body.html b/chrono/agendas/templates/agendas/events_reminder_body.html index 2134ca0..0b58f0a 100644 --- a/chrono/agendas/templates/agendas/events_reminder_body.html +++ b/chrono/agendas/templates/agendas/events_reminder_body.html @@ -10,6 +10,18 @@ You have a booking for event "{{ event }}", on {{ date }} at {{ time }}. {% endblocktrans %}

+{% if booking.event.description %} +

{{ booking.event.description }}

+{% endif %} + +{% if booking.event.pricing %} +

{% trans "Pricing:" %} {{ booking.event.pricing }}

+{% endif %} + +{% if booking.event.url %} +

{% trans "Details:" %} {{ booking.event.url }}

+{% endif %} + {% if email_extra_info %}

{{ email_extra_info }}

{% endif %} diff --git a/chrono/agendas/templates/agendas/events_reminder_body.txt b/chrono/agendas/templates/agendas/events_reminder_body.txt index f61bd3f..d046342 100644 --- a/chrono/agendas/templates/agendas/events_reminder_body.txt +++ b/chrono/agendas/templates/agendas/events_reminder_body.txt @@ -6,6 +6,15 @@ {% blocktrans trimmed with event=booking.event date=date|date:"l j F" time=date|time %} You have a booking for event "{{ event }}", on {{ date }} at {{ time }}. {% endblocktrans %} +{% if booking.event.description %} +{{ booking.event.description }} +{% endif %} +{% if booking.event.pricing %} +{% trans "Pricing:" %} {{ booking.event.pricing }} +{% endif %} +{% if booking.event.url %} +{% trans "Details:" %} {{ booking.event.url }} +{% endif %} {% if email_extra_info %} {{ email_extra_info }} {% endif %} diff --git a/chrono/manager/views.py b/chrono/manager/views.py index e146209..dfb4e32 100644 --- a/chrono/manager/views.py +++ b/chrono/manager/views.py @@ -1589,6 +1589,9 @@ class AgendaReminderPreviewView(ManagedAgendaMixin, TemplateView): event = Event( label='{{ event_label }}', start_datetime=datetime.datetime(year=2020, month=6, day=2, hour=14, minute=30), + description='%s (%s)' % ('{{ event_description }}', _('if any')), + pricing='%s (%s)' % ('{{ event_pricing }}', _('if any')), + url='%s (%s)' % ('{{ event_url }}', _('if any')), ) booking = Booking(user_display_label='{{ user_display_label }}', form_url='#') booking.event = event diff --git a/tests/test_agendas.py b/tests/test_agendas.py index 1b5cfee..f142387 100644 --- a/tests/test_agendas.py +++ b/tests/test_agendas.py @@ -1491,7 +1491,15 @@ def test_agenda_reminders_email_content(mailoutbox, freezer): agenda=agenda, days=1, send_email=True, email_extra_info='Do no forget ID card.' ) start_datetime = now() + datetime.timedelta(days=2) - event = Event.objects.create(agenda=agenda, start_datetime=start_datetime, places=10, label='Pool party') + event = Event.objects.create( + agenda=agenda, + start_datetime=start_datetime, + places=10, + label='Pool party', + description='Come !', + url='https://example.party', + pricing='10€', + ) booking = Booking.objects.create(event=event, user_email='t@test.org') @@ -1504,6 +1512,9 @@ def test_agenda_reminders_email_content(mailoutbox, freezer): for body in mail_bodies: assert 'Hi,' in body assert 'You have a booking for event "Pool party", on Friday 3 January at 2 p.m..' in body + assert 'Come !' in body + assert 'Pricing: 10€' in body + assert 'Details: https://example.party' in body assert 'Do no forget ID card.' in body assert not 'cancel' in body mailoutbox.clear() diff --git a/tests/test_manager.py b/tests/test_manager.py index 64ab7f4..7f886be 100644 --- a/tests/test_manager.py +++ b/tests/test_manager.py @@ -4761,6 +4761,9 @@ def test_manager_reminders_preview(app, admin_user): assert len(resp.pyquery.find('p.email-subject')) == 1 assert 'Subject: Reminder for your booking tomorrow at 2:30 p.m.' in resp.text assert 'You have a booking for event "{{ event_label }}", on Tuesday 2 June at 2:30 p.m..' in resp.text + assert '{{ event_description }} (if any)' in resp.text + assert '{{ event_pricing }}' in resp.text + assert '{{ event_url }}' in resp.text assert 'An ID will be required' in resp.text resp = resp.click('Return to settings') -- 2.20.1