website/www/conservancy/frontpage.py
Bradley M. Kuhn 5c4cc1e2e1 Add sitefundgoal to top level view context.
The base template now has access to the fund-raising goal that will be
displayed site-wide.  The view here must provide it in the context for
access everywhere.

Furthermore, we need a local context processor to make sure it's in
context everywhere, and we have to make sure that context is properly
passed along.

This code is a bit cargo-culted in, based on what I read in various
places about adding the Request context.
2015-11-30 19:19:46 -08:00

24 lines
1,007 B
Python

from django.shortcuts import render_to_response
from conservancy import context_processors as context_processors
from django.template import RequestContext
from conservancy.apps.supporters.models import Supporter as Supporter
from conservancy.apps.news.models import PressRelease
from conservancy.apps.blog.models import Entry as BlogEntry
from datetime import datetime, timedelta
def view(request):
"""Conservancy front page view
Performs all object queries necessary to render the front page.
"""
supporters_count = len(Supporter.objects.all().filter(display_until_date__gte=datetime.now()))
press_releases = PressRelease.objects.all().filter(pub_date__lte=datetime.now(), sites=2)[:5]
blog = BlogEntry.objects.all().filter(pub_date__lte=datetime.now())[:3]
c = {
'press_releases': press_releases,
'supporters_count': supporters_count,
'blog' : blog
}
return render_to_response("frontpage.html", c, context_instance=RequestContext(request))