diff --git a/api/views.py b/api/views.py index ea9f611..5ea3dd5 100644 --- a/api/views.py +++ b/api/views.py @@ -97,6 +97,9 @@ class RoundViewSet(viewsets.ModelViewSet): serializer_class = RoundSerializer 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: return self.queryset.filter(tournament__event__creator=self.request.user) return [] @@ -106,6 +109,9 @@ class GroupStageViewSet(viewsets.ModelViewSet): serializer_class = GroupStageSerializer 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: return self.queryset.filter(tournament__event__creator=self.request.user) return [] @@ -115,6 +121,9 @@ class MatchViewSet(viewsets.ModelViewSet): serializer_class = MatchSerializer 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: return self.queryset.filter(Q(group_stage__tournament__event__creator=self.request.user) | Q(round__tournament__event__creator=self.request.user)) return [] @@ -124,6 +133,9 @@ class TeamScoreViewSet(viewsets.ModelViewSet): serializer_class = TeamScoreSerializer 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: return self.queryset.filter(team_registration__tournament__event__creator=self.request.user) return [] @@ -133,6 +145,9 @@ class TeamRegistrationViewSet(viewsets.ModelViewSet): serializer_class = TeamRegistrationSerializer 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: return self.queryset.filter(tournament__event__creator=self.request.user) return [] @@ -142,6 +157,9 @@ class PlayerRegistrationViewSet(viewsets.ModelViewSet): serializer_class = PlayerRegistrationSerializer 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: return self.queryset.filter(team_registration__tournament__event__creator=self.request.user) return [] @@ -162,7 +180,7 @@ class DateIntervalViewSet(viewsets.ModelViewSet): class FailedApiCallViewSet(viewsets.ModelViewSet): queryset = FailedApiCall.objects.all() 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): return []