Files @ aeb4408f47b2
Branch filter:

Location: website/www/conservancy/local_context_processors.py

Bradley M. Kuhn
Copyleft Compliance: Strategic GPL Enforcement Initiative menu fix

Put the “Strategic GPL Enforcement Initiative” menu item higher up in
the menu, and name it to match the title now on that page.
from datetime import datetime as DateTime
from pytz import utc as UTC

import conservancy.settings
from conservancy.apps.fundgoal.models import FundraisingGoal as FundraisingGoal

SITE_FUNDGOAL = 'cy2019-end-year-match'
# FIXME: Move this information into the model.
FUNDGOAL_ENDTIMES = {
    # Noon UTC = the end of the previous day anywhere on Earth (AOE)
    'cy2018-end-year-match': DateTime(2019, 1, 16, 12, tzinfo=UTC),
    'cy2019-end-year-match': DateTime(2020, 1, 16, 12, tzinfo=UTC),
}

def fundgoal_lookup(fundraiser_sought):
    try:
        return FundraisingGoal.objects.get(fundraiser_code_name=fundraiser_sought)
    except FundraisingGoal.DoesNotExist:
        # we have no object!  do something
        return None

def sitefundraiser(request):
    return {
        'datetime_now': DateTime.now(UTC),
        'sitefundgoal': fundgoal_lookup(SITE_FUNDGOAL),
        'sitefundgoal_endtime': FUNDGOAL_ENDTIMES[SITE_FUNDGOAL],
    }

if conservancy.settings.FORCE_CANONICAL_HOSTNAME:
    _HOST_URL_VAR = {'host_url': 'https://' + conservancy.settings.FORCE_CANONICAL_HOSTNAME}
    def host_url(request):
        return _HOST_URL_VAR
else:
    def host_url(request):
        return {'host_url': request.build_absolute_uri('/').rstrip('/')}