power zones
This commit is contained in:
@@ -86,6 +86,13 @@
|
|||||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/addpiechart">Add Pie Chart</a>
|
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/addpiechart">Add Pie Chart</a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="grid_6 alpha">
|
||||||
|
|
||||||
|
<div class="grid_2 prefix_4 alpha">
|
||||||
|
<p>
|
||||||
|
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/addpowerpiechart">Power Pie Chart</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
<div class="grid_6">
|
<div class="grid_6">
|
||||||
<p>Generating images takes roughly 1 second per minute
|
<p>Generating images takes roughly 1 second per minute
|
||||||
of your workout's duration. Please reload after a minute or so.</p>
|
of your workout's duration. Please reload after a minute or so.</p>
|
||||||
@@ -218,4 +225,4 @@
|
|||||||
{{ gmdiv|safe }}
|
{{ gmdiv|safe }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@@ -321,7 +321,6 @@ class ViewTest(TestCase):
|
|||||||
}
|
}
|
||||||
|
|
||||||
form = DocumentsForm(form_data,file_data)
|
form = DocumentsForm(form_data,file_data)
|
||||||
|
|
||||||
response = self.c.post('/rowers/workout/upload/', form_data, follow=True)
|
response = self.c.post('/rowers/workout/upload/', form_data, follow=True)
|
||||||
|
|
||||||
f.close()
|
f.close()
|
||||||
|
|||||||
@@ -89,6 +89,7 @@ urlpatterns = [
|
|||||||
url(r'^workout/(\d+)/$',views.workout_view),
|
url(r'^workout/(\d+)/$',views.workout_view),
|
||||||
url(r'^workout/(\d+)/addtimeplot$',views.workout_add_timeplot_view),
|
url(r'^workout/(\d+)/addtimeplot$',views.workout_add_timeplot_view),
|
||||||
url(r'^workout/(\d+)/addpiechart$',views.workout_add_piechart_view),
|
url(r'^workout/(\d+)/addpiechart$',views.workout_add_piechart_view),
|
||||||
|
url(r'^workout/(\d+)/addpowerpiechart$',views.workout_add_power_piechart_view),
|
||||||
url(r'^workout/(\d+)/adddistanceplot$',views.workout_add_distanceplot_view),
|
url(r'^workout/(\d+)/adddistanceplot$',views.workout_add_distanceplot_view),
|
||||||
url(r'^workout/(\d+)/adddistanceplot2$',views.workout_add_distanceplot2_view),
|
url(r'^workout/(\d+)/adddistanceplot2$',views.workout_add_distanceplot2_view),
|
||||||
url(r'^workout/(\d+)/addotwpowerplot$',views.workout_add_otw_powerplot_view),
|
url(r'^workout/(\d+)/addotwpowerplot$',views.workout_add_otw_powerplot_view),
|
||||||
|
|||||||
@@ -2830,6 +2830,50 @@ def workout_add_piechart_view(request,id):
|
|||||||
url = "/rowers/workout/"+str(w.id)+"/edit"
|
url = "/rowers/workout/"+str(w.id)+"/edit"
|
||||||
return HttpResponseRedirect(url)
|
return HttpResponseRedirect(url)
|
||||||
|
|
||||||
|
@login_required()
|
||||||
|
def workout_add_power_piechart_view(request,id):
|
||||||
|
w = Workout.objects.get(id=id)
|
||||||
|
if (checkworkoutuser(request.user,w)==False):
|
||||||
|
return HttpResponse("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'
|
||||||
|
fullpathimagename = 'static/plots/'+imagename
|
||||||
|
u = request.user
|
||||||
|
r = Rower.objects.get(user=u)
|
||||||
|
hrpwrdata = {
|
||||||
|
'hrmax':r.max,
|
||||||
|
'hrut2':r.ut2,
|
||||||
|
'hrut1':r.ut1,
|
||||||
|
'hrat':r.at,
|
||||||
|
'hrtr':r.tr,
|
||||||
|
'hran':r.an,
|
||||||
|
'ftp':r.ftp,
|
||||||
|
}
|
||||||
|
|
||||||
|
# make plot - asynchronous task
|
||||||
|
plotnr = 13
|
||||||
|
|
||||||
|
if (w.workouttype=='water'):
|
||||||
|
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=datetime.datetime.now(),
|
||||||
|
# filename=fullpathimagename)
|
||||||
|
i = GraphImage(workout=w,creationdatetime=timezone.now(),
|
||||||
|
filename=fullpathimagename)
|
||||||
|
i.save()
|
||||||
|
|
||||||
|
url = "/rowers/workout/"+str(w.id)+"/edit"
|
||||||
|
return HttpResponseRedirect(url)
|
||||||
|
|
||||||
@login_required()
|
@login_required()
|
||||||
def workout_add_timeplot_view(request,id):
|
def workout_add_timeplot_view(request,id):
|
||||||
w = Workout.objects.get(id=id)
|
w = Workout.objects.get(id=id)
|
||||||
|
|||||||
@@ -168,15 +168,6 @@ MEDIA_URL = '/media/'
|
|||||||
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
|
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
|
||||||
|
|
||||||
|
|
||||||
BROKER_URL = 'redis://localhost:6379/0'
|
|
||||||
CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'
|
|
||||||
CELERY_IGNORE_RESULT = False
|
|
||||||
|
|
||||||
CELERY_ACCEPT_CONTENT = ['json']
|
|
||||||
CELERY_TASK_SERIALIZER = 'json'
|
|
||||||
CELERY_RESULT_SERIALIZER = 'json'
|
|
||||||
CELERY_TRACK_STARTED = True
|
|
||||||
CELERY_SEND_TASK_SENT_EVENT = True
|
|
||||||
|
|
||||||
# user authentication
|
# user authentication
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,15 @@ DATABASES = {
|
|||||||
# }
|
# }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BROKER_URL = 'redis://localhost:6379/0'
|
||||||
|
CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'
|
||||||
|
CELERY_IGNORE_RESULT = False
|
||||||
|
|
||||||
|
CELERY_ACCEPT_CONTENT = ['json']
|
||||||
|
CELERY_TASK_SERIALIZER = 'json'
|
||||||
|
CELERY_RESULT_SERIALIZER = 'json'
|
||||||
|
CELERY_TRACK_STARTED = True
|
||||||
|
CELERY_SEND_TASK_SENT_EVENT = True
|
||||||
|
|
||||||
|
|
||||||
# SECURITY WARNING: don't run with debug turned on in production!
|
# SECURITY WARNING: don't run with debug turned on in production!
|
||||||
|
|||||||
Reference in New Issue
Block a user