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
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