Projet

Général

Profil

0001-manager-avoid-validation-error-on-journal-date-searc.patch

Valentin Deniaud, 26 mai 2021 11:39

Télécharger (2,08 ko)

Voir les différences:

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(-)
src/authentic2/manager/journal_views.py
104 104
    def clean_event_type(self):
105 105
        patterns = self.cleaned_data['event_type'].split(',')
106 106
        qs_filter = functools.reduce(Q.__or__, (Q(name__regex=pattern) for pattern in patterns))
107
        return EventType.objects.filter(qs_filter)
107
        self.cleaned_data['_event_type'] = EventType.objects.filter(qs_filter)
108
        return self.cleaned_data['event_type']
108 109

  
109 110
    def get_queryset(self, **kwargs):
110 111
        qs = super().get_queryset(**kwargs)
111 112

  
112
        event_type = self.cleaned_data.get('event_type')
113
        event_type = self.cleaned_data.get('_event_type')
113 114
        if event_type:
114 115
            qs = qs.filter(type__in=event_type)
115 116

  
tests/test_manager_journal.py
952 952
def test_date_navigation(app, superuser, events):
953 953
    response = login(app, user=superuser, path="/manage/journal/")
954 954
    response = response.click('2020')
955
    assert not response.context['form'].errors
956

  
955 957
    response = response.click('January')
956 958
    response = response.click('1')
959

  
960
    content = extract_journal(response)
961
    assert all(item['timestamp'].startswith('Jan. 1, 2020') for item in content)
962

  
957 963
    response = response.click('January 2020')
958 964
    response = response.click('2020')
959 965
    response = response.click('All dates')
960
-