From a2628c18600f5fe1d8412e87e36a65123ce4c4de Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Sun, 18 Feb 2018 14:13:45 +0100 Subject: [PATCH] added course to session edit form --- rowers/models.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/rowers/models.py b/rowers/models.py index f90131f2..c861e250 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -661,7 +661,10 @@ timezones = ( class GeoCourse(models.Model): manager = models.ForeignKey(Rower) name = models.CharField(max_length=150,blank=True) - + + def __unicode__(self): + name = self.name + return u'{name}'.format(name=name) class GeoPolygon(models.Model): name = models.CharField(max_length=150,blank=True) @@ -803,6 +806,7 @@ class PlannedSession(models.Model): ('challenge','Challenge'), ('test','Mandatory Test'), ('cycletarget','Cycle Target'), + ('coursetest','OTW test over a course'), ) sessionmodechoices = ( @@ -831,6 +835,8 @@ class PlannedSession(models.Model): ) manager = models.ForeignKey(User) + course = models.ForeignKey(GeoCourse,blank=True,null=True, + verbose_name='OTW Course') name = models.CharField(max_length=150,blank=True, verbose_name='Name') @@ -914,6 +920,10 @@ class PlannedSession(models.Model): self.sessionmode = 'distance' self.sessionunit = 'm' self.criterium = 'exact' + if self.sessiontype == 'coursetest': + self.sessionmode = 'distance' + self.sessionunit = 'm' + self.criterium = 'none' super(PlannedSession,self).save(*args, **kwargs) @@ -933,6 +943,7 @@ class PlannedSessionForm(ModelForm): 'criterium', 'sessionvalue', 'sessionunit', + 'course', 'comment', ] @@ -947,6 +958,11 @@ class PlannedSessionForm(ModelForm): 'enddate': AdminDateWidget(), } + def __init__(self,*args,**kwargs): + super(PlannedSessionForm, self).__init__(*args, **kwargs) + if self.instance.sessiontype != 'coursetest': + del self.fields['course'] + class PlannedSessionFormSmall(ModelForm): class Meta: @@ -977,7 +993,7 @@ class PlannedSessionFormSmall(ModelForm): 'type':'number'}), 'manager': forms.HiddenInput(), } - + # Workout class Workout(models.Model):