Skip to content

Commit 5bf3ab4

Browse files
authored
Refactor authentication and registration views
Refactor views.py for improved clarity and structure.
1 parent e1cca22 commit 5bf3ab4

File tree

1 file changed

+21
-40
lines changed

1 file changed

+21
-40
lines changed

server/djangoapp/views.py

Lines changed: 21 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,18 @@
1-
# Uncomment the required imports before adding the code
2-
3-
from django.shortcuts import render
4-
from django.http import HttpResponseRedirect, HttpResponse
51
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-
2+
from django.contrib.auth import logout, login, authenticate
113
from django.http import JsonResponse
12-
from django.contrib.auth import login, authenticate
4+
from django.views.decorators.csrf import csrf_exempt
135
import logging
146
import json
15-
from django.views.decorators.csrf import csrf_exempt
16-
from .populate import initiate
177

8+
from .populate import initiate
189
from .models import CarMake, CarModel
19-
2010
from .restapis import get_request, analyze_review_sentiments, post_review
2111

2212
# Get an instance of a logger
2313
logger = logging.getLogger(__name__)
2414

15+
2516
# Create your views here.
2617

2718
# Create a `login_request` view to handle sign in request
@@ -31,11 +22,11 @@ def login_user(request):
3122
data = json.loads(request.body)
3223
username = data['userName']
3324
password = data['password']
34-
# Try to check if provide credential can be authenticated
25+
# Try to check if provided credentials can be authenticated
3526
user = authenticate(username=username, password=password)
3627
data = {"userName": username}
3728
if user is not None:
38-
# If user is valid, call login method to login current user
29+
# If user is valid, log in the current user
3930
login(request, user)
4031
data = {"userName": username, "status": "Authenticated"}
4132
return JsonResponse(data)
@@ -51,8 +42,6 @@ def logout_request(request):
5142
# Create a `registration` view to handle sign up request
5243
@csrf_exempt
5344
def registration(request):
54-
context = {}
55-
5645
# Load JSON data from the request body
5746
data = json.loads(request.body)
5847
username = data['userName']
@@ -61,14 +50,14 @@ def registration(request):
6150
last_name = data['lastName']
6251
email = data['email']
6352
username_exist = False
64-
email_exist = False
53+
6554
try:
6655
# Check if user already exists
6756
User.objects.get(username=username)
6857
username_exist = True
6958
except Exception:
70-
# If not, simply log this is a new user
71-
logger.debug("{} is new user".format(username))
59+
# If not, simply log that this is a new user
60+
logger.debug("%s is a new user", username)
7261

7362
# If it is a new user
7463
if not username_exist:
@@ -80,19 +69,18 @@ def registration(request):
8069
password=password,
8170
email=email,
8271
)
83-
# Login the user and redirect to list page
72+
# Login the user and return status
8473
login(request, user)
8574
data = {"userName": username, "status": "Authenticated"}
8675
return JsonResponse(data)
87-
else:
88-
data = {"userName": username, "error": "Already Registered"}
89-
return JsonResponse(data)
76+
77+
data = {"userName": username, "error": "Already Registered"}
78+
return JsonResponse(data)
9079

9180

9281
# Create `get_cars` view to render the car model list
9382
def get_cars(request):
9483
count = CarMake.objects.filter().count()
95-
print(count)
9684
if count == 0:
9785
initiate()
9886
car_models = CarModel.objects.select_related('car_make')
@@ -104,8 +92,8 @@ def get_cars(request):
10492
return JsonResponse({"CarModels": cars})
10593

10694

107-
# Update the `get_dealerships` render list of dealerships all by default,
108-
# particular state if state is passed
95+
# Update the `get_dealerships` to render list of dealerships:
96+
# all by default, or a particular state if state is passed
10997
def get_dealerships(request, state="All"):
11098
if state == "All":
11199
endpoint = "/fetchDealers"
@@ -117,25 +105,23 @@ def get_dealerships(request, state="All"):
117105

118106
# Create a `get_dealer_reviews` view to render the reviews of a dealer
119107
def get_dealer_reviews(request, dealer_id):
120-
# if dealer id has been provided
108+
# If dealer id has been provided
121109
if dealer_id:
122110
try:
123111
endpoint = "/fetchReviews/dealer/" + str(dealer_id)
124112
reviews = get_request(endpoint)
125113
for review_detail in reviews:
126114
response = analyze_review_sentiments(review_detail['review'])
127-
print(response)
128115
review_detail['sentiment'] = response.get(
129116
'sentiment',
130-
'neutral'
117+
'neutral',
131118
)
132119
return JsonResponse({"status": 200, "reviews": reviews})
133120
except Exception:
134121
return JsonResponse(
135122
{"status": 500, "message": "Internal server error"}
136123
)
137-
else:
138-
return JsonResponse({"status": 400, "message": "Bad Request"})
124+
return JsonResponse({"status": 400, "message": "Bad Request"})
139125

140126

141127
# Create a `get_dealer_details` view to render the dealer details
@@ -144,23 +130,18 @@ def get_dealer_details(request, dealer_id):
144130
endpoint = "/fetchDealer/" + str(dealer_id)
145131
dealership = get_request(endpoint)
146132
return JsonResponse({"status": 200, "dealer": dealership})
147-
else:
148-
return JsonResponse({"status": 400, "message": "Bad Request"})
133+
return JsonResponse({"status": 400, "message": "Bad Request"})
149134

150135

151136
# Create an `add_review` view to submit a review
152137
def add_review(request):
153-
if request.user.is_anonymous is False:
138+
if not request.user.is_anonymous:
154139
data = json.loads(request.body)
155140
try:
156-
# response = post_review(data)
157141
post_review(data)
158142
return JsonResponse({"status": 200})
159143
except Exception:
160144
return JsonResponse(
161145
{"status": 401, "message": "Error in posting review"}
162146
)
163-
else:
164-
return JsonResponse(
165-
{"status": 403, "message": "Unauthorized"}
166-
)
147+
return JsonResponse({"status": 403, "message": "Unauthorized"})

0 commit comments

Comments
 (0)