|
|
|
@ -1,5 +1,7 @@ |
|
|
|
|
from django.contrib.auth.models import User |
|
|
|
|
from rest_framework import viewsets, permissions |
|
|
|
|
from rest_framework import mixins, permissions, viewsets |
|
|
|
|
|
|
|
|
|
from rest_framework.response import Response |
|
|
|
|
|
|
|
|
|
from . import models, serializers |
|
|
|
|
|
|
|
|
@ -14,20 +16,31 @@ class CategoryViewSet(viewsets.ModelViewSet): |
|
|
|
|
queryset = models.Category.objects.all().order_by('id') |
|
|
|
|
serializer_class = serializers.CategorySerializer |
|
|
|
|
permission_classes = (IsLockoutAdmin,) |
|
|
|
|
lookup_field='slug' |
|
|
|
|
|
|
|
|
|
class ToolViewSet(viewsets.ModelViewSet): |
|
|
|
|
queryset = models.Tool.objects.all().order_by('id') |
|
|
|
|
serializer_class = serializers.ToolSerializer |
|
|
|
|
permission_classes = (IsLockoutAdmin,) |
|
|
|
|
lookup_field='slug' |
|
|
|
|
|
|
|
|
|
class ToolDataViewSet(viewsets.ReadOnlyModelViewSet): |
|
|
|
|
queryset = models.Category.objects.all().order_by('id') |
|
|
|
|
serializer_class = serializers.ToolDataSerializer |
|
|
|
|
class ToolDataViewSet(viewsets.ViewSet): |
|
|
|
|
def list(self, request): |
|
|
|
|
objects = models.Category.objects.all().order_by('id') |
|
|
|
|
serializer = serializers.ToolDataSerializer(objects, many=True, context={'request': request}) |
|
|
|
|
return Response({'categories': serializer.data}) |
|
|
|
|
|
|
|
|
|
class ProfileViewSet(viewsets.ModelViewSet): |
|
|
|
|
class ProfileViewSet( |
|
|
|
|
mixins.RetrieveModelMixin, |
|
|
|
|
mixins.UpdateModelMixin, |
|
|
|
|
mixins.ListModelMixin, |
|
|
|
|
viewsets.GenericViewSet): |
|
|
|
|
queryset = models.Profile.objects.all().order_by('-user__date_joined') |
|
|
|
|
serializer_class = serializers.ProfileSerializer |
|
|
|
|
permission_classes = (IsLockoutAdmin,) |
|
|
|
|
|
|
|
|
|
class UserViewSet(viewsets.ModelViewSet): |
|
|
|
|
queryset = models.User.objects.all().order_by('-date_joined') |
|
|
|
|
class UserViewSet(viewsets.ReadOnlyModelViewSet): |
|
|
|
|
serializer_class = serializers.UserSerializer |
|
|
|
|
|
|
|
|
|
def get_queryset(self): |
|
|
|
|
return User.objects.filter(username=self.request.user) |
|
|
|
|