def profile(request):
    user = request.user
    authed = []

    for client in get_authorized_clients(user):
        token = AccessToken.objects.filter(
            user=user,
            client=client
        ).order_by('-expire').select_related()[0]

        authed.append({
            "client": client,
            "last_token": token
        })

    return render_to_response(
        'accounts/profile.html', {
            "clients": Client.objects.filter(user=user),
            "authed_apps": authed

#             "codes": Code.objects.filter(
#                 user=user
#             ).order_by('-expire').select_related(),
#             "tokens": AccessToken.objects.filter(
#                 user=user
#             ).order_by('-expire').select_related(),

        }, RequestContext(request)
    )
def authorize(request):
    authorizer = Authorizer()
    try:
        authorizer.validate(request)
    except MissingRedirectURI:
        return HttpResponseRedirect("/oauth2/missing_redirect/")  # XXX: Fix.
    except AuthorizationException:
        # The request is malformed or invalid. Automatically
        # redirects to the provided redirect URL.
        return authorizer.error_redirect()
    if request.method == 'GET':
        # Make sure the authorizer has validated before requesting the client
        # or access_ranges as otherwise they will be None.
        if settings.SHOELACE_QUERY_AUTH_ALWAYS:
            return authorizer.grant_redirect()

        if settings.SHOELACE_QUERY_AUTH_FIRST_LOGIN:
            if authorizer.client.id in [
                x.id for x in get_authorized_clients(request.user)
            ]:
                return authorizer.grant_redirect()

        profile = ClientProfile.objects.filter(client=authorizer.client)
        profile = None if len(profile) <= 0 else profile[0]

        template = {
            "client": authorizer.client,
            "access_ranges": authorizer.access_ranges,
            "GET": request.GET,
            "profile": profile
        }
        return render_to_response(
            'oauth2/authorize.html',
            template,
            RequestContext(request)
        )
    elif request.method == 'POST':
        form = AuthorizeForm(request.POST)
        if form.is_valid():
            if request.POST.get("connect") == "Yes":
                return authorizer.grant_redirect()
            else:
                return authorizer.error_redirect()
    return HttpResponseRedirect("/")
def profile(request):
    user = request.user
    authed = []

    for client in get_authorized_clients(user):
        token = AccessToken.objects.filter(
            user=user, client=client).order_by('-expire').select_related()[0]

        authed.append({"client": client, "last_token": token})

    return render_to_response(
        'accounts/profile.html',
        {
            "clients": Client.objects.filter(user=user),
            "authed_apps": authed

            #             "codes": Code.objects.filter(
            #                 user=user
            #             ).order_by('-expire').select_related(),
            #             "tokens": AccessToken.objects.filter(
            #                 user=user
            #             ).order_by('-expire').select_related(),
        },
        RequestContext(request))