|
|
|
@ -12,6 +12,7 @@ from rest_framework.generics import UpdateAPIView |
|
|
|
from rest_framework.exceptions import MethodNotAllowed |
|
|
|
from rest_framework.exceptions import MethodNotAllowed |
|
|
|
from rest_framework.permissions import IsAuthenticated |
|
|
|
from rest_framework.permissions import IsAuthenticated |
|
|
|
from rest_framework.views import APIView |
|
|
|
from rest_framework.views import APIView |
|
|
|
|
|
|
|
from django.http import Http404 |
|
|
|
|
|
|
|
|
|
|
|
from django.contrib.auth import authenticate |
|
|
|
from django.contrib.auth import authenticate |
|
|
|
from django.db.models import Q |
|
|
|
from django.db.models import Q |
|
|
|
@ -76,7 +77,14 @@ def user_by_token(request): |
|
|
|
serializer = UserSerializer(request.user) |
|
|
|
serializer = UserSerializer(request.user) |
|
|
|
return Response(serializer.data, status=status.HTTP_200_OK) |
|
|
|
return Response(serializer.data, status=status.HTTP_200_OK) |
|
|
|
|
|
|
|
|
|
|
|
class UserViewSet(viewsets.ModelViewSet): |
|
|
|
class SoftDeleteViewSet(viewsets.ModelViewSet): |
|
|
|
|
|
|
|
def destroy(self, request, *args, **kwargs): |
|
|
|
|
|
|
|
try: |
|
|
|
|
|
|
|
return super().destroy(request, *args, **kwargs) |
|
|
|
|
|
|
|
except Http404: |
|
|
|
|
|
|
|
return Response(status=status.HTTP_204_NO_CONTENT) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class UserViewSet(SoftDeleteViewSet): |
|
|
|
queryset = CustomUser.objects.all() |
|
|
|
queryset = CustomUser.objects.all() |
|
|
|
serializer_class = UserUpdateSerializer |
|
|
|
serializer_class = UserUpdateSerializer |
|
|
|
permission_classes = [] # Users are public whereas the other requests are only for logged users |
|
|
|
permission_classes = [] # Users are public whereas the other requests are only for logged users |
|
|
|
@ -87,7 +95,7 @@ class UserViewSet(viewsets.ModelViewSet): |
|
|
|
return UserSerializer |
|
|
|
return UserSerializer |
|
|
|
return self.serializer_class |
|
|
|
return self.serializer_class |
|
|
|
|
|
|
|
|
|
|
|
class ClubViewSet(viewsets.ModelViewSet): |
|
|
|
class ClubViewSet(SoftDeleteViewSet): |
|
|
|
queryset = Club.objects.all() |
|
|
|
queryset = Club.objects.all() |
|
|
|
serializer_class = ClubSerializer |
|
|
|
serializer_class = ClubSerializer |
|
|
|
permission_classes = [IsClubOwner] # Clubs are public whereas the other requests are only for logged users |
|
|
|
permission_classes = [IsClubOwner] # Clubs are public whereas the other requests are only for logged users |
|
|
|
@ -95,7 +103,7 @@ class ClubViewSet(viewsets.ModelViewSet): |
|
|
|
def perform_create(self, serializer): |
|
|
|
def perform_create(self, serializer): |
|
|
|
serializer.save(creator=self.request.user) |
|
|
|
serializer.save(creator=self.request.user) |
|
|
|
|
|
|
|
|
|
|
|
class TournamentViewSet(viewsets.ModelViewSet): |
|
|
|
class TournamentViewSet(SoftDeleteViewSet): |
|
|
|
queryset = Tournament.objects.all() |
|
|
|
queryset = Tournament.objects.all() |
|
|
|
serializer_class = TournamentSerializer |
|
|
|
serializer_class = TournamentSerializer |
|
|
|
|
|
|
|
|
|
|
|
@ -104,7 +112,7 @@ class TournamentViewSet(viewsets.ModelViewSet): |
|
|
|
return [] |
|
|
|
return [] |
|
|
|
return self.queryset.filter(event__creator=self.request.user) |
|
|
|
return self.queryset.filter(event__creator=self.request.user) |
|
|
|
|
|
|
|
|
|
|
|
class PurchaseViewSet(viewsets.ModelViewSet): |
|
|
|
class PurchaseViewSet(SoftDeleteViewSet): |
|
|
|
queryset = Purchase.objects.all() |
|
|
|
queryset = Purchase.objects.all() |
|
|
|
serializer_class = PurchaseSerializer |
|
|
|
serializer_class = PurchaseSerializer |
|
|
|
|
|
|
|
|
|
|
|
@ -130,10 +138,6 @@ class PurchaseViewSet(viewsets.ModelViewSet): |
|
|
|
def delete(self, request, pk): |
|
|
|
def delete(self, request, pk): |
|
|
|
raise MethodNotAllowed('DELETE') |
|
|
|
raise MethodNotAllowed('DELETE') |
|
|
|
|
|
|
|
|
|
|
|
# class ExpandedTournamentViewSet(viewsets.ModelViewSet): |
|
|
|
|
|
|
|
# queryset = Tournament.objects.all() |
|
|
|
|
|
|
|
# serializer_class = ExpandedTournamentSerializer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ChangePasswordView(UpdateAPIView): |
|
|
|
class ChangePasswordView(UpdateAPIView): |
|
|
|
serializer_class = ChangePasswordSerializer |
|
|
|
serializer_class = ChangePasswordSerializer |
|
|
|
|
|
|
|
|
|
|
|
@ -148,7 +152,7 @@ class ChangePasswordView(UpdateAPIView): |
|
|
|
# return new token |
|
|
|
# return new token |
|
|
|
return Response({'token': token.key}, status=status.HTTP_200_OK) |
|
|
|
return Response({'token': token.key}, status=status.HTTP_200_OK) |
|
|
|
|
|
|
|
|
|
|
|
class EventViewSet(viewsets.ModelViewSet): |
|
|
|
class EventViewSet(SoftDeleteViewSet): |
|
|
|
queryset = Event.objects.all() |
|
|
|
queryset = Event.objects.all() |
|
|
|
serializer_class = EventSerializer |
|
|
|
serializer_class = EventSerializer |
|
|
|
|
|
|
|
|
|
|
|
@ -157,7 +161,7 @@ class EventViewSet(viewsets.ModelViewSet): |
|
|
|
return [] |
|
|
|
return [] |
|
|
|
return self.queryset.filter(creator=self.request.user) |
|
|
|
return self.queryset.filter(creator=self.request.user) |
|
|
|
|
|
|
|
|
|
|
|
class RoundViewSet(viewsets.ModelViewSet): |
|
|
|
class RoundViewSet(SoftDeleteViewSet): |
|
|
|
queryset = Round.objects.all() |
|
|
|
queryset = Round.objects.all() |
|
|
|
serializer_class = RoundSerializer |
|
|
|
serializer_class = RoundSerializer |
|
|
|
|
|
|
|
|
|
|
|
@ -169,7 +173,7 @@ class RoundViewSet(viewsets.ModelViewSet): |
|
|
|
return self.queryset.filter(tournament__event__creator=self.request.user) |
|
|
|
return self.queryset.filter(tournament__event__creator=self.request.user) |
|
|
|
return [] |
|
|
|
return [] |
|
|
|
|
|
|
|
|
|
|
|
class GroupStageViewSet(viewsets.ModelViewSet): |
|
|
|
class GroupStageViewSet(SoftDeleteViewSet): |
|
|
|
queryset = GroupStage.objects.all() |
|
|
|
queryset = GroupStage.objects.all() |
|
|
|
serializer_class = GroupStageSerializer |
|
|
|
serializer_class = GroupStageSerializer |
|
|
|
|
|
|
|
|
|
|
|
@ -181,7 +185,7 @@ class GroupStageViewSet(viewsets.ModelViewSet): |
|
|
|
return self.queryset.filter(tournament__event__creator=self.request.user) |
|
|
|
return self.queryset.filter(tournament__event__creator=self.request.user) |
|
|
|
return [] |
|
|
|
return [] |
|
|
|
|
|
|
|
|
|
|
|
class MatchViewSet(viewsets.ModelViewSet): |
|
|
|
class MatchViewSet(SoftDeleteViewSet): |
|
|
|
queryset = Match.objects.all() |
|
|
|
queryset = Match.objects.all() |
|
|
|
serializer_class = MatchSerializer |
|
|
|
serializer_class = MatchSerializer |
|
|
|
|
|
|
|
|
|
|
|
@ -193,7 +197,7 @@ class MatchViewSet(viewsets.ModelViewSet): |
|
|
|
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 [] |
|
|
|
|
|
|
|
|
|
|
|
class TeamScoreViewSet(viewsets.ModelViewSet): |
|
|
|
class TeamScoreViewSet(SoftDeleteViewSet): |
|
|
|
queryset = TeamScore.objects.all() |
|
|
|
queryset = TeamScore.objects.all() |
|
|
|
serializer_class = TeamScoreSerializer |
|
|
|
serializer_class = TeamScoreSerializer |
|
|
|
|
|
|
|
|
|
|
|
@ -206,7 +210,7 @@ class TeamScoreViewSet(viewsets.ModelViewSet): |
|
|
|
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 [] |
|
|
|
|
|
|
|
|
|
|
|
class TeamRegistrationViewSet(viewsets.ModelViewSet): |
|
|
|
class TeamRegistrationViewSet(SoftDeleteViewSet): |
|
|
|
queryset = TeamRegistration.objects.all() |
|
|
|
queryset = TeamRegistration.objects.all() |
|
|
|
serializer_class = TeamRegistrationSerializer |
|
|
|
serializer_class = TeamRegistrationSerializer |
|
|
|
|
|
|
|
|
|
|
|
@ -218,7 +222,7 @@ class TeamRegistrationViewSet(viewsets.ModelViewSet): |
|
|
|
return self.queryset.filter(tournament__event__creator=self.request.user) |
|
|
|
return self.queryset.filter(tournament__event__creator=self.request.user) |
|
|
|
return [] |
|
|
|
return [] |
|
|
|
|
|
|
|
|
|
|
|
class PlayerRegistrationViewSet(viewsets.ModelViewSet): |
|
|
|
class PlayerRegistrationViewSet(SoftDeleteViewSet): |
|
|
|
queryset = PlayerRegistration.objects.all() |
|
|
|
queryset = PlayerRegistration.objects.all() |
|
|
|
serializer_class = PlayerRegistrationSerializer |
|
|
|
serializer_class = PlayerRegistrationSerializer |
|
|
|
|
|
|
|
|
|
|
|
@ -230,11 +234,11 @@ class PlayerRegistrationViewSet(viewsets.ModelViewSet): |
|
|
|
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 [] |
|
|
|
|
|
|
|
|
|
|
|
class CourtViewSet(viewsets.ModelViewSet): |
|
|
|
class CourtViewSet(SoftDeleteViewSet): |
|
|
|
queryset = Court.objects.all() |
|
|
|
queryset = Court.objects.all() |
|
|
|
serializer_class = CourtSerializer |
|
|
|
serializer_class = CourtSerializer |
|
|
|
|
|
|
|
|
|
|
|
class DateIntervalViewSet(viewsets.ModelViewSet): |
|
|
|
class DateIntervalViewSet(SoftDeleteViewSet): |
|
|
|
queryset = DateInterval.objects.all() |
|
|
|
queryset = DateInterval.objects.all() |
|
|
|
serializer_class = DateIntervalSerializer |
|
|
|
serializer_class = DateIntervalSerializer |
|
|
|
|
|
|
|
|
|
|
|
@ -294,7 +298,7 @@ class DeviceTokenViewSet(viewsets.ModelViewSet): |
|
|
|
def perform_create(self, serializer): |
|
|
|
def perform_create(self, serializer): |
|
|
|
serializer.save(user=self.request.user) |
|
|
|
serializer.save(user=self.request.user) |
|
|
|
|
|
|
|
|
|
|
|
class DrawLogViewSet(viewsets.ModelViewSet): |
|
|
|
class DrawLogViewSet(SoftDeleteViewSet): |
|
|
|
queryset = DrawLog.objects.all() |
|
|
|
queryset = DrawLog.objects.all() |
|
|
|
serializer_class = DrawLogSerializer |
|
|
|
serializer_class = DrawLogSerializer |
|
|
|
|
|
|
|
|
|
|
|
@ -306,7 +310,7 @@ class DrawLogViewSet(viewsets.ModelViewSet): |
|
|
|
return self.queryset.filter(tournament__event__creator=self.request.user) |
|
|
|
return self.queryset.filter(tournament__event__creator=self.request.user) |
|
|
|
return [] |
|
|
|
return [] |
|
|
|
|
|
|
|
|
|
|
|
class UnregisteredTeamViewSet(viewsets.ModelViewSet): |
|
|
|
class UnregisteredTeamViewSet(SoftDeleteViewSet): |
|
|
|
queryset = UnregisteredTeam.objects.all() |
|
|
|
queryset = UnregisteredTeam.objects.all() |
|
|
|
serializer_class = UnregisteredTeamSerializer |
|
|
|
serializer_class = UnregisteredTeamSerializer |
|
|
|
|
|
|
|
|
|
|
|
@ -318,7 +322,7 @@ class UnregisteredTeamViewSet(viewsets.ModelViewSet): |
|
|
|
return self.queryset.filter(tournament__event__creator=self.request.user) |
|
|
|
return self.queryset.filter(tournament__event__creator=self.request.user) |
|
|
|
return [] |
|
|
|
return [] |
|
|
|
|
|
|
|
|
|
|
|
class UnregisteredPlayerViewSet(viewsets.ModelViewSet): |
|
|
|
class UnregisteredPlayerViewSet(SoftDeleteViewSet): |
|
|
|
queryset = UnregisteredPlayer.objects.all() |
|
|
|
queryset = UnregisteredPlayer.objects.all() |
|
|
|
serializer_class = UnregisteredPlayerSerializer |
|
|
|
serializer_class = UnregisteredPlayerSerializer |
|
|
|
|
|
|
|
|
|
|
|
|