forked from CGM_Public/pretix_original
31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
from django.views.generic import ListView
|
|
|
|
from pretix.base.models import Item, OrderPosition
|
|
from pretix.control.permissions import EventPermissionRequiredMixin
|
|
|
|
|
|
class AttendeeList(EventPermissionRequiredMixin, ListView):
|
|
model = OrderPosition
|
|
context_object_name = 'attendees'
|
|
template_name = 'pretixcontrol/attendees/index.html'
|
|
paginate_by = 30
|
|
permission = 'can_view_orders'
|
|
|
|
def get_queryset(self):
|
|
qs = OrderPosition.objects.filter(
|
|
order__event=self.request.event,
|
|
item__admission=True
|
|
).select_related('order')
|
|
if self.request.GET.get("status", "") != "":
|
|
s = self.request.GET.get("status", "")
|
|
qs = qs.filter(order__status=s)
|
|
if self.request.GET.get("item", "") != "":
|
|
i = self.request.GET.get("item", "")
|
|
qs = qs.filter(item_id__in=(i,)).distinct()
|
|
return qs
|
|
|
|
def get_context_data(self, **kwargs):
|
|
ctx = super().get_context_data(**kwargs)
|
|
ctx['items'] = Item.objects.filter(event=self.request.event, admission=True)
|
|
return ctx
|