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 TR',
|
||||||
'Pwr AN'])
|
'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 ",")')
|
emailalternatives = AlternativeEmails(default=[],null=True,blank=True,verbose_name='Alternative Email addresses (separate with ",")')
|
||||||
|
|
||||||
# Site Settings
|
# Site Settings
|
||||||
@@ -3659,6 +3667,159 @@ class RowerCPForm(ModelForm):
|
|||||||
model = Rower
|
model = Rower
|
||||||
fields = ['cprange','kfit','kfatigue']
|
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
|
# Form to set rower's Power zones, including test routines
|
||||||
# to enable consistency
|
# to enable consistency
|
||||||
class RowerPowerZonesForm(ModelForm):
|
class RowerPowerZonesForm(ModelForm):
|
||||||
|
|||||||
Reference in New Issue
Block a user