fnp
/
wolnelektury.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add a robots line
[wolnelektury.git]
/
src
/
api
/
views.py
diff --git
a/src/api/views.py
b/src/api/views.py
index
86275aa
..
290dc93
100644
(file)
--- 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 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
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
serializer.is_valid(raise_exception=True)
d = serializer.validated_data
+ email = d['email']
+
user = User(
user = User(
- username=
d['email']
,
- email=
d['email']
,
- is_active=
Fals
e
+ username=
email
,
+ email=
email
,
+ is_active=
Tru
e
)
user.set_password(d['password'])
)
user.set_password(d['password'])
+ if settings.FEATURE_CONFIRM_USER:
+ user.is_active = False
+
try:
try:
+ assert not filter_users_by_email(email)
user.save()
except:
return Response(
user.save()
except:
return Response(
@@
-277,8
+284,11
@@
class RegisterView(GenericAPIView):
status=400
)
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):
class RefreshTokenView(APIView):
@@
-416,3
+426,9
@@
class ConsumeSessionTransferTokenView(View):
login(request, ott.user)
return redirect(next_url)
login(request, ott.user)
return redirect(next_url)
+
+
+class Unsupported(APIView):
+ get = post = put = delete = lambda self, request, path: Response({
+ "error": "unsupported-api",
+ }, status=410)