0001-manager-avoid-validation-error-on-journal-date-searc.patch
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 |
- |