diff --git a/rowers/models.py b/rowers/models.py index c84f98a9..25a2ac34 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -2939,6 +2939,8 @@ class VirtualRaceResult(models.Model): adaptiveclass = models.CharField(default="None",max_length=50, choices=mytypes.adaptivetypes, verbose_name="Adaptive Class") + skillclass = models.CharField(default="Open",max_length=50, + verbose_name="Skill Class") race = models.ForeignKey(VirtualRace,on_delete=models.CASCADE) duration = models.TimeField(default=datetime.time(1,0)) distance = models.IntegerField(default=0) @@ -2963,6 +2965,8 @@ class VirtualRaceResult(models.Model): startsecond = models.FloatField(default=0) endsecond = models.FloatField(default=0) + entrycategory = models.ForeignKey(CourseStandard,null=True,on_delete=models.SET_NULL, + verbose_name='Field') def __str__(self): rr = Rower.objects.get(id=self.userid) @@ -3003,6 +3007,8 @@ class IndoorVirtualRaceResult(models.Model): adaptiveclass = models.CharField(default="None",max_length=50, choices=mytypes.adaptivetypes, verbose_name="Adaptive Class") + skillclass = models.CharField(default="Open",max_length=50, + verbose_name="Skill Class") race = models.ForeignKey(VirtualRace,on_delete=models.CASCADE) duration = models.TimeField(default=datetime.time(1,0)) distance = models.IntegerField(default=0) @@ -3020,6 +3026,8 @@ class IndoorVirtualRaceResult(models.Model): age = models.IntegerField(null=True) emailnotifications = models.BooleanField(default=True, verbose_name = 'Receive challenge notifications by email') + entrycategory = models.ForeignKey(CourseStandard,null=True,on_delete=models.SET_NULL, + verbose_name='Category') def __str__(self): rr = Rower.objects.get(id=self.userid) @@ -3055,22 +3063,29 @@ class CourseTestResult(models.Model): class IndoorVirtualRaceResultForm(ModelForm): class Meta: model = IndoorVirtualRaceResult - fields = ['teamname','weightcategory','boatclass','age','adaptiveclass'] + fields = ['teamname','weightcategory','boatclass','age','adaptiveclass', + 'entrycategory'] def __init__(self, *args, **kwargs): + categories = kwargs.pop('categories') super(IndoorVirtualRaceResultForm, self).__init__(*args, **kwargs) - + if categories is not None: + self.fields['entrycategory'].queryset = categories + self.fields['entrycategory'].empty_label = None + else: + self.fields.pop('entrycategory') class VirtualRaceResultForm(ModelForm): class Meta: model = VirtualRaceResult fields = ['teamname','weightcategory','boatclass','boattype', - 'age','adaptiveclass'] + 'age','adaptiveclass','entrycategory'] def __init__(self, *args, **kwargs): boattypes = kwargs.pop('boattypes',None) + categories = kwargs.pop('categories',None) super(VirtualRaceResultForm, self).__init__(*args, **kwargs) if boattypes: @@ -3080,6 +3095,12 @@ class VirtualRaceResultForm(ModelForm): required=False, label='Mixed Gender') + if categories is not None: + self.fields['entrycategory'].queryset = categories + self.fields['entrycategory'].empty_label = None + else: + self.fields.pop('entrycategory') + from rowers.metrics import rowingmetrics strokedatafields = { diff --git a/rowers/templates/virtualeventregister.html b/rowers/templates/virtualeventregister.html index 5ed6c79a..4752256c 100644 --- a/rowers/templates/virtualeventregister.html +++ b/rowers/templates/virtualeventregister.html @@ -21,7 +21,7 @@ -