aboutsummaryrefslogtreecommitdiff
path: root/users
diff options
context:
space:
mode:
authorBobby <[email protected]>2022-11-10 11:06:09 -0500
committerBobby <[email protected]>2022-11-10 11:06:09 -0500
commit8adfcb8911a1252702b4480a111e5fe3002ab814 (patch)
tree7ad3e4fb27f96f1029b28050f8a217acc8e86ccc /users
parent768d36b08fcb035822f67d7ede8d2cd3e6b211ce (diff)
downloadthatcomputerscientist-8adfcb8911a1252702b4480a111e5fe3002ab814.tar.xz
thatcomputerscientist-8adfcb8911a1252702b4480a111e5fe3002ab814.zip
handle email verification for user profiles which dont exist
Diffstat (limited to 'users')
-rw-r--r--users/views.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/users/views.py b/users/views.py
index de762863..353d91ca 100644
--- a/users/views.py
+++ b/users/views.py
@@ -29,7 +29,11 @@ def login_user(request):
# check if email is verified
user = authenticate(request, username=username, password=password)
if user is not None:
- email_verified = UserProfile.objects.get(user=user.pk).email_verified
+ try:
+ email_verified = UserProfile.objects.get(user=user.pk).email_verified
+ except:
+ # user has no profile
+ email_verified = False
if email_verified:
login(request, user)
return HttpResponseRedirect(next)
@@ -130,7 +134,11 @@ def verify_email(request, uidb64, token):
try:
uid = urlsafe_base64_decode(uidb64).decode()
user = User.objects.get(pk=uid)
- user_profile = UserProfile.objects.get(user=user.pk)
+ try:
+ user_profile = UserProfile.objects.get(user=user.pk)
+ except UserProfile.DoesNotExist:
+ user_profile = UserProfile(user=user)
+ user_profile.save()
except (TypeError, ValueError, OverflowError, User.DoesNotExist):
user = None
if user is not None and account_activation_token.check_token(user, token):