def password_reset_key_done(request, key=None): data = {'note': _("Change your password")} form = ChangePasswordForm() try: user_verification = UserVerification.objects.get( password_reset_key=key) user = user_verification.user user.is_authenticated = False user.save() request.user = user except Exception as e: data['note'] = _("""Password reset operation failed""") log.error(e.message, extra=request.log_extra) if request.method == 'POST': form = ChangePasswordForm(request.POST) if form.is_valid(): try: request.user.set_password(form.cleaned_data['password']) request.user.save() data['note'] = _("""Your password has been changed""") form = None redirect("index") except Exception as e: data['note'] = _("""Your password couldn't be changed""") log.error(e.message, extra=request.log_extra) data['changepasswordform'] = form data['user'] = request.user return render(request, "userprofile/change_password.html", data)
def password_reset(request): data = {"note": _("Change your password")} form = ChangePasswordForm() if request.method == 'POST': form = ChangePasswordForm(request.POST) if form.is_valid(): try: request.user.set_password(form.cleaned_data['password']) request.user.save() # noinspection PyTypeChecker backend_login(request, request.user) data['note'] = _("Your password has been changed") form = None except Exception as e: data['note'] = _("Your password couldn't be changed") log.error(e.message, extra=request.log_extra) data['changepasswordform'] = form return render(request, "userprofile/change_password.html", data)