diff options
| author | Bobby <[email protected]> | 2022-11-10 11:06:09 -0500 |
|---|---|---|
| committer | Bobby <[email protected]> | 2022-11-10 11:06:09 -0500 |
| commit | 8adfcb8911a1252702b4480a111e5fe3002ab814 (patch) | |
| tree | 7ad3e4fb27f96f1029b28050f8a217acc8e86ccc /users | |
| parent | 768d36b08fcb035822f67d7ede8d2cd3e6b211ce (diff) | |
| download | thatcomputerscientist-8adfcb8911a1252702b4480a111e5fe3002ab814.tar.xz thatcomputerscientist-8adfcb8911a1252702b4480a111e5fe3002ab814.zip | |
handle email verification for user profiles which dont exist
Diffstat (limited to 'users')
| -rw-r--r-- | users/views.py | 12 |
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): |
