Hide keyboard shortcuts

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 

6 

7from policorp.serializers import UserSerializer 

8from policorp.permissions import IsSameUser, IsSupervisorUser 

9from policorp.models import User 

10 

11class UserView(APIView): 

12 http_method_names = ['get'] 

13 permission_classes = [permissions.IsAuthenticated&(IsSupervisorUser|IsSameUser)] 

14 

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 

22 

23 def get(self, request, username, format=None): 

24 user = self.get_object(username) 

25 serializer = UserSerializer(user) 

26 return Response(serializer.data)