better metrics selection
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user