push tournament filter for viewsets

clubs
Laurent 1 year ago
parent 770ab1d145
commit 230398489f
  1. 20
      api/views.py

@ -97,6 +97,9 @@ class RoundViewSet(viewsets.ModelViewSet):
serializer_class = RoundSerializer serializer_class = RoundSerializer
def get_queryset(self): def get_queryset(self):
tournament_id = self.request.query_params.get('tournament')
if tournament_id:
return self.queryset.filter(tournament=tournament_id)
if self.request.user: if self.request.user:
return self.queryset.filter(tournament__event__creator=self.request.user) return self.queryset.filter(tournament__event__creator=self.request.user)
return [] return []
@ -106,6 +109,9 @@ class GroupStageViewSet(viewsets.ModelViewSet):
serializer_class = GroupStageSerializer serializer_class = GroupStageSerializer
def get_queryset(self): def get_queryset(self):
tournament_id = self.request.query_params.get('tournament')
if tournament_id:
return self.queryset.filter(tournament=tournament_id)
if self.request.user: if self.request.user:
return self.queryset.filter(tournament__event__creator=self.request.user) return self.queryset.filter(tournament__event__creator=self.request.user)
return [] return []
@ -115,6 +121,9 @@ class MatchViewSet(viewsets.ModelViewSet):
serializer_class = MatchSerializer serializer_class = MatchSerializer
def get_queryset(self): def get_queryset(self):
tournament_id = self.request.query_params.get('tournament')
if tournament_id:
return self.queryset.filter(Q(group_stage__tournament=tournament_id) | Q(round__tournament=tournament_id))
if self.request.user: if self.request.user:
return self.queryset.filter(Q(group_stage__tournament__event__creator=self.request.user) | Q(round__tournament__event__creator=self.request.user)) return self.queryset.filter(Q(group_stage__tournament__event__creator=self.request.user) | Q(round__tournament__event__creator=self.request.user))
return [] return []
@ -124,6 +133,9 @@ class TeamScoreViewSet(viewsets.ModelViewSet):
serializer_class = TeamScoreSerializer serializer_class = TeamScoreSerializer
def get_queryset(self): def get_queryset(self):
tournament_id = self.request.query_params.get('tournament')
if tournament_id:
return self.queryset.filter(team_registration__tournament=tournament_id)
if self.request.user: if self.request.user:
return self.queryset.filter(team_registration__tournament__event__creator=self.request.user) return self.queryset.filter(team_registration__tournament__event__creator=self.request.user)
return [] return []
@ -133,6 +145,9 @@ class TeamRegistrationViewSet(viewsets.ModelViewSet):
serializer_class = TeamRegistrationSerializer serializer_class = TeamRegistrationSerializer
def get_queryset(self): def get_queryset(self):
tournament_id = self.request.query_params.get('tournament')
if tournament_id:
return self.queryset.filter(tournament=tournament_id)
if self.request.user: if self.request.user:
return self.queryset.filter(tournament__event__creator=self.request.user) return self.queryset.filter(tournament__event__creator=self.request.user)
return [] return []
@ -142,6 +157,9 @@ class PlayerRegistrationViewSet(viewsets.ModelViewSet):
serializer_class = PlayerRegistrationSerializer serializer_class = PlayerRegistrationSerializer
def get_queryset(self): def get_queryset(self):
tournament_id = self.request.query_params.get('tournament')
if tournament_id:
return self.queryset.filter(team_registration__tournament=tournament_id)
if self.request.user: if self.request.user:
return self.queryset.filter(team_registration__tournament__event__creator=self.request.user) return self.queryset.filter(team_registration__tournament__event__creator=self.request.user)
return [] return []
@ -162,7 +180,7 @@ class DateIntervalViewSet(viewsets.ModelViewSet):
class FailedApiCallViewSet(viewsets.ModelViewSet): class FailedApiCallViewSet(viewsets.ModelViewSet):
queryset = FailedApiCall.objects.all() queryset = FailedApiCall.objects.all()
serializer_class = FailedApiCallSerializer serializer_class = FailedApiCallSerializer
permission_classes = [] # Users are public whereas the other requests are only for logged users permission_classes = [] # FailedApiCall are public whereas the other requests are only for logged users
def get_queryset(self): def get_queryset(self):
return [] return []

Loading…
Cancel
Save