if not u.check_password(value):
raise serializers.ValidationError("Password incorrect.")
return value
+
+
+class ResetPasswordSerializer(serializers.Serializer):
+ email = serializers.EmailField()
path('me/', views.UserView.as_view()),
path('deleteAccount/', views.DeleteAccountView.as_view()),
path('password/', views.PasswordView.as_view()),
+ path('password-reset/', views.ResetPasswordView.as_view()),
path('', include('catalogue.api.urls2')),
path('', include('social.api.urls2')),
# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
#
from time import time
+from allauth.account.forms import ResetPasswordForm
from django.conf import settings
from django.contrib.auth import authenticate
from django.contrib.auth.decorators import login_required
u.set_password(d['new_password'])
u.save()
return Response({})
+
+
+class ResetPasswordView(GenericAPIView):
+ serializer_class = serializers.ResetPasswordSerializer
+
+ def post(self, request):
+ serializer = serializers.ResetPasswordSerializer(data=request.data)
+ serializer.is_valid(raise_exception=True)
+ form = ResetPasswordForm({"email": serializer.validated_data['email']})
+ form.is_valid()
+ form.save(request)
+ return Response({})