Private
Public Access
1
0

timezone selector in workout edit form

This commit is contained in:
Sander Roosendaal
2018-07-01 17:21:18 +02:00
parent 200ff3c43f
commit 4214a4fcfc
2 changed files with 16 additions and 4 deletions

View File

@@ -1810,6 +1810,11 @@ class WorkoutForm(ModelForm):
self.fields['private'] = forms.BooleanField(initial=False, self.fields['private'] = forms.BooleanField(initial=False,
required=False, required=False,
label='Private') label='Private')
self.fields['timezone'] = forms.ChoiceField(
choices = [(x,x) for x in pytz.common_timezones]
)
if 'instance' in kwargs: if 'instance' in kwargs:
if kwargs['instance'].privacy == 'visible': if kwargs['instance'].privacy == 'visible':
self.fields['private'].initial = False self.fields['private'].initial = False

View File

@@ -6,6 +6,7 @@ import zipfile
import bleach import bleach
import arrow import arrow
import pytz import pytz
from pytz import UnknownTimeZoneError
import operator import operator
import warnings import warnings
import urllib import urllib
@@ -9333,17 +9334,23 @@ def workout_edit_view(request,id=0,message="",successmessage=""):
date,starttime date,starttime
) )
startdatetime = pytz.timezone(thetimezone).localize( try:
startdatetime startdatetime = pytz.timezone(thetimezone).localize(
startdatetime
) )
except UnknownTimeZoneError:
pass
try: try:
# aware object can be in any timezone # aware object can be in any timezone
out = startdatetime.astimezone(pytz.utc) out = startdatetime.astimezone(pytz.utc)
except (ValueError, TypeError): except (ValueError, TypeError):
startdatetime = timezone.make_aware(startdatetime) startdatetime = timezone.make_aware(startdatetime)
startdatetime = startdatetime.astimezone(pytz.timezone(thetimezone)) try:
startdatetime = startdatetime.astimezone(pytz.timezone(thetimezone))
except UnknownTimeZoneError:
thetimezone = 'UTC'
# check if user is owner of this workout # check if user is owner of this workout