mirror of
https://github.com/pretix/pretix.git
synced 2026-09-15 16:34:42 +00:00
Restrict list of events
This commit is contained in:
@@ -12,7 +12,9 @@ from pretix.api.serializers.event import (
|
|||||||
TaxRuleSerializer,
|
TaxRuleSerializer,
|
||||||
)
|
)
|
||||||
from pretix.api.views import ConditionalListView
|
from pretix.api.views import ConditionalListView
|
||||||
from pretix.base.models import Event, ItemCategory, TaxRule, TeamAPIToken
|
from pretix.base.models import (
|
||||||
|
Device, Event, ItemCategory, TaxRule, TeamAPIToken,
|
||||||
|
)
|
||||||
from pretix.base.models.event import SubEvent
|
from pretix.base.models.event import SubEvent
|
||||||
from pretix.helpers.dicts import merge_dicts
|
from pretix.helpers.dicts import merge_dicts
|
||||||
|
|
||||||
@@ -73,7 +75,7 @@ class EventViewSet(viewsets.ModelViewSet):
|
|||||||
filterset_class = EventFilter
|
filterset_class = EventFilter
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
if isinstance(self.request.auth, TeamAPIToken):
|
if isinstance(self.request.auth, (TeamAPIToken, Device)):
|
||||||
qs = self.request.auth.get_events_with_any_permission()
|
qs = self.request.auth.get_events_with_any_permission()
|
||||||
elif self.request.user.is_authenticated:
|
elif self.request.user.is_authenticated:
|
||||||
qs = self.request.user.get_events_with_any_permission(self.request).filter(
|
qs = self.request.user.get_events_with_any_permission(self.request).filter(
|
||||||
@@ -224,7 +226,7 @@ class SubEventViewSet(ConditionalListView, viewsets.ReadOnlyModelViewSet):
|
|||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
if getattr(self.request, 'event', None):
|
if getattr(self.request, 'event', None):
|
||||||
qs = self.request.event.subevents
|
qs = self.request.event.subevents
|
||||||
elif isinstance(self.request.auth, TeamAPIToken):
|
elif isinstance(self.request.auth, (TeamAPIToken, Device)):
|
||||||
qs = SubEvent.objects.filter(
|
qs = SubEvent.objects.filter(
|
||||||
event__organizer=self.request.organizer,
|
event__organizer=self.request.organizer,
|
||||||
event__in=self.request.auth.get_events_with_any_permission()
|
event__in=self.request.auth.get_events_with_any_permission()
|
||||||
|
|||||||
Reference in New Issue
Block a user