# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
#
from time import time
+from django.conf import settings
from django.contrib.auth import authenticate
from django.contrib.auth.decorators import login_required
from django.contrib.auth.models import User
})
def post(self, request):
+ if not settings.FEATURE_API_REGISTER:
+ return Response(
+ {
+ "detail": "Rejestracja aktualnie niedostępna."
+ },
+ status=400
+ )
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
d = serializer.validated_data
UserConfirmation.request(user)
return Response({})
+
+class DeleteAccountView(GenericAPIView):
+ permission_classes = [IsAuthenticated]
+ serializer_class = serializers.DeleteAccountSerializer
+
+ def post(self, request):
+ u = request.user
+ serializer = self.get_serializer(
+ data=request.data,
+ context={'user': u}
+ )
+ serializer.is_valid(raise_exception=True)
+ d = serializer.validated_data
+ u.is_active = False
+ u.save()
+ return Response({})
+
+
+class PasswordView(GenericAPIView):
+ permission_classes = [IsAuthenticated]
+ serializer_class = serializers.PasswordSerializer
+
+ def post(self, request):
+ u = request.user
+ serializer = self.get_serializer(
+ data=request.data,
+ context={'user': u}
+ )
+ serializer.is_valid(raise_exception=True)
+ d = serializer.validated_data
+ u.set_password(d['new_password'])
+ u.save()
+ return Response({})