X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/84511437e601e85bf74f1c8fddf31b95aac54bfe..f62cf7aef22c2c6797f5069d8d436a02977d89e9:/src/api/views.py?ds=inline diff --git a/src/api/views.py b/src/api/views.py index 86275aaf4..5d526780a 100644 --- a/src/api/views.py +++ b/src/api/views.py @@ -3,6 +3,7 @@ # from time import time from allauth.account.forms import ResetPasswordForm +from allauth.account.utils import filter_users_by_email from django.conf import settings from django.contrib.auth import authenticate, login from django.contrib.auth.decorators import login_required @@ -260,14 +261,20 @@ class RegisterView(GenericAPIView): serializer.is_valid(raise_exception=True) d = serializer.validated_data + email = d['email'] + user = User( - username=d['email'], - email=d['email'], - is_active=False + username=email, + email=email, + is_active=True ) user.set_password(d['password']) + if settings.FEATURE_CONFIRM_USER: + user.is_active = False + try: + assert not filter_users_by_email(email) user.save() except: return Response( @@ -277,8 +284,11 @@ class RegisterView(GenericAPIView): status=400 ) - UserConfirmation.request(user) - return Response({}) + if settings.FEATURE_CONFIRM_USER: + UserConfirmation.request(user) + return Response({ + 'emailConfirmationRequired': settings.FEATURE_CONFIRM_USER, + }) class RefreshTokenView(APIView):