From 2412312a37c72e6e60c6b822fe60db839295e9f8 Mon Sep 17 00:00:00 2001 From: Mira Weller Date: Thu, 13 Aug 2026 14:50:10 +0200 Subject: [PATCH] Fix question dependency selection on OLQs, add undocumented parameter container_type to API --- src/pretix/api/views/item.py | 5 ++++- src/pretix/control/forms/item.py | 1 + src/pretix/static/pretixcontrol/js/ui/question.js | 3 ++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/pretix/api/views/item.py b/src/pretix/api/views/item.py index 7f6b15bf82..eb46964e9c 100644 --- a/src/pretix/api/views/item.py +++ b/src/pretix/api/views/item.py @@ -475,7 +475,10 @@ class QuestionViewSet(ConditionalListView, viewsets.ModelViewSet): write_permission = 'event.items:write' def get_queryset(self): - return self.request.event.questions.filter(container_type=Question.ContainerType.ORDERPOSITION).prefetch_related('options').all() + return self.request.event.questions.filter( + # the container_type parameter is undocumented, this API is going to change in a later release + container_type=self.request.GET.get('container_type', Question.ContainerType.ORDERPOSITION), + ).prefetch_related('options').all() @transaction.atomic() def perform_create(self, serializer): diff --git a/src/pretix/control/forms/item.py b/src/pretix/control/forms/item.py index 6ba5ce091e..9c368ba42e 100644 --- a/src/pretix/control/forms/item.py +++ b/src/pretix/control/forms/item.py @@ -158,6 +158,7 @@ class QuestionForm(I18nModelForm): self.fields['items'].required = True else: del self.fields['items'] + self.fields['dependency_question'].widget.attrs['data-container-type'] = self.instance.container_type self.fields['dependency_question'].queryset = self.instance.event.questions.filter( type__in=(Question.TYPE_BOOLEAN, Question.TYPE_CHOICE, Question.TYPE_CHOICE_MULTIPLE), ask_during_checkin=False, diff --git a/src/pretix/static/pretixcontrol/js/ui/question.js b/src/pretix/static/pretixcontrol/js/ui/question.js index 99dff95d5f..be1c8d114e 100644 --- a/src/pretix/static/pretixcontrol/js/ui/question.js +++ b/src/pretix/static/pretixcontrol/js/ui/question.js @@ -131,7 +131,8 @@ $(function () { $val.parent().append("
"); - apiGET('/api/v1/organizers/' + $("body").attr("data-organizer") + '/events/' + $("body").attr("data-event") + '/questions/' + val + '/', function (data) { + // the container_type parameter is undocumented. this API is going to change in a later release. + apiGET('/api/v1/organizers/' + $("body").attr("data-organizer") + '/events/' + $("body").attr("data-event") + '/questions/' + val + '/?container_type=' + encodeURIComponent($dq.data('container-type')), function (data) { if (data.type === "B") { $val.append($("