Private
Public Access
1
0

Merge branch 'release/v12.24'

This commit is contained in:
Sander Roosendaal
2020-05-06 09:51:42 +02:00
5 changed files with 35 additions and 9 deletions

View File

@@ -385,6 +385,7 @@ class UploadOptionsForm(forms.Form):
def __init__(self, *args, **kwargs):
self.request = kwargs.pop('request',None)
raceid = kwargs.pop('raceid',0)
super(UploadOptionsForm, self).__init__(*args, **kwargs)
r = Rower.objects.get(user=self.request.user)
races = VirtualRace.objects.filter(
@@ -405,6 +406,9 @@ class UploadOptionsForm(forms.Form):
else:
del self.fields['submitrace']
if int(raceid) in raceids:
self.fields['submitrace'].initial = VirtualRace.objects.get(id=raceid)
# The form to indicate additional actions to be performed immediately
# after a successful upload. This version allows the Team manager to select
# a team member

View File

@@ -177,7 +177,7 @@
</tr>
<tr>
<td>
<a href="/rowers/workout/upload">Upload your race result</a>
<a href="/rowers/workout/upload/{{ race.id }}/">Upload your race result</a>
</td>
<td>
Upload a new workout to the site and submit it as a result. You

View File

@@ -295,6 +295,7 @@ urlpatterns = [
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/toggle-ranking/$',views.workout_toggle_ranking,
name='workout_toggle_ranking'),
re_path(r'^workout/upload/team/$',views.team_workout_upload_view,name='team_workout_upload_view'),
re_path(r'^workout/upload/(?P<raceid>\d+)/$',views.workout_upload_view,name='workout_upload_view'),
re_path(r'^workout/upload/$',views.workout_upload_view,name='workout_upload_view'),
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/histo/$',views.workout_histo_view,
name='workout_histo_view'),

View File

@@ -4695,9 +4695,16 @@ def history_view(request,userid=0):
ids = [w.id for w in g_workouts]
columns = ['hr','power']
columns = ['hr','power','time']
df = getsmallrowdata_db(columns,ids=ids)
try:
df['deltat'] = df['time'].diff()
except KeyError:
pass
df = dataprep.clean_df_stats(df,workstrokesonly=True,
ignoreadvanced=True)
totalmeters,totalhours, totalminutes = get_totals(g_workouts)
@@ -4723,9 +4730,16 @@ def history_view(request,userid=0):
wminutes=wminutes
)
ddf = getsmallrowdata_db(columns,ids=[w.id for w in a_workouts])
ddict['hrmean'] = ddf['hr'].mean().astype(int)
try:
ddf['deltat'] = ddf['time'].diff()
except KeyError:
pass
ddf = dataprep.clean_df_stats(ddf,workstrokesonly=True,
ignoreadvanced=True)
ddict['hrmean'] = int(wavg(ddf,'hr','deltat'))
ddict['hrmax'] = ddf['hr'].max().astype(int)
ddict['powermean'] = ddf['power'].mean().astype(int)
ddict['powermean'] = int(wavg(df,'power','deltat'))
ddict['powermax'] = ddf['power'].max().astype(int)
ddict['nrworkouts'] = a_workouts.count()
listofdicts.append(ddict)
@@ -4737,6 +4751,12 @@ def history_view(request,userid=0):
else:
a_workouts = g_workouts.filter(workouttype=typeselect)
ddf = getsmallrowdata_db(columns,ids=[w.id for w in a_workouts])
try:
ddf['deltat'] = ddf['time'].diff()
except KeyError:
pass
ddf = dataprep.clean_df_stats(ddf,workstrokesonly=True,
ignoreadvanced=True)
totalscript, totaldiv = interactive_hr_piechart(ddf,r,mytypes.workouttypes_ordered[typeselect])
# interactive power pie chart
@@ -4749,13 +4769,13 @@ def history_view(request,userid=0):
totalsdict['distance'] = totalmeters
try:
totalsdict['powermean'] = df['power'].mean().astype(int)
totalsdict['powermean'] = int(wavg(df,'power','deltat'))
totalsdict['powermax'] = df['power'].max().astype(int)
except KeyError:
totalsdict['powermean'] = 0
totalsdict['powermax'] = 0
try:
totalsdict['hrmean'] = df['hr'].mean().astype(int)
totalsdict['hrmean'] = int(wavg(df,'hr','deltat'))
totalsdict['hrmax'] = df['hr'].max().astype(int)
except KeyError:
totalsdict['hrmean'] = 0

View File

@@ -4614,7 +4614,8 @@ def workout_upload_view(request,
},
docformoptions={
'workouttype':'rower',
}):
},
raceid=0):
is_ajax = False
if request.is_ajax():
@@ -4727,7 +4728,7 @@ def workout_upload_view(request,
response = {}
if request.method == 'POST':
form = DocumentsForm(request.POST,request.FILES)
optionsform = UploadOptionsForm(request.POST,request=request)
optionsform = UploadOptionsForm(request.POST,request=request,raceid=raceid)
if form.is_valid():
# f = request.FILES['file']
@@ -5031,7 +5032,7 @@ def workout_upload_view(request,
form = DocumentsForm(initial=docformoptions)
optionsform = UploadOptionsForm(initial=uploadoptions,
request=request)
request=request,raceid=raceid)
return render(request, 'document_form.html',
{'form':form,
'active':'nav-workouts',