mirror of
https://github.com/pretix/pretix.git
synced 2026-05-10 16:04:02 +00:00
Event list API: Do not show events without any access permissions
This commit is contained in:
@@ -12,7 +12,7 @@ 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
|
from pretix.base.models import 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 +73,16 @@ class EventViewSet(viewsets.ModelViewSet):
|
|||||||
filterset_class = EventFilter
|
filterset_class = EventFilter
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
return self.request.organizer.events.prefetch_related('meta_values', 'meta_values__property')
|
if isinstance(self.request.auth, TeamAPIToken):
|
||||||
|
qs = self.request.auth.team.get_events_with_any_permission()
|
||||||
|
elif self.request.user.is_authenticated:
|
||||||
|
qs = self.request.user.get_events_with_any_permission(self.request).filter(
|
||||||
|
organizer=self.request.organizer
|
||||||
|
)
|
||||||
|
|
||||||
|
return qs.prefetch_related(
|
||||||
|
'meta_values', 'meta_values__property'
|
||||||
|
)
|
||||||
|
|
||||||
def perform_update(self, serializer):
|
def perform_update(self, serializer):
|
||||||
current_live_value = serializer.instance.live
|
current_live_value = serializer.instance.live
|
||||||
|
|||||||
Reference in New Issue
Block a user