manager: fix check page with bad extra data values (#74872)
gitea/chrono/pipeline/head This commit looks good
Details
gitea/chrono/pipeline/head This commit looks good
Details
This commit is contained in:
parent
ebc237cf56
commit
c35dffb1bb
|
@ -724,7 +724,6 @@ def make_booking(event, payload, extra_data, primary_booking=None, in_waiting_li
|
||||||
def get_extra_data(request, payload):
|
def get_extra_data(request, payload):
|
||||||
extra_data = {}
|
extra_data = {}
|
||||||
for k, v in request.data.items():
|
for k, v in request.data.items():
|
||||||
print(k, v)
|
|
||||||
if k not in payload:
|
if k not in payload:
|
||||||
if isinstance(v, (list, dict)):
|
if isinstance(v, (list, dict)):
|
||||||
raise APIErrorBadRequest(N_('wrong type for extra_data %s value') % k)
|
raise APIErrorBadRequest(N_('wrong type for extra_data %s value') % k)
|
||||||
|
|
|
@ -2543,7 +2543,7 @@ class EventCheckView(ViewableAgendaMixin, DetailView):
|
||||||
).values_list('extra_data', flat=True)
|
).values_list('extra_data', flat=True)
|
||||||
for extra_data in list(extra_data_from_booked) + list(extra_data_from_subscriptions):
|
for extra_data in list(extra_data_from_booked) + list(extra_data_from_subscriptions):
|
||||||
for k, v in extra_data.items():
|
for k, v in extra_data.items():
|
||||||
if k in agenda_filters:
|
if k in agenda_filters and not isinstance(v, (list, dict)):
|
||||||
filters[k].add(v)
|
filters[k].add(v)
|
||||||
filters = sorted(filters.items())
|
filters = sorted(filters.items())
|
||||||
filters = {k: sorted(list(v)) for k, v in filters}
|
filters = {k: sorted(list(v)) for k, v in filters}
|
||||||
|
|
|
@ -1758,7 +1758,7 @@ def test_event_check_filters(check_types, app, admin_user):
|
||||||
user_external_id='user:1',
|
user_external_id='user:1',
|
||||||
user_first_name='User',
|
user_first_name='User',
|
||||||
user_last_name='foo-val1 bar-none presence',
|
user_last_name='foo-val1 bar-none presence',
|
||||||
extra_data={'foo': 'val1'},
|
extra_data={'foo': 'val1', 'bar': ['val1']}, # bar is ignored, wrong value
|
||||||
user_was_present=True,
|
user_was_present=True,
|
||||||
)
|
)
|
||||||
Booking.objects.create(
|
Booking.objects.create(
|
||||||
|
@ -1837,7 +1837,7 @@ def test_event_check_filters(check_types, app, admin_user):
|
||||||
user_external_id='subscription:1',
|
user_external_id='subscription:1',
|
||||||
user_first_name='Subscription',
|
user_first_name='Subscription',
|
||||||
user_last_name='foo-val1 bar-none',
|
user_last_name='foo-val1 bar-none',
|
||||||
extra_data={'foo': 'val1'},
|
extra_data={'foo': 'val1', 'bar': ['val1']}, # bar is ignored, wrong value
|
||||||
date_start=event.start_datetime,
|
date_start=event.start_datetime,
|
||||||
date_end=event.start_datetime + datetime.timedelta(days=1),
|
date_end=event.start_datetime + datetime.timedelta(days=1),
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue