Private
Public Access
1
0

defined PowerZonesForm

This commit is contained in:
Sander Roosendaal
2017-01-25 15:37:26 +01:00
parent e4c2270306
commit 5eed5d05a8
3 changed files with 120 additions and 22 deletions

View File

@@ -424,6 +424,93 @@ class RowerPowerForm(ModelForm):
model = Rower
fields = ['ftp']
# 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')
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'])
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'
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)
# Form to set rower's Heart Rate zones, including test routines
# to enable consistency
class RowerForm(ModelForm):