website/www/conservancy/local_context_processors.py
Ben Sturmfels 26ff31bb78
progress bar: Drop JS, make mobile friendly, match design to new site.
The existing jQuery UI-based fundraising progress bar used a float layout,
making it hard to adapt for mobile use. Given that there is not interactivity,
I've dropped all the JS and switched to a flexbox layout. This works well
because the bar will stretch to fit the text rather than always maintaining its scale.
2021-11-16 13:25:39 +11:00

37 lines
1.4 KiB
Python

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 = 'cy2021-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),
'cy2021-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('/')}