Private
Public Access
1
0

better metrics selection

This commit is contained in:
Sander Roosendaal
2019-11-18 10:52:34 +01:00
parent 9650a7cb71
commit 01c02b2b02
5 changed files with 66 additions and 24 deletions

View File

@@ -53,25 +53,38 @@ class FlexibleDecimalField(forms.DecimalField):
# Video Analysis creation form
class VideoAnalysisCreateForm(forms.Form):
name = forms.CharField(max_length=255,label='Analysis Name')
name = forms.CharField(max_length=255,label='Analysis Name',required=False)
url = forms.CharField(max_length=255,required=True,label='YouTube Video URL')
delay = forms.IntegerField(initial=0,label='Delay (seconds)')
metricsdescriptions = {}
for m in metricsgroups:
metricsdescriptions[m] = m+' ('
for name,d in rowingmetrics:
if d['group']==m:
metricsdescriptions[m]+=d['verbose_name']+', '
metricsdescriptions[m]=metricsdescriptions[m][0:-2]+')'
def get_metricschoices(mode='water'):
modes = [mode,'both','basic']
metricsdescriptions = {}
for m in metricsgroups:
metricsdescriptions[m] = m+' ('
for name,d in rowingmetrics:
if d['group']==m and d['mode'] in modes:
metricsdescriptions[m]+=d['verbose_name']+', '
metricsdescriptions[m]=metricsdescriptions[m][0:-2]+')'
metricsgroupschoices = ((m,metricsdescriptions[m]) for m in metricsgroups)
metricsgroupschoices = ((m,metricsdescriptions[m]) for m in metricsgroups)
return metricsgroupschoices
class VideoAnalysisMetricsForm(forms.Form):
groups = forms.MultipleChoiceField(label='Metrics Groups',
choices=metricsgroupschoices,
choices=get_metricschoices(mode='water'),
widget=forms.CheckboxSelectMultiple,)
class Meta:
mode = 'water'
def __init__(self, *args, **kwargs):
mode = kwargs.pop('mode','water')
super(VideoAnalysisMetricsForm, self).__init__(*args, **kwargs)
self.fields['groups'].choices = get_metricschoices(mode=mode)
# BillingForm form
class BillingForm(forms.Form):
amount = FlexibleDecimalField(required=True,decimal_places=2,