11# Uncomment the required imports before adding the code
22
3- # from django.shortcuts import render
4- # from django.http import HttpResponseRedirect, HttpResponse
5- # from django.contrib.auth.models import User
6- # from django.shortcuts import get_object_or_404, render, redirect
7- # from django.contrib.auth import logout
8- # from django.contrib import messages
9- # from datetime import datetime
3+ from django .shortcuts import render
4+ from django .http import HttpResponseRedirect , HttpResponse
5+ from django .contrib .auth .models import User
6+ from django .shortcuts import get_object_or_404 , render , redirect
7+ from django .contrib .auth import logout
8+ from django .contrib import messages
9+ from datetime import datetime
10+
1011
1112from django .http import JsonResponse
1213from django .contrib .auth import login , authenticate
1314import logging
1415import json
1516from django .views .decorators .csrf import csrf_exempt
16- # from .populate import initiate
17+ from .populate import initiate
1718
1819
19- # Get an instance of a logger
20+ #Get an instance of a logger
2021logger = logging .getLogger (__name__ )
2122
2223
@@ -39,13 +40,43 @@ def login_user(request):
3940 return JsonResponse (data )
4041
4142# Create a `logout_request` view to handle sign out request
42- # def logout_request(request):
43- # ...
43+ def logout_request (request ):
44+ logout (request )
45+ data = {"userName" :"" }
46+ return JsonResponse (data )
4447
4548# Create a `registration` view to handle sign up request
46- # @csrf_exempt
47- # def registration(request):
48- # ...
49+ @csrf_exempt
50+ def registration (request ):
51+ context = {}
52+
53+ data = json .loads (request .body )
54+ username = data ['userName' ]
55+ password = data ['password' ]
56+ first_name = data ['firstName' ]
57+ last_name = data ['lastName' ]
58+ email = data ['email' ]
59+ username_exist = False
60+ email_exist = False
61+ try :
62+ # Check if user already exists
63+ User .objects .get (username = username )
64+ username_exist = True
65+ except :
66+ # If not, simply log this is a new user
67+ logger .debug ("{} is new user" .format (username ))
68+
69+ # If it is a new user
70+ if not username_exist :
71+ # Create user in auth_user table
72+ user = User .objects .create_user (username = username , first_name = first_name , last_name = last_name ,password = password , email = email )
73+ # Login the user and redirect to list page
74+ login (request , user )
75+ data = {"userName" :username ,"status" :"Authenticated" }
76+ return JsonResponse (data )
77+ else :
78+ data = {"userName" :username ,"error" :"Already Registered" }
79+ return JsonResponse (data )
4980
5081# # Update the `get_dealerships` view to render the index page with
5182# a list of dealerships
0 commit comments