forked from CGM_Public/pretix_original
Waiting list: Make it harder to accidentally delete full list
This commit is contained in:
@@ -91,7 +91,7 @@ class WaitingListQuerySetMixin:
|
|||||||
return self.request.POST
|
return self.request.POST
|
||||||
return self.request.GET
|
return self.request.GET
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self, force_filtered=False):
|
||||||
qs = WaitingListEntry.objects.filter(
|
qs = WaitingListEntry.objects.filter(
|
||||||
event=self.request.event
|
event=self.request.event
|
||||||
).select_related('item', 'variation', 'voucher').prefetch_related(
|
).select_related('item', 'variation', 'voucher').prefetch_related(
|
||||||
@@ -135,6 +135,8 @@ class WaitingListQuerySetMixin:
|
|||||||
qs = qs.filter(
|
qs = qs.filter(
|
||||||
id__in=self.request_data.getlist('entry')
|
id__in=self.request_data.getlist('entry')
|
||||||
)
|
)
|
||||||
|
elif force_filtered and '__ALL' not in self.request_data:
|
||||||
|
qs = qs.none()
|
||||||
|
|
||||||
return qs
|
return qs
|
||||||
|
|
||||||
@@ -158,7 +160,7 @@ class WaitingListActionView(EventPermissionRequiredMixin, WaitingListQuerySetMix
|
|||||||
'forbidden': self.get_queryset().filter(voucher__isnull=False),
|
'forbidden': self.get_queryset().filter(voucher__isnull=False),
|
||||||
})
|
})
|
||||||
elif request.POST.get('action') == 'delete_confirm':
|
elif request.POST.get('action') == 'delete_confirm':
|
||||||
for obj in self.get_queryset():
|
for obj in self.get_queryset(force_filtered=True):
|
||||||
if not obj.voucher_id:
|
if not obj.voucher_id:
|
||||||
obj.log_action('pretix.event.orders.waitinglist.deleted', user=self.request.user)
|
obj.log_action('pretix.event.orders.waitinglist.deleted', user=self.request.user)
|
||||||
obj.delete()
|
obj.delete()
|
||||||
|
|||||||
Reference in New Issue
Block a user