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):
|
||||
extra_data = {}
|
||||
for k, v in request.data.items():
|
||||
print(k, v)
|
||||
if k not in payload:
|
||||
if isinstance(v, (list, dict)):
|
||||
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)
|
||||
for extra_data in list(extra_data_from_booked) + list(extra_data_from_subscriptions):
|
||||
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 = sorted(filters.items())
|
||||
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_first_name='User',
|
||||
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,
|
||||
)
|
||||
Booking.objects.create(
|
||||
|
@ -1837,7 +1837,7 @@ def test_event_check_filters(check_types, app, admin_user):
|
|||
user_external_id='subscription:1',
|
||||
user_first_name='Subscription',
|
||||
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_end=event.start_datetime + datetime.timedelta(days=1),
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue