Commit fda086f06b33e2aac913d638d43cd644f4ba0488
1 parent
3c58e75f
Exists in
master
and in
2 other branches
API login function modifications
Showing
1 changed file
with
21 additions
and
7 deletions
Show diff stats
api/views.py
@@ -4,7 +4,7 @@ from django.contrib.auth import authenticate | @@ -4,7 +4,7 @@ from django.contrib.auth import authenticate | ||
4 | from django.views.decorators.csrf import csrf_exempt | 4 | from django.views.decorators.csrf import csrf_exempt |
5 | from rest_framework import viewsets | 5 | from rest_framework import viewsets |
6 | from rest_framework.response import Response | 6 | from rest_framework.response import Response |
7 | -from rest_framework.decorators import detail_route | 7 | +from rest_framework.decorators import detail_route, list_route |
8 | from rest_framework.permissions import IsAuthenticated, IsAuthenticatedOrReadOnly | 8 | from rest_framework.permissions import IsAuthenticated, IsAuthenticatedOrReadOnly |
9 | 9 | ||
10 | from security.models import Security | 10 | from security.models import Security |
@@ -18,18 +18,32 @@ from django.http import HttpResponse | @@ -18,18 +18,32 @@ from django.http import HttpResponse | ||
18 | 18 | ||
19 | class LoginViewset(viewsets.ReadOnlyModelViewSet): | 19 | class LoginViewset(viewsets.ReadOnlyModelViewSet): |
20 | queryset = User.objects.all() | 20 | queryset = User.objects.all() |
21 | - permissions_classes = (IsAuthenticatedOrReadOnly,) | 21 | + permissions_classes = (IsAuthenticated,) |
22 | 22 | ||
23 | @csrf_exempt | 23 | @csrf_exempt |
24 | - @detail_route(methods = ['post']) | 24 | + @list_route(methods = ['POST'], permissions_classes = [IsAuthenticated]) |
25 | def login(self, request): | 25 | def login(self, request): |
26 | - username = request.DATA['email'] | 26 | + username = request.data['email'] |
27 | 27 | ||
28 | - user = get_object_or_404(self.queryset, email = username) | 28 | + user = self.queryset.get(email = username) |
29 | 29 | ||
30 | - serializer = UserSerializer(user) | 30 | + if not user is None: |
31 | + serializer = UserSerializer(user) | ||
32 | + | ||
33 | + json_r = json.dumps(serializer.data) | ||
34 | + json_r = json.loads(json_r) | ||
35 | + print(type(serializer.data)) | ||
36 | + | ||
37 | + json_r["message"] = "" | ||
38 | + json_r["type"] = "" | ||
39 | + json_r["title"] = "" | ||
40 | + json_r["success"] = True | ||
41 | + json_r["number"] = 1 | ||
42 | + json_r['extra'] = 0 | ||
43 | + | ||
44 | + response = json.dumps(json_r) | ||
31 | 45 | ||
32 | - return Response(serializer.data) | 46 | + return HttpResponse(response) |
33 | 47 | ||
34 | @csrf_exempt | 48 | @csrf_exempt |
35 | def getToken(request): | 49 | def getToken(request): |