From 96dfa42c17d162758c2cd689818056f6e0582add Mon Sep 17 00:00:00 2001 From: Valentin Deniaud Date: Thu, 18 Nov 2021 15:10:49 +0100 Subject: [PATCH] journal: fix search by email (#58704) --- src/authentic2/manager/journal_views.py | 7 ++++--- tests/test_manager_journal.py | 6 ++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/authentic2/manager/journal_views.py b/src/authentic2/manager/journal_views.py index 1256b662..6bfe6d68 100644 --- a/src/authentic2/manager/journal_views.py +++ b/src/authentic2/manager/journal_views.py @@ -79,9 +79,10 @@ class JournalSearchEngine(BaseJournalSearchEngine): def search_by_email(self, email): yield from super().search_by_email(email) pks = list(DeletedUser.objects.filter(old_email=email).values_list('old_user_id', flat=True)) - yield Q(user_id__in=pks) - user_ct = ContentType.objects.get_for_model(User) - yield Q(reference_ids__contains=[n_2_pairing(user_ct.id, pk) for pk in pks]) + if pks: + yield Q(user_id__in=pks) + user_ct = ContentType.objects.get_for_model(User) + yield Q(reference_ids__contains=[n_2_pairing(user_ct.id, pk) for pk in pks]) @classmethod def search_by_event_documentation(cls): diff --git a/tests/test_manager_journal.py b/tests/test_manager_journal.py index 25f59846..d4d35fd6 100644 --- a/tests/test_manager_journal.py +++ b/tests/test_manager_journal.py @@ -1037,15 +1037,17 @@ def test_search(app, superuser, events): response.form.set('search', 'email:jane@example.com') response = response.form.submit() + assert len(response.pyquery('tbody tr')) == 1 assert ( - text_content(response.pyquery('tbody tr td.journal-list--message-column')[12]).strip() + text_content(response.pyquery('tbody tr td.journal-list--message-column')[0]).strip() == 'email change of user "Johnny doe" for email address "jane@example.com"' ) response.form.set('search', 'jane@example.com') response = response.form.submit() + assert len(response.pyquery('tbody tr')) == 1 assert ( - text_content(response.pyquery('tbody tr td.journal-list--message-column')[12]).strip() + text_content(response.pyquery('tbody tr td.journal-list--message-column')[0]).strip() == 'email change of user "Johnny doe" for email address "jane@example.com"' ) -- 2.30.2