initial implementation of Power Zones form
This commit is contained in:
178
rowers/models.py
178
rowers/models.py
@@ -427,89 +427,115 @@ class RowerPowerForm(ModelForm):
|
||||
# Form to set rower's Power zones, including test routines
|
||||
# to enable consistency
|
||||
class RowerPowerZonesForm(ModelForm):
|
||||
ut2name = forms.CharField(initial='UT2')
|
||||
ut1name = forms.CharField(initial='UT1')
|
||||
atname = forms.CharField(initial='AT')
|
||||
trname = forms.CharField(initial='TR')
|
||||
anname = forms.CharField(initial='AN')
|
||||
|
||||
powerzones = ['UT3','UT2','UT1','AT','TR','AN']
|
||||
ut3name = forms.CharField(initial=powerzones[0])
|
||||
ut2name = forms.CharField(initial=powerzones[1])
|
||||
ut1name = forms.CharField(initial=powerzones[2])
|
||||
atname = forms.CharField(initial=powerzones[3])
|
||||
trname = forms.CharField(initial=powerzones[4])
|
||||
anname = forms.CharField(initial=powerzones[5])
|
||||
|
||||
def __init__(self, *args,**kwargs):
|
||||
super(RowerPowerZonesForm, self).__init__(*args, **kwargs)
|
||||
|
||||
if 'instance' in kwargs:
|
||||
powerzones = kwargs['instance'].powerzones
|
||||
else:
|
||||
powerzones = ['UT3','UT2','UT1','AT','TR','AN']
|
||||
|
||||
self.fields['ut3name'].initial = powerzones[0]
|
||||
self.fields['ut2name'].initial = powerzones[1]
|
||||
self.fields['ut1name'].initial = powerzones[2]
|
||||
self.fields['atname'].initial = powerzones[3]
|
||||
self.fields['trname'].initial = powerzones[4]
|
||||
self.fields['anname'].initial = powerzones[5]
|
||||
|
||||
class Meta:
|
||||
model = Rower
|
||||
fields = ['pw_ut2','pw_ut1','pw_at','pw_tr','pw_an']
|
||||
|
||||
def clean(self):
|
||||
try:
|
||||
pw_ut2 = self.cleaned_data['pw_ut2']
|
||||
except:
|
||||
pw_ut2 = int(self.data['pw_ut2'])
|
||||
try:
|
||||
pw_ut1 = self.cleaned_data['pw_ut1']
|
||||
except:
|
||||
pw_ut1 = int(self.data['pw_ut1'])
|
||||
try:
|
||||
pw_at = self.cleaned_data['pw_at']
|
||||
except:
|
||||
pw_at = int(self.data['pw_at'])
|
||||
try:
|
||||
pw_tr = self.cleaned_data['pw_tr']
|
||||
except:
|
||||
pw_tr = int(self.data['pw_tr'])
|
||||
try:
|
||||
pw_an = self.cleaned_data['pw_an']
|
||||
except:
|
||||
pw_an = int(self.data['pw_an'])
|
||||
def clean(self):
|
||||
cleaned_data = super(RowerPowerZonesForm, self).clean()
|
||||
try:
|
||||
pw_ut2 = cleaned_data['pw_ut2']
|
||||
except:
|
||||
pw_ut2 = int(self.data['pw_ut2'])
|
||||
try:
|
||||
pw_ut1 = cleaned_data['pw_ut1']
|
||||
except:
|
||||
pw_ut1 = int(self.data['pw_ut1'])
|
||||
try:
|
||||
pw_at = cleaned_data['pw_at']
|
||||
except:
|
||||
pw_at = int(self.data['pw_at'])
|
||||
try:
|
||||
pw_tr = cleaned_data['pw_tr']
|
||||
except:
|
||||
pw_tr = int(self.data['pw_tr'])
|
||||
try:
|
||||
pw_an = cleaned_data['pw_an']
|
||||
except:
|
||||
pw_an = int(self.data['pw_an'])
|
||||
|
||||
try:
|
||||
ut2name = self.cleaned_data['ut2name']
|
||||
except:
|
||||
ut2name = 'UT2'
|
||||
self.cleaned_data['ut2name'] = 'UT2'
|
||||
try:
|
||||
ut1name = self.cleaned_data['ut1name']
|
||||
except:
|
||||
ut1name = 'UT1'
|
||||
self.cleaned_data['ut1name'] = 'UT1'
|
||||
try:
|
||||
atname = self.cleaned_data['atname']
|
||||
except:
|
||||
atname = 'AT'
|
||||
self.cleaned_data['atname'] = 'AT'
|
||||
try:
|
||||
trname = self.cleaned_data['trname']
|
||||
except:
|
||||
trname = 'TR'
|
||||
self.cleaned_data['ut1name'] = 'TR'
|
||||
try:
|
||||
anname = self.cleaned_data['anname']
|
||||
except:
|
||||
anname = 'AN'
|
||||
self.cleaned_data['ut1name'] = 'AN'
|
||||
try:
|
||||
ut3name = cleaned_data['ut3name']
|
||||
except:
|
||||
ut2name = 'UT3'
|
||||
cleaned_data['ut3name'] = 'UT3'
|
||||
try:
|
||||
ut2name = cleaned_data['ut2name']
|
||||
except:
|
||||
ut2name = 'UT2'
|
||||
cleaned_data['ut2name'] = 'UT2'
|
||||
try:
|
||||
ut1name = cleaned_data['ut1name']
|
||||
except:
|
||||
ut1name = 'UT1'
|
||||
cleaned_data['ut1name'] = 'UT1'
|
||||
try:
|
||||
atname = cleaned_data['atname']
|
||||
except:
|
||||
atname = 'AT'
|
||||
cleaned_data['atname'] = 'AT'
|
||||
try:
|
||||
trname = cleaned_data['trname']
|
||||
except:
|
||||
trname = 'TR'
|
||||
cleaned_data['ut1name'] = 'TR'
|
||||
try:
|
||||
anname = cleaned_data['anname']
|
||||
except:
|
||||
anname = 'AN'
|
||||
cleaned_data['ut1name'] = 'AN'
|
||||
|
||||
|
||||
if pw_ut1 <= pw_ut2:
|
||||
e = "{ut1name} should be higher than {ut2name}".format(
|
||||
ut1name = ut1name,
|
||||
ut2name= ut2name,
|
||||
)
|
||||
raise forms.ValidationError(e)
|
||||
if pw_at <= pw_ut1:
|
||||
e = "{atname} should be higher than {ut1name}".format(
|
||||
atname = atname,
|
||||
ut1name= ut1name,
|
||||
)
|
||||
raise forms.ValidationError(e)
|
||||
if pw_tr <= pw_at:
|
||||
e = "{trname} should be higher than {atname}".format(
|
||||
atname = atname,
|
||||
trname= trname,
|
||||
)
|
||||
raise forms.ValidationError(e)
|
||||
if pw_an <= pw_tr:
|
||||
e = "{anname} should be higher than {trname}".format(
|
||||
anname = anname,
|
||||
trname= trname,
|
||||
)
|
||||
raise forms.ValidationError(e)
|
||||
|
||||
if pw_ut1 <= pw_ut2:
|
||||
e = "{ut1name} should be higher than {ut2name}".format(
|
||||
ut1name = ut1name,
|
||||
ut2name= ut2name,
|
||||
)
|
||||
raise forms.ValidationError(e)
|
||||
if pw_at <= pw_ut1:
|
||||
e = "{atname} should be higher than {ut1name}".format(
|
||||
atname = atname,
|
||||
ut1name= ut1name,
|
||||
)
|
||||
raise forms.ValidationError(e)
|
||||
if pw_tr <= pw_at:
|
||||
e = "{trname} should be higher than {atname}".format(
|
||||
atname = atname,
|
||||
trname= trname,
|
||||
)
|
||||
raise forms.ValidationError(e)
|
||||
if pw_an <= pw_tr:
|
||||
e = "{anname} should be higher than {trname}".format(
|
||||
anname = anname,
|
||||
trname= trname,
|
||||
)
|
||||
raise forms.ValidationError(e)
|
||||
|
||||
return cleaned_data
|
||||
|
||||
# Form to set rower's Heart Rate zones, including test routines
|
||||
# to enable consistency
|
||||
|
||||
Reference in New Issue
Block a user