

def password_reset_from_key(request, uidb36, key, **kwargs):
    form_class = kwargs.get('form_class', ResetPasswordKeyForm)
    template_name = kwargs.get('template_name', 'account/password_reset_from_key.html')
    token_generator = kwargs.get('token_generator', default_token_generator)
    (group, bridge) = group_and_bridge(kwargs)
    ctx = group_context(group, bridge)
    try:
        uid_int = base36_to_int(uidb36)
    except ValueError:
        raise Http404
    user = get_object_or_404(User, id=uid_int)
    if token_generator.check_token(user, key):
        if (request.method == 'POST'):
            password_reset_key_form = form_class(request.POST, user=user, temp_key=key)
            if password_reset_key_form.is_valid():
                password_reset_key_form.save()
                messages.add_message(request, messages.SUCCESS, ugettext('Password successfully changed.'))
                password_reset_key_form = None
        else:
            password_reset_key_form = form_class()
        ctx.update({
            'form': password_reset_key_form,
        })
    else:
        ctx.update({
            'token_fail': True,
        })
    return render_to_response(template_name, RequestContext(request, ctx))

dataset/ETHPy150Open amarandon/smeuhsocial/apps/account/views.py password_reset_from_key/original