Files @ 37d67fb1da4a
Branch filter:

Location: website/www/conservancy/local_context_processors.py

bsturmfels
Break submenus out into separately included files for reuse in sidebars.
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 = 'cy2020-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),
    'cy2020-end-year-match': DateTime(2021, 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('/')}