Private
Public Access
1
0

indoor racing improvements

more descriptive form labels, new race set to organizer time zone,
link back to race from workout view
This commit is contained in:
Sander Roosendaal
2018-12-10 10:17:09 +01:00
parent de69e76aa2
commit 00154596a7
3 changed files with 48 additions and 2 deletions

View File

@@ -2000,9 +2000,20 @@ class IndoorVirtualRaceForm(ModelForm):
'evaluation_closure':AdminSplitDateTime(), 'evaluation_closure':AdminSplitDateTime(),
} }
labels = {
'sessionunit': 'Meters or minutes',
'sessionvalue': 'How far or how long'
}
def __init__(self,*args,**kwargs): def __init__(self,*args,**kwargs):
timezone = kwargs.pop('timezone',None)
super(IndoorVirtualRaceForm, self).__init__(*args, **kwargs) super(IndoorVirtualRaceForm, self).__init__(*args, **kwargs)
self.fields['sessionunit'].choices = [('min','minutes'),('m','meters')] self.fields['sessionunit'].choices = [('min','minutes'),('m','meters')]
self.fields['sessionvalue'].initial = 2000
self.fields['sessionunit'].initial = 'm'
if timezone:
self.fields['timezone'].initial = timezone
def clean(self): def clean(self):
cd = self.cleaned_data cd = self.cleaned_data

View File

@@ -38,6 +38,22 @@
<h1>{{ workout.name }}</h1> <h1>{{ workout.name }}</h1>
<ul class="main-content"> <ul class="main-content">
<li class="grid_2"> <li class="grid_2">
{% if records %}
{% for record in records %}
<p>
This workout was a race. See race result here:
<a href="/rowers/virtualevent/{{ record.race.id }}">{{ record.race.name }}</a>
</p>
{% endfor %}
{% endif %}
{% if recordsindoor %}
{% for record in recordsindoor %}
<p>
This workout was a race. See race result here:
<a href="/rowers/virtualevent/{{ record.race.id }}">{{ record.race.name }}</a>
</p>
{% endfor %}
{% endif %}
<p> <p>
<div class="fb-share-button" <div class="fb-share-button"
data-href="https://rowsandall.com/rowers/workout/{{ workout.id }}" data-href="https://rowsandall.com/rowers/workout/{{ workout.id }}"

View File

@@ -7343,6 +7343,9 @@ def workout_view(request,id=0):
u = row.user.user u = row.user.user
recordsindoor = IndoorVirtualRaceResult.objects.filter(workoutid= row.id)
records = VirtualRaceResult.objects.filter(workoutid= row.id)
return render(request, 'workout_view.html', return render(request, 'workout_view.html',
{'workout':row, {'workout':row,
'rower':rower, 'rower':rower,
@@ -7350,6 +7353,8 @@ def workout_view(request,id=0):
'active':'nav-workouts', 'active':'nav-workouts',
'graphs':g, 'graphs':g,
'last_name':u.last_name, 'last_name':u.last_name,
'records':records,
'recordsindoor':recordsindoor,
'first_name':u.first_name, 'first_name':u.first_name,
'interactiveplot':script, 'interactiveplot':script,
'aantalcomments':aantalcomments, 'aantalcomments':aantalcomments,
@@ -17048,7 +17053,7 @@ def indoorvirtualevent_create_view(request):
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
else: else:
racecreateform = IndoorVirtualRaceForm() racecreateform = IndoorVirtualRaceForm(timezone=r.defaulttimezone)
breadcrumbs = [ breadcrumbs = [
@@ -17464,6 +17469,20 @@ def virtualevent_submit_result_view(request,id=0,workoutid=0):
startdatetime__lte=enddatetime, startdatetime__lte=enddatetime,
).order_by("date","startdatetime","id") ).order_by("date","startdatetime","id")
if not ws:
messages.info(
request,
'You have no workouts executed during the race window. Please upload a result or enter it manually.'
)
url = reverse(virtualevent_view,
kwargs = {
'id':id
})
return HttpResponseRedirect(url)
initialworkouts = [w.id for w in Workout.objects.filter( initialworkouts = [w.id for w in Workout.objects.filter(
user=r,plannedsession=race user=r,plannedsession=race
)] )]