Beispiel #1
0
    def post(self, request, token, *args, **kwargs):
        try:
            reset_token = ResetToken.objects.get(token=token)
        except (ResetToken.DoesNotExist, MultipleObjectsReturned):
            return render(request, 'reset/reset_password.html', {'validlink': False}, status=400)

        form = ResetPasswordForm(request.POST)
        if form.is_valid():
            logger.info("Reset password form for {} was valid, saving new password".format(reset_token.user.email))
            form.save(user=reset_token.user)
            return redirect('home')

        return render(request, 'reset/reset_password.html', {'form': form, 'user': reset_token.user, 'validlink': True})