diff --git a/backend/secfit/users/admin.py b/backend/secfit/users/admin.py index fc0af23c4473e29bcc06045aebfdd0d21989d22d..9c410c881a8cf639b4ebf7edaf114d03a8c39780 100644 --- a/backend/secfit/users/admin.py +++ b/backend/secfit/users/admin.py @@ -1,7 +1,7 @@ from django.contrib import admin +from django.contrib.auth import get_user_model from django.contrib.auth.admin import UserAdmin from .models import Offer, AthleteFile -from django.contrib.auth import get_user_model from .forms import CustomUserChangeForm, CustomUserCreationForm # Register your models here. @@ -11,7 +11,6 @@ class CustomUserAdmin(UserAdmin): add_form = CustomUserCreationForm form = CustomUserChangeForm model = get_user_model() - # list_display = UserAdmin.list_display + ('coach',) fieldsets = UserAdmin.fieldsets + ((None, {"fields": ("coach",)}),) add_fieldsets = UserAdmin.add_fieldsets + ((None, {"fields": ("coach",)}),) diff --git a/backend/secfit/users/views.py b/backend/secfit/users/views.py index 245b1c2277e3b250e20afb16b5a4b7436b46d388..761c889c6c3ae6d64d086a993b6e95862c7762f6 100644 --- a/backend/secfit/users/views.py +++ b/backend/secfit/users/views.py @@ -1,7 +1,8 @@ -import django -from rest_framework import mixins, generics -from workouts.mixins import CreateListModelMixin -from rest_framework import permissions +from rest_framework import mixins, generics, permissions +from rest_framework.permissions import ( + IsAuthenticatedOrReadOnly, +) +from rest_framework.parsers import MultiPartParser, FormParser from users.serializers import ( UserSerializer, OfferSerializer, @@ -10,19 +11,12 @@ from users.serializers import ( UserGetSerializer, UserProfilePostSerializer ) -from rest_framework.permissions import ( - AllowAny, - IsAdminUser, - IsAuthenticated, - IsAuthenticatedOrReadOnly, -) from users.models import Offer, AthleteFile -from django.contrib.auth import get_user_model -from django.db.models import Q -from django.shortcuts import get_object_or_404 -from rest_framework.parsers import MultiPartParser, FormParser from users.permissions import IsCurrentUser, IsAthlete, IsCoach +from workouts.mixins import CreateListModelMixin from workouts.permissions import IsOwner, IsReadOnly +from django.contrib.auth import get_user_model +from django.db.models import Q # Create your views here. class UserList(mixins.ListModelMixin, mixins.CreateModelMixin, generics.GenericAPIView): @@ -103,33 +97,31 @@ 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_param = 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() + filter_status = query_param.get("status", None) + if filter_status is not None and self.request is not None: + query_set = query_set.filter(status=filter_status) + if query_param.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 - else: - return result + filter_category = query_param.get("category", None) + if filter_category is not None and query_param is not None: + if filter_category == "sent": + query_set = query_set.filter(owner=user) + elif filter_category == "received": + query_set = query_set.filter(recipient=user) + return query_set + return result class OfferDetail(