Exemple #1
0
def UserPasswordReset (request, template='registration/password_reset_email.html'):
	if request.method == 'POST':
		email = request.POST.get('email', None)
		if email is not None:
			form = PasswordResetForm({'email': email})
			if form.is_valid():
				form.clean()
				form.save(from_email=settings.EMAIL_SENDER_PREFIX + " <*****@*****.**>", email_template_name=template,
				          token_generator=default_token_generator, use_https=request.is_secure())
				response = json.dumps({'status': 'success', })
				return HttpResponse(response, mimetype="application/json")
Exemple #2
0
        def get(self, request: Request) -> Response:
            """
            Email a one-time use link to reset a password

            Required request parameter: 'email'
            """

            form = PasswordResetForm(request.GET)

            if form.is_valid():
                try:
                    sender = configs.resolve('accounts.registration.email')
                    form.clean()
                    form.save(from_email=sender, request=request)
                    return Response({'detail': _('Password-reset link sent')}, status=status.HTTP_200_OK)

                except SMTPException as error:
                    return Response({'detail': _('An error occurred while sending the password-reset link.'),
                                     'error': error}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
            else:
                return Response({'detail': _('Invalid email'),
                                 'errors': form.errors}, status=status.HTTP_400_BAD_REQUEST)