added generic static chart routine
This commit is contained in:
@@ -215,13 +215,22 @@ urlpatterns = [
|
||||
url(r'^physics$',TemplateView.as_view(template_name='physics.html'),name='physics'),
|
||||
url(r'^partners$',TemplateView.as_view(template_name='partners.html'),name='partners'),
|
||||
url(r'^workout/(?P<id>\d+)/$',views.workout_view),
|
||||
url(r'^workout/(?P<id>\d+)/addtimeplot$',views.workout_add_timeplot_view),
|
||||
url(r'^workout/(?P<id>\d+)/addpiechart$',views.workout_add_piechart_view),
|
||||
url(r'^workout/(?P<id>\d+)/addpowerpiechart$',views.workout_add_power_piechart_view),
|
||||
url(r'^workout/(?P<id>\d+)/adddistanceplot$',views.workout_add_distanceplot_view),
|
||||
url(r'^workout/(?P<id>\d+)/adddistanceplot2$',views.workout_add_distanceplot2_view),
|
||||
url(r'^workout/(?P<id>\d+)/addotwpowerplot$',views.workout_add_otw_powerplot_view),
|
||||
url(r'^workout/(?P<id>\d+)/addtimeplot2$',views.workout_add_timeplot2_view),
|
||||
url(r'^workout/(?P<id>\d+)/addtimeplot$',views.workout_add_chart_view,
|
||||
{'plotnr':'1'}),
|
||||
url(r'^workout/(?P<id>\d+)/addpiechart$',views.workout_add_chart_view,
|
||||
{'plotnr':'3'}),
|
||||
url(r'^workout/(?P<id>\d+)/addpowerpiechart$',views.workout_add_chart_view,
|
||||
{'plotnr':'13'}),
|
||||
url(r'^workout/(?P<id>\d+)/adddistanceplot$',views.workout_add_chart_view,
|
||||
{'plotnr':'2'}),
|
||||
url(r'^workout/(?P<id>\d+)/adddistanceplot2$',views.workout_add_chart_view,
|
||||
{'plotnr':'7'}),
|
||||
url(r'^workout/(?P<id>\d+)/addotwpowerplot$',views.workout_add_chart_view,
|
||||
{'plotnr':'9'}),
|
||||
url(r'^workout/(?P<id>\d+)/addtimeplot2$',views.workout_add_chart_view,
|
||||
{'plotnr':'8'}),
|
||||
url(r'^workout/(?P<id>\d+)/addstatic/(?P<plotnr>\d+)$',views.workout_add_chart_view),
|
||||
url(r'^workout/(?P<id>\d+)/addstatic$',views.workout_add_chart_view),
|
||||
url(r'^workout/(?P<id>\d+)/delete$',views.workout_delete_view),
|
||||
url(r'^workout/(?P<id>\d+)/smoothenpace$',views.workout_smoothenpace_view),
|
||||
url(r'^workout/(?P<id>\d+)/undosmoothenpace$',views.workout_undo_smoothenpace_view),
|
||||
|
||||
104
rowers/views.py
104
rowers/views.py
@@ -6621,7 +6621,31 @@ def workout_edit_view_navionics(request,id=0,message="",successmessage=""):
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
# Generic chart creation
|
||||
@user_passes_test(ispromember,login_url="/",redirect_field_name=None)
|
||||
def workout_add_chart_view(request,id,plotnr=1):
|
||||
try:
|
||||
w = Workout.objects.get(id=id)
|
||||
except Workout.DoesNotExist:
|
||||
raise Http404("Workout doesn't exist")
|
||||
|
||||
plotnr = int(plotnr)
|
||||
|
||||
if (checkworkoutuser(request.user,w)==False):
|
||||
raise PermissionDenied("You are not allowed add plots to this workout")
|
||||
else:
|
||||
f1 = w.csvfilename[6:-4]
|
||||
timestr = strftime("%Y%m%d-%H%M%S")
|
||||
imagename = f1+timestr+'.png'
|
||||
u = w.user.user
|
||||
r = getrower(u)
|
||||
title = w.name
|
||||
res = uploads.make_plot(r,w,f1,w.csvfilename,'timeplot',title,plotnr=plotnr,
|
||||
imagename=imagename)
|
||||
|
||||
|
||||
url = "/rowers/workout/"+str(w.id)+"/edit"
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
# Create the chart image with wind corrected pace (OTW)
|
||||
@user_passes_test(ispromember,login_url="/",redirect_field_name=None)
|
||||
@@ -6755,45 +6779,9 @@ def workout_add_distanceplot2_view(request,id):
|
||||
fullpathimagename = 'static/plots/'+imagename
|
||||
u = w.user.user
|
||||
r = getrower(u)
|
||||
powerperc = 100*np.array([r.pw_ut2,
|
||||
r.pw_ut1,
|
||||
r.pw_at,
|
||||
r.pw_tr,r.pw_an])/r.ftp
|
||||
|
||||
ftp = float(r.ftp)
|
||||
if w.workouttype in ('water','coastal'):
|
||||
ftp = ftp*(100.-r.otwslack)/100.
|
||||
|
||||
hrpwrdata = {
|
||||
'hrmax':r.max,
|
||||
'hrut2':r.ut2,
|
||||
'hrut1':r.ut1,
|
||||
'hrat':r.at,
|
||||
'hrtr':r.tr,
|
||||
'hran':r.an,
|
||||
'ftp':ftp,
|
||||
'powerperc':serialize_list(powerperc),
|
||||
'powerzones':serialize_list(r.powerzones),
|
||||
}
|
||||
|
||||
# make plot - asynchronous task
|
||||
plotnr = 7
|
||||
|
||||
if w.workouttype in ('water','coastal'):
|
||||
plotnr = plotnr+3
|
||||
|
||||
if settings.DEBUG:
|
||||
res = handle_makeplot.delay(f1,w.csvfilename,
|
||||
w.name,hrpwrdata,plotnr,imagename)
|
||||
else:
|
||||
res = queue.enqueue(handle_makeplot,f1,w.csvfilename,
|
||||
w.name,hrpwrdata,plotnr,imagename)
|
||||
title = w.name
|
||||
res = uploads.make_plot(r,w,f1,w.csvfilename,'distanceplot',title,plotnr=7,imagename=imagename)
|
||||
|
||||
i = GraphImage(workout=w,creationdatetime=timezone.now(),
|
||||
filename=fullpathimagename)
|
||||
|
||||
i.save()
|
||||
|
||||
url = "/rowers/workout/"+str(w.id)+"/edit"
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
@@ -6815,44 +6803,8 @@ def workout_add_timeplot2_view(request,id):
|
||||
fullpathimagename = 'static/plots/'+imagename
|
||||
u = w.user.user
|
||||
r = getrower(u)
|
||||
powerperc = 100*np.array([r.pw_ut2,
|
||||
r.pw_ut1,
|
||||
r.pw_at,
|
||||
r.pw_tr,r.pw_an])/r.ftp
|
||||
|
||||
ftp = float(r.ftp)
|
||||
if w.workouttype in ('water','coastal'):
|
||||
ftp = ftp*(100.-r.otwslack)/100.
|
||||
|
||||
hrpwrdata = {
|
||||
'hrmax':r.max,
|
||||
'hrut2':r.ut2,
|
||||
'hrut1':r.ut1,
|
||||
'hrat':r.at,
|
||||
'hrtr':r.tr,
|
||||
'hran':r.an,
|
||||
'ftp':ftp,
|
||||
'powerperc':serialize_list(powerperc),
|
||||
'powerzones':serialize_list(r.powerzones),
|
||||
}
|
||||
|
||||
# make plot - asynchronous task
|
||||
plotnr = 8
|
||||
|
||||
if w.workouttype in ('water','coastal'):
|
||||
plotnr = plotnr+3
|
||||
|
||||
if settings.DEBUG:
|
||||
res = handle_makeplot.delay(f1,w.csvfilename,
|
||||
w.name,hrpwrdata,plotnr,imagename)
|
||||
else:
|
||||
res = queue.enqueue(handle_makeplot,f1,w.csvfilename,
|
||||
w.name,hrpwrdata,plotnr,imagename)
|
||||
|
||||
i = GraphImage(workout=w,creationdatetime=timezone.now(),
|
||||
filename=fullpathimagename)
|
||||
|
||||
i.save()
|
||||
title = w.name
|
||||
res = uploads.make_plot(r,w,f1,w.csvfilename,'distanceplot',title,plotnr=8,imagename=imagename)
|
||||
|
||||
url = "/rowers/workout/"+str(w.id)+"/edit"
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
Reference in New Issue
Block a user