api: don't escape result of event_display_template (#55220)

This commit is contained in:
Lauréline Guérin 2021-06-29 10:32:05 +02:00
parent 886f316e5c
commit daf613525d
No known key found for this signature in database
GPG Key ID: 1FAB9B9B4F93D473
2 changed files with 6 additions and 4 deletions

View File

@ -428,7 +428,9 @@ def get_event_text(event, agenda, day=None):
event_text = force_text(event)
if agenda.event_display_template:
try:
event_text = Template(agenda.event_display_template).render(Context({'event': event}))
event_text = Template(agenda.event_display_template).render(
Context({'event': event}, autoescape=False)
)
except (VariableDoesNotExist, TemplateSyntaxError):
pass
elif event.label and event.primary_event is not None:

View File

@ -584,7 +584,7 @@ def test_recurring_events_api(app, user, freezer):
)
base_event = Event.objects.create(
slug='abc',
label='Test',
label="Rock'n roll",
start_datetime=localtime(),
recurrence_days=[localtime().weekday()],
places=5,
@ -596,7 +596,7 @@ def test_recurring_events_api(app, user, freezer):
assert len(data) == 4
assert data[0]['id'] == 'abc:2021-01-19-1305'
assert data[0]['datetime'] == '2021-01-19 13:05:00'
assert data[0]['text'] == 'Test (Jan. 19, 2021, 1:05 p.m.)'
assert data[0]['text'] == "Rock'n roll (Jan. 19, 2021, 1:05 p.m.)"
assert data[3]['id'] == 'abc:2021-02-09-1305'
assert Event.objects.count() == 1
@ -654,7 +654,7 @@ def test_recurring_events_api(app, user, freezer):
agenda.event_display_template = '{{ event.label }} - {{ event.start_datetime }}'
agenda.save()
resp = app.get('/api/agenda/%s/datetimes/' % agenda.slug)
assert resp.json['data'][0]['text'] == 'Test - Jan. 19, 2021, 1:05 p.m.'
assert resp.json['data'][0]['text'] == "Rock'n roll - Jan. 19, 2021, 1:05 p.m."
def test_recurring_events_api_various_times(app, user, mock_now):