Ejemplo n.º 1
0
def user_urls(request):
    """Context processor adding user login urls."""
    ctx = {
        'subdomain': request.blog is not None,
        'dash_url': fullurl(reverse('dash')),
        'latest_blogs': Blog.all().order('created').fetch(5)
    }
    if request.user:
        ctx['user'] = request.user
        ctx['user_blog'] = request.user_blog
        ctx['logout_url'] = users.create_logout_url(fullurl(reverse('postlist')))
    else:
        ctx['login_url'] = users.create_login_url(fullurl(reverse('dash')))
    return ctx
Ejemplo n.º 2
0
    def process_request(self, request):
        request.user = users.get_current_user()
        # find the logged in user's blog
        if request.user:
            user_blog = Blog.all().filter("owner =", request.user.user_id()).fetch(1)
            request.user_blog = user_blog[0] if user_blog else None
        else:
            request.user_blog = None

        # find the blog by subdomain
        host = request.get_host().lower()
        if host != settings.SITE_DOMAIN:
            prefix = host.split('.', 1)[0]
            request.blog = Blog.get_by_key_name(prefix)
            if not request.blog:
                if prefix == 'www':
                    return redirect(fullurl(request.get_full_path()))
                else:
                    raise Http404
        else:
            request.blog = None