restorung
This commit is contained in:
161
rowers/models.py
161
rowers/models.py
@@ -906,6 +906,14 @@ class Rower(models.Model):
|
||||
'Pwr TR',
|
||||
'Pwr AN'])
|
||||
|
||||
|
||||
hrzones = PowerZonesField(default=['Rest',
|
||||
'UT2',
|
||||
'UT1',
|
||||
'AT',
|
||||
'TR',
|
||||
'AN','max'])
|
||||
|
||||
emailalternatives = AlternativeEmails(default=[],null=True,blank=True,verbose_name='Alternative Email addresses (separate with ",")')
|
||||
|
||||
# Site Settings
|
||||
@@ -3659,6 +3667,159 @@ class RowerCPForm(ModelForm):
|
||||
model = Rower
|
||||
fields = ['cprange','kfit','kfatigue']
|
||||
|
||||
# Form to set rower's Power zones, including test routines
|
||||
# to enable consistency
|
||||
class RowerHRZonesForm(ModelForm):
|
||||
|
||||
hrzones = ['Rest','UT2','UT1','AT','TR','AN','Max']
|
||||
hrrestname = forms.CharField(initial=hrzones[0])
|
||||
hrut2name = forms.CharField(initial=hrzones[1])
|
||||
hrut1name = forms.CharField(initial=hrzones[2])
|
||||
hratname = forms.CharField(initial=hrzones[3])
|
||||
hrtrname = forms.CharField(initial=hrzones[4])
|
||||
hranname = forms.CharField(initial=hrzones[5])
|
||||
hrmaxname = forms.CharField(initial=hrzones[6])
|
||||
|
||||
def __init__(self, *args,**kwargs):
|
||||
super(RowerHRZonesForm, self).__init__(*args, **kwargs)
|
||||
|
||||
if 'instance' in kwargs:
|
||||
hrzones = kwargs['instance'].hrzones
|
||||
else:
|
||||
hrzones = ['Rest','UT2','UT1','AT','TR','AN','Max']
|
||||
|
||||
self.fields['hrrestname'].initial = hrzones[0]
|
||||
self.fields['hrut2name'].initial = hrzones[1]
|
||||
self.fields['hrut1name'].initial = hrzones[2]
|
||||
self.fields['hratname'].initial = hrzones[3]
|
||||
self.fields['hrtrname'].initial = hrzones[4]
|
||||
self.fields['hranname'].initial = hrzones[5]
|
||||
self.fields['hrmaxname'].initial = hrzones[6]
|
||||
|
||||
class Meta:
|
||||
model = Rower
|
||||
fields = ['rest','ut2','ut1','at','tr','an','max']
|
||||
|
||||
def clean(self):
|
||||
cleaned_data = super(RowerHRZonesForm, self).clean()
|
||||
|
||||
try:
|
||||
rest = cleaned_data['rest']
|
||||
except KeyError:
|
||||
raise ValidationError("Value cannot be empty")
|
||||
except:
|
||||
rest = int(self.data['rest'])
|
||||
|
||||
try:
|
||||
ut2 = cleaned_data['ut2']
|
||||
except KeyError:
|
||||
raise ValidationError("Value cannot be empty")
|
||||
except:
|
||||
ut2 = int(self.data['ut2'])
|
||||
try:
|
||||
ut1 = cleaned_data['ut1']
|
||||
except KeyError:
|
||||
raise ValidationError("Value cannot be empty")
|
||||
except:
|
||||
ut1 = int(self.data['ut1'])
|
||||
try:
|
||||
at = cleaned_data['at']
|
||||
except KeyError:
|
||||
raise ValidationError("Value cannot be empty")
|
||||
except:
|
||||
at = int(self.data['at'])
|
||||
try:
|
||||
tr = cleaned_data['tr']
|
||||
except KeyError:
|
||||
raise ValidationError("Value cannot be empty")
|
||||
except:
|
||||
tr = int(self.data['tr'])
|
||||
try:
|
||||
an = cleaned_data['an']
|
||||
except KeyError:
|
||||
raise ValidationError("Value cannot be empty")
|
||||
except:
|
||||
an = int(self.data['an'])
|
||||
|
||||
try:
|
||||
max = cleaned_data['max']
|
||||
except KeyError:
|
||||
raise ValidationError("Value cannot be empty")
|
||||
except:
|
||||
max = int(self.data['max'])
|
||||
|
||||
try:
|
||||
hrrestname = cleaned_data['hrrestname']
|
||||
except:
|
||||
hrrestname = 'Rest'
|
||||
cleaned_data['hrut3name'] = 'Rest'
|
||||
try:
|
||||
hrut2name = cleaned_data['hrut2name']
|
||||
except:
|
||||
hrut2name = 'UT2'
|
||||
cleaned_data['hrut2name'] = 'UT2'
|
||||
try:
|
||||
hrut1name = cleaned_data['hrut1name']
|
||||
except:
|
||||
hrut1name = 'UT1'
|
||||
cleaned_data['hrut1name'] = 'UT1'
|
||||
try:
|
||||
hratname = cleaned_data['hratname']
|
||||
except:
|
||||
hratname = 'AT'
|
||||
cleaned_data['hratname'] = 'AT'
|
||||
try:
|
||||
hrtrname = cleaned_data['hrtrname']
|
||||
except:
|
||||
hrtrname = 'TR'
|
||||
cleaned_data['hrtrname'] = 'TR'
|
||||
try:
|
||||
hranname = cleaned_data['hranname']
|
||||
except:
|
||||
hranname = 'AN'
|
||||
cleaned_data['hranname'] = 'AN'
|
||||
|
||||
|
||||
if rest >= ut2:
|
||||
e = "{ut2name} should be higher than {restname}".format(
|
||||
restname=hrrestname,
|
||||
ut2name=hrut2name
|
||||
)
|
||||
raise forms.ValidationError(e)
|
||||
|
||||
if ut1 <= ut2:
|
||||
e = "{ut1name} should be higher than {ut2name}".format(
|
||||
ut1name = hrut1name,
|
||||
ut2name= hrut2name,
|
||||
)
|
||||
raise forms.ValidationError(e)
|
||||
if at <= ut1:
|
||||
e = "{atname} should be higher than {ut1name}".format(
|
||||
atname = hratname,
|
||||
ut1name= hrut1name,
|
||||
)
|
||||
raise forms.ValidationError(e)
|
||||
if tr <= at:
|
||||
e = "{trname} should be higher than {atname}".format(
|
||||
atname = hratname,
|
||||
trname= hrtrname,
|
||||
)
|
||||
raise forms.ValidationError(e)
|
||||
if an <= tr:
|
||||
e = "{anname} should be higher than {trname}".format(
|
||||
anname = hranname,
|
||||
trname= hrtrname,
|
||||
)
|
||||
raise forms.ValidationError(e)
|
||||
|
||||
if max <= an:
|
||||
e = "{anname} should be lower than {maxname}".format(
|
||||
anname=hranname,
|
||||
maxname=hrmaxname,
|
||||
)
|
||||
|
||||
return cleaned_data
|
||||
|
||||
# Form to set rower's Power zones, including test routines
|
||||
# to enable consistency
|
||||
class RowerPowerZonesForm(ModelForm):
|
||||
|
||||
Reference in New Issue
Block a user