diff --git a/backend/secfit/comments/views.py b/backend/secfit/comments/views.py index b74d0f208c9bcf06ee49817541d47742767f0b7d..7f9c8438dd71bb8c9cf11d48ebbd9b0880e472a3 100644 --- a/backend/secfit/comments/views.py +++ b/backend/secfit/comments/views.py @@ -1,17 +1,21 @@ -from django.shortcuts import render from rest_framework import generics, mixins -from comments.models import Comment, Like +from rest_framework.filters import OrderingFilter +from django.db.models import Q from rest_framework import permissions +from comments.models import Comment, Like from comments.permissions import IsCommentVisibleToUser from workouts.permissions import IsOwner, IsReadOnly from comments.serializers import CommentSerializer, LikeSerializer -from django.db.models import Q -from rest_framework.filters import OrderingFilter # Create your views here. class CommentList( mixins.ListModelMixin, mixins.CreateModelMixin, generics.GenericAPIView ): + """Class defining the web response for the creation of comments, or + a list of comments. + + HTTP methods: GET, POST + """ # queryset = Comment.objects.all() serializer_class = CommentSerializer permission_classes = [permissions.IsAuthenticated] @@ -63,6 +67,11 @@ class CommentDetail( mixins.DestroyModelMixin, generics.GenericAPIView, ): + """Class defining the web response for the retrieval of a comment, or + updating/deleting a comment. + + HTTP methods: GET, PUT, DELETE + """ queryset = Comment.objects.all() serializer_class = CommentSerializer permission_classes = [ @@ -81,6 +90,11 @@ class CommentDetail( # List of likes class LikeList(mixins.ListModelMixin, mixins.CreateModelMixin, generics.GenericAPIView): + """Class defining the web response for the creation of likes, or + a list of likes. + + HTTP methods: GET, POST + """ serializer_class = LikeSerializer permission_classes = [permissions.IsAuthenticated] @@ -104,6 +118,11 @@ class LikeDetail( mixins.DestroyModelMixin, generics.GenericAPIView, ): + """Class defining the web response for the retrieval of a like, or + updating/deleting a like. + + HTTP methods: GET, PUT, DELETE + """ queryset = Like.objects.all() serializer_class = LikeSerializer permission_classes = [permissions.IsAuthenticated] diff --git a/backend/secfit/users/views.py b/backend/secfit/users/views.py index eab5c21c9ecb310111ade08a799d5f1aa199923d..84060f4fe763b0a02f12efc86dff26bfe7ea6a21 100644 --- a/backend/secfit/users/views.py +++ b/backend/secfit/users/views.py @@ -35,15 +35,15 @@ class UserList(mixins.ListModelMixin, mixins.CreateModelMixin, generics.GenericA return self.create(request, *args, **kwargs) def get_queryset(self): - qs = get_user_model().objects.all() + query_set = get_user_model().objects.all() if self.request.user: # Return the currently logged in user status = self.request.query_params.get("user", None) if status and status == "current": - qs = get_user_model().objects.filter(pk=self.request.user.pk) + query_set = get_user_model().objects.filter(pk=self.request.user.pk) - return qs + return query_set class UserDetail( @@ -121,31 +121,29 @@ class OfferList( serializer.save(owner=self.request.user) def get_queryset(self): - qs = Offer.objects.none() result = Offer.objects.none() - if self.request.user: - qs = Offer.objects.filter( + query_set = Offer.objects.filter( Q(owner=self.request.user) | Q(recipient=self.request.user) ).distinct() - qp = self.request.query_params - u = self.request.user + query_params = self.request.query_params + user = self.request.user # filtering by status (if provided) - s = qp.get("status", None) - if s is not None and self.request is not None: - qs = qs.filter(status=s) - if qp.get("status", None) is None: - qs = Offer.objects.filter(Q(owner=u)).distinct() + status = query_params.get("status", None) + if status is not None and self.request is not None: + query_set = query_set.filter(status=status) + if query_params.get("status", None) is None: + query_set = Offer.objects.filter(Q(owner=user)).distinct() # filtering by category (sent or received) - c = qp.get("category", None) - if c is not None and qp is not None: - if c == "sent": - qs = qs.filter(owner=u) - elif c == "received": - qs = qs.filter(recipient=u) - return qs + category = query_params.get("category", None) + if category is not None and query_params is not None: + if category == "sent": + query_set = query_set.filter(owner=user) + elif category == "received": + query_set = query_set.filter(recipient=user) + return query_set else: return result @@ -204,14 +202,14 @@ class AthleteFileList( serializer.save(owner=self.request.user) def get_queryset(self): - qs = AthleteFile.objects.none() + query_set = AthleteFile.objects.none() if self.request.user: - qs = AthleteFile.objects.filter( + query_set = AthleteFile.objects.filter( Q(athlete=self.request.user) | Q(owner=self.request.user) ).distinct() - return qs + return query_set class AthleteFileDetail( @@ -233,4 +231,4 @@ class AthleteFileDetail( return self.retrieve(request, *args, **kwargs) def delete(self, request, *args, **kwargs): - return self.destroy(request, *args, **kwargs) \ No newline at end of file + return self.destroy(request, *args, **kwargs)