Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1from rest_framework.views import APIView
2from rest_framework.response import Response
3from rest_framework import status
4from rest_framework import permissions
5from django.http import Http404
7from policorp.serializers import UserSerializer
8from policorp.permissions import IsSameUser, IsSupervisorUser
9from policorp.models import User
11class UserView(APIView):
12 http_method_names = ['get']
13 permission_classes = [permissions.IsAuthenticated&(IsSupervisorUser|IsSameUser)]
15 def get_object(self, username):
16 try:
17 requestedUser = User.objects.get(username=username)
18 self.check_object_permissions(self.request, requestedUser)
19 return requestedUser
20 except User.DoesNotExist:
21 raise Http404
23 def get(self, request, username, format=None):
24 user = self.get_object(username)
25 serializer = UserSerializer(user)
26 return Response(serializer.data)