From 66a058fac93ea8e14b93d9b4e3826f928731640c Mon Sep 17 00:00:00 2001 From: Valentin Deniaud Date: Wed, 26 May 2021 11:34:02 +0200 Subject: [PATCH] manager: avoid validation error on journal date search (#54295) --- src/authentic2/manager/journal_views.py | 5 +++-- tests/test_manager_journal.py | 6 ++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/authentic2/manager/journal_views.py b/src/authentic2/manager/journal_views.py index 70e8fce2..77f061a2 100644 --- a/src/authentic2/manager/journal_views.py +++ b/src/authentic2/manager/journal_views.py @@ -104,12 +104,13 @@ class JournalForm(JournalForm): def clean_event_type(self): patterns = self.cleaned_data['event_type'].split(',') qs_filter = functools.reduce(Q.__or__, (Q(name__regex=pattern) for pattern in patterns)) - return EventType.objects.filter(qs_filter) + self.cleaned_data['_event_type'] = EventType.objects.filter(qs_filter) + return self.cleaned_data['event_type'] def get_queryset(self, **kwargs): qs = super().get_queryset(**kwargs) - event_type = self.cleaned_data.get('event_type') + event_type = self.cleaned_data.get('_event_type') if event_type: qs = qs.filter(type__in=event_type) diff --git a/tests/test_manager_journal.py b/tests/test_manager_journal.py index 2211ff87..3a5fda34 100644 --- a/tests/test_manager_journal.py +++ b/tests/test_manager_journal.py @@ -952,8 +952,14 @@ def test_roles_journal(app, superuser, events): def test_date_navigation(app, superuser, events): response = login(app, user=superuser, path="/manage/journal/") response = response.click('2020') + assert not response.context['form'].errors + response = response.click('January') response = response.click('1') + + content = extract_journal(response) + assert all(item['timestamp'].startswith('Jan. 1, 2020') for item in content) + response = response.click('January 2020') response = response.click('2020') response = response.click('All dates') -- 2.20.1