forked from CGM_Public/pretix_original
API: Make case insensitive boolean query params (#5382)
This commit is contained in:
committed by
GitHub
parent
32b704de70
commit
69e50d35a7
@@ -818,7 +818,7 @@ class CheckinListPositionViewSet(viewsets.ReadOnlyModelViewSet):
|
|||||||
ctx = super().get_serializer_context()
|
ctx = super().get_serializer_context()
|
||||||
ctx['event'] = self.request.event
|
ctx['event'] = self.request.event
|
||||||
ctx['expand'] = self.request.query_params.getlist('expand')
|
ctx['expand'] = self.request.query_params.getlist('expand')
|
||||||
ctx['pdf_data'] = self.request.query_params.get('pdf_data', 'false') == 'true'
|
ctx['pdf_data'] = self.request.query_params.get('pdf_data', 'false').lower() == 'true'
|
||||||
return ctx
|
return ctx
|
||||||
|
|
||||||
def get_filterset_kwargs(self):
|
def get_filterset_kwargs(self):
|
||||||
@@ -837,9 +837,9 @@ class CheckinListPositionViewSet(viewsets.ReadOnlyModelViewSet):
|
|||||||
def get_queryset(self, ignore_status=False, ignore_products=False):
|
def get_queryset(self, ignore_status=False, ignore_products=False):
|
||||||
qs = _checkin_list_position_queryset(
|
qs = _checkin_list_position_queryset(
|
||||||
[self.checkinlist],
|
[self.checkinlist],
|
||||||
ignore_status=self.request.query_params.get('ignore_status', 'false') == 'true' or ignore_status,
|
ignore_status=self.request.query_params.get('ignore_status', 'false').lower() == 'true' or ignore_status,
|
||||||
ignore_products=ignore_products,
|
ignore_products=ignore_products,
|
||||||
pdf_data=self.request.query_params.get('pdf_data', 'false') == 'true',
|
pdf_data=self.request.query_params.get('pdf_data', 'false').lower() == 'true',
|
||||||
expand=self.request.query_params.getlist('expand'),
|
expand=self.request.query_params.getlist('expand'),
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -881,7 +881,7 @@ class CheckinListPositionViewSet(viewsets.ReadOnlyModelViewSet):
|
|||||||
user=self.request.user,
|
user=self.request.user,
|
||||||
auth=self.request.auth,
|
auth=self.request.auth,
|
||||||
expand=self.request.query_params.getlist('expand'),
|
expand=self.request.query_params.getlist('expand'),
|
||||||
pdf_data=self.request.query_params.get('pdf_data', 'false') == 'true',
|
pdf_data=self.request.query_params.get('pdf_data', 'false').lower() == 'true',
|
||||||
questions_supported=self.request.data.get('questions_supported', True),
|
questions_supported=self.request.data.get('questions_supported', True),
|
||||||
canceled_supported=self.request.data.get('canceled_supported', False),
|
canceled_supported=self.request.data.get('canceled_supported', False),
|
||||||
request=self.request, # this is not clean, but we need it in the serializers for URL generation
|
request=self.request, # this is not clean, but we need it in the serializers for URL generation
|
||||||
@@ -916,7 +916,7 @@ class CheckinRPCRedeemView(views.APIView):
|
|||||||
user=self.request.user,
|
user=self.request.user,
|
||||||
auth=self.request.auth,
|
auth=self.request.auth,
|
||||||
expand=self.request.query_params.getlist('expand'),
|
expand=self.request.query_params.getlist('expand'),
|
||||||
pdf_data=self.request.query_params.get('pdf_data', 'false') == 'true',
|
pdf_data=self.request.query_params.get('pdf_data', 'false').lower() == 'true',
|
||||||
questions_supported=s.validated_data['questions_supported'],
|
questions_supported=s.validated_data['questions_supported'],
|
||||||
use_order_locale=s.validated_data['use_order_locale'],
|
use_order_locale=s.validated_data['use_order_locale'],
|
||||||
canceled_supported=True,
|
canceled_supported=True,
|
||||||
@@ -994,9 +994,9 @@ class CheckinRPCSearchView(ListAPIView):
|
|||||||
def get_queryset(self, ignore_status=False, ignore_products=False):
|
def get_queryset(self, ignore_status=False, ignore_products=False):
|
||||||
qs = _checkin_list_position_queryset(
|
qs = _checkin_list_position_queryset(
|
||||||
self.lists,
|
self.lists,
|
||||||
ignore_status=self.request.query_params.get('ignore_status', 'false') == 'true' or ignore_status,
|
ignore_status=self.request.query_params.get('ignore_status', 'false').lower() == 'true' or ignore_status,
|
||||||
ignore_products=ignore_products,
|
ignore_products=ignore_products,
|
||||||
pdf_data=self.request.query_params.get('pdf_data', 'false') == 'true',
|
pdf_data=self.request.query_params.get('pdf_data', 'false').lower() == 'true',
|
||||||
expand=self.request.query_params.getlist('expand'),
|
expand=self.request.query_params.getlist('expand'),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -228,7 +228,7 @@ class OrderViewSetMixin:
|
|||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
qs = self.get_base_queryset()
|
qs = self.get_base_queryset()
|
||||||
if 'fees' not in self.request.GET.getlist('exclude'):
|
if 'fees' not in self.request.GET.getlist('exclude'):
|
||||||
if self.request.query_params.get('include_canceled_fees', 'false') == 'true':
|
if self.request.query_params.get('include_canceled_fees', 'false').lower() == 'true':
|
||||||
fqs = OrderFee.all
|
fqs = OrderFee.all
|
||||||
else:
|
else:
|
||||||
fqs = OrderFee.objects
|
fqs = OrderFee.objects
|
||||||
@@ -246,11 +246,11 @@ class OrderViewSetMixin:
|
|||||||
return qs
|
return qs
|
||||||
|
|
||||||
def _positions_prefetch(self, request):
|
def _positions_prefetch(self, request):
|
||||||
if request.query_params.get('include_canceled_positions', 'false') == 'true':
|
if request.query_params.get('include_canceled_positions', 'false').lower() == 'true':
|
||||||
opq = OrderPosition.all
|
opq = OrderPosition.all
|
||||||
else:
|
else:
|
||||||
opq = OrderPosition.objects
|
opq = OrderPosition.objects
|
||||||
if request.query_params.get('pdf_data', 'false') == 'true' and getattr(request, 'event', None):
|
if request.query_params.get('pdf_data', 'false').lower() == 'true' and getattr(request, 'event', None):
|
||||||
prefetch_related_objects([request.organizer], 'meta_properties')
|
prefetch_related_objects([request.organizer], 'meta_properties')
|
||||||
prefetch_related_objects(
|
prefetch_related_objects(
|
||||||
[request.event],
|
[request.event],
|
||||||
@@ -344,7 +344,7 @@ class EventOrderViewSet(OrderViewSetMixin, viewsets.ModelViewSet):
|
|||||||
def get_serializer_context(self):
|
def get_serializer_context(self):
|
||||||
ctx = super().get_serializer_context()
|
ctx = super().get_serializer_context()
|
||||||
ctx['event'] = self.request.event
|
ctx['event'] = self.request.event
|
||||||
ctx['pdf_data'] = self.request.query_params.get('pdf_data', 'false') == 'true'
|
ctx['pdf_data'] = self.request.query_params.get('pdf_data', 'false').lower() == 'true'
|
||||||
return ctx
|
return ctx
|
||||||
|
|
||||||
def get_base_queryset(self):
|
def get_base_queryset(self):
|
||||||
@@ -943,7 +943,7 @@ class EventOrderViewSet(OrderViewSetMixin, viewsets.ModelViewSet):
|
|||||||
@action(detail=True, methods=['POST'])
|
@action(detail=True, methods=['POST'])
|
||||||
def change(self, request, **kwargs):
|
def change(self, request, **kwargs):
|
||||||
order = self.get_object()
|
order = self.get_object()
|
||||||
check_quotas = self.request.query_params.get('check_quotas', 'true') == 'true'
|
check_quotas = self.request.query_params.get('check_quotas', 'true').lower() == 'true'
|
||||||
|
|
||||||
serializer = OrderChangeOperationSerializer(
|
serializer = OrderChangeOperationSerializer(
|
||||||
context={'order': order, **self.get_serializer_context()},
|
context={'order': order, **self.get_serializer_context()},
|
||||||
@@ -1087,18 +1087,18 @@ class OrderPositionViewSet(viewsets.ModelViewSet):
|
|||||||
def get_serializer_context(self):
|
def get_serializer_context(self):
|
||||||
ctx = super().get_serializer_context()
|
ctx = super().get_serializer_context()
|
||||||
ctx['event'] = self.request.event
|
ctx['event'] = self.request.event
|
||||||
ctx['pdf_data'] = self.request.query_params.get('pdf_data', 'false') == 'true'
|
ctx['pdf_data'] = self.request.query_params.get('pdf_data', 'false').lower() == 'true'
|
||||||
ctx['check_quotas'] = self.request.query_params.get('check_quotas', 'true').lower() == 'true'
|
ctx['check_quotas'] = self.request.query_params.get('check_quotas', 'true').lower() == 'true'
|
||||||
return ctx
|
return ctx
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
if self.request.query_params.get('include_canceled_positions', 'false') == 'true':
|
if self.request.query_params.get('include_canceled_positions', 'false').lower() == 'true':
|
||||||
qs = OrderPosition.all
|
qs = OrderPosition.all
|
||||||
else:
|
else:
|
||||||
qs = OrderPosition.objects
|
qs = OrderPosition.objects
|
||||||
|
|
||||||
qs = qs.filter(order__event=self.request.event)
|
qs = qs.filter(order__event=self.request.event)
|
||||||
if self.request.query_params.get('pdf_data', 'false') == 'true':
|
if self.request.query_params.get('pdf_data', 'false').lower() == 'true':
|
||||||
prefetch_related_objects([self.request.organizer], 'meta_properties')
|
prefetch_related_objects([self.request.organizer], 'meta_properties')
|
||||||
prefetch_related_objects(
|
prefetch_related_objects(
|
||||||
[self.request.event],
|
[self.request.event],
|
||||||
|
|||||||
Reference in New Issue
Block a user