Files @ 2ba369aa5c5a
Branch filter:

Location: website/www/conservancy/frontpage.py

Bradley M. Kuhn
Supporter: js: fade out “Expand All” anchor when all sections expand

The expandable sections can be expanded either one-by-one, or with
the “Expand All” button. Add a counter for each expandable
section (which requires their div's to have 'id' attributes, lest
they be counted in the '__global' section of expandables).

The __global counter will work as advertised if you have no 'id'
attributes on any of your 'expandable-section'-classed div's, but if
you mix a __global without an id with ones that *do* have an id, it's
likely this particular code won't work for that.

Finally, add some documentation which is probably over-documenting
for someone who knows Javascript and jQuery well, but it took me a
while to figure out this code so I felt throwing some notes in there
might be helpful.
from conservancy import render_template_with_context
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

def view(request):
    """Conservancy front page view

    Performs all object queries necessary to render the front page.
    """

    now = datetime.now()
    context = {
        'press_releases': PressRelease.objects.all().filter(pub_date__lte=now, sites=2)[:5],
        'supporters_count': len(Supporter.objects.all().filter(display_until_date__gte=now)),
        'blog': BlogEntry.objects.all().filter(pub_date__lte=now)[:5],
    }
    return render_template_with_context(request, "frontpage.html", context)