Ben Sturmfels
26ff31bb78
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.
37 lines
1.4 KiB
Python
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('/')}
|