manager: fix check page with empty values in extra_data filters (#79053)
gitea/chrono/pipeline/head This commit looks good Details

This commit is contained in:
Lauréline Guérin 2023-06-26 15:26:06 +02:00
parent 4492026242
commit 90d3c29b72
No known key found for this signature in database
GPG Key ID: 1FAB9B9B4F93D473
2 changed files with 4 additions and 2 deletions

View File

@ -2628,6 +2628,8 @@ class EventCheckView(ViewableAgendaMixin, DetailView):
).values_list('extra_data', flat=True)
for extra_data in list(extra_data_from_booked) + list(extra_data_from_subscriptions):
for k, v in extra_data.items():
if not v:
continue
if k in agenda_filters and not isinstance(v, (list, dict)):
filters[k].add(v)
filters = sorted(filters.items())

View File

@ -1934,7 +1934,7 @@ def test_event_check_filters(check_types, app, admin_user):
user_external_id='user:4',
user_first_name='User',
user_last_name='foo-none bar-val2 reason-foo',
extra_data={'bar': 'val2'},
extra_data={'bar': 'val2', 'foo': None}, # foo is ignored, empty value
user_was_present=False,
user_check_type_slug='foo-reason',
)
@ -1943,7 +1943,7 @@ def test_event_check_filters(check_types, app, admin_user):
user_external_id='user:5',
user_first_name='User',
user_last_name='foo-none bar-val2 reason-bar',
extra_data={'bar': 'val2'},
extra_data={'bar': 'val2', 'foo': ''}, # foo is ignored, empty value
user_was_present=True,
user_check_type_slug='bar-reason',
)