def password_reset_confirm( request, uidb36=None, token=None, template_name='registration/password_reset_confirm.html', token_generator=default_token_generator, set_password_form=SetPasswordForm, post_reset_redirect=None, current_app=None, extra_context=None): '''View that checks the hash in a password reset link and presents a form for entering a new password. Doesn't need ``csrf_protect`` since no-one can guess the URL. ''' assert uidb36 is not None and token is not None # checked by URLconf if post_reset_redirect is None: post_reset_redirect = reverse('baph_password_change_complete') else: post_reset_redirect = resolve_url(post_reset_redirect) try: uid = base36_to_int(uidb36) user = get_object_or_404(User, id=uid) except (TypeError, ValueError, OverflowError): user = None if user is not None and token_generator.check_token(user, token): validlink = True title = _('Enter new password') if request.method == 'POST': form = set_password_form(user, request.POST) if form.is_valid(): form.save() return HttpResponseRedirect(post_reset_redirect) else: form = set_password_form(user) else: validlink = False form = None title = _('Password reset unsuccessful') context = { 'form': form, 'title': title, 'validlink': validlink, } if extra_context is not None: context.update(extra_context) return render_to_response(template_name, context, context_instance=RequestContext(request))
def password_reset_confirm(request, uidb36=None, token=None, template_name='registration/password_reset_confirm.html', token_generator=default_token_generator, set_password_form=SetPasswordForm, post_reset_redirect=None, current_app=None, extra_context=None): '''View that checks the hash in a password reset link and presents a form for entering a new password. Doesn't need ``csrf_protect`` since no-one can guess the URL. ''' assert uidb36 is not None and token is not None # checked by URLconf if post_reset_redirect is None: post_reset_redirect = reverse('baph_password_change_complete') else: post_reset_redirect = resolve_url(post_reset_redirect) try: uid = base36_to_int(uidb36) user = get_object_or_404(User, id=uid) except (TypeError, ValueError, OverflowError): user = None if user is not None and token_generator.check_token(user, token): validlink = True title = _('Enter new password') if request.method == 'POST': form = set_password_form(user, request.POST) if form.is_valid(): form.save() return HttpResponseRedirect(post_reset_redirect) else: form = set_password_form(user) else: validlink = False form = None title = _('Password reset unsuccessful') context = { 'form': form, 'title': title, 'validlink': validlink, } if extra_context is not None: context.update(extra_context) return render_to_response(template_name, context, context_instance=RequestContext(request))
def password_reset_confirm( request, uidb36=None, token=None, template_name=None, token_generator=default_token_generator, set_password_form=SetPasswordForm, post_reset_redirect=None, ): """View that checks the hash in a password reset link and presents a form for entering a new password. Doesn't need ``csrf_protect`` since no-one can guess the URL. """ assert uidb36 is not None and token is not None # checked by URLconf if not template_name: template_name = "registration/password_reset_confirm.html" if post_reset_redirect is None: post_reset_redirect = reverse("baph.auth.views.password_reset_complete") try: uid = UUID(int=base36_to_int(uidb36)) except ValueError: raise Http404 user = get_object_or_404(User, id=uid) context_instance = RequestContext(request) if token_generator.check_token(user, token): context_instance["validlink"] = True if request.method == "POST": form = set_password_form(user, request.POST) if form.is_valid(): form.save() return HttpResponseRedirect(post_reset_redirect) else: form = set_password_form(None) else: context_instance["validlink"] = False form = None context_instance["form"] = form return render_to_response(template_name, context_instance=context_instance)
def password_reset_confirm(request, uidb36=None, token=None, template_name=None, token_generator=default_token_generator, set_password_form=SetPasswordForm, post_reset_redirect=None): '''View that checks the hash in a password reset link and presents a form for entering a new password. Doesn't need ``csrf_protect`` since no-one can guess the URL. ''' assert uidb36 is not None and token is not None # checked by URLconf if not template_name: template_name = 'registration/password_reset_confirm.html' if post_reset_redirect is None: post_reset_redirect = reverse( 'baph.auth.views.password_reset_complete') try: uid = UUID(int=base36_to_int(uidb36)) except ValueError: raise Http404 user = get_object_or_404(User, id=uid) context_instance = RequestContext(request) if token_generator.check_token(user, token): context_instance['validlink'] = True if request.method == 'POST': form = set_password_form(user, request.POST) if form.is_valid(): form.save() return HttpResponseRedirect(post_reset_redirect) else: form = set_password_form(None) else: context_instance['validlink'] = False form = None context_instance['form'] = form return render_to_response(template_name, context_instance=context_instance)