From cde106bb1993215bfbb62553d7298c2c45df2b38 Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Wed, 9 Nov 2016 00:00:13 +0100
Subject: [PATCH] power zones
---
rowers/templates/workout_form.html | 9 +++++-
rowers/tests.py | 1 -
rowers/urls.py | 1 +
rowers/views.py | 44 ++++++++++++++++++++++++++++++
rowsandall_app/settings.py | 9 ------
rowsandall_app/settings_dev.py | 9 ++++++
6 files changed, 62 insertions(+), 11 deletions(-)
diff --git a/rowers/templates/workout_form.html b/rowers/templates/workout_form.html
index 6e08a409..866ba83b 100644
--- a/rowers/templates/workout_form.html
+++ b/rowers/templates/workout_form.html
@@ -86,6 +86,13 @@
Add Pie Chart
+
+
+
Generating images takes roughly 1 second per minute
of your workout's duration. Please reload after a minute or so.
@@ -218,4 +225,4 @@
{{ gmdiv|safe }}
-{% endblock %}
\ No newline at end of file
+{% endblock %}
diff --git a/rowers/tests.py b/rowers/tests.py
index 9e73ea0a..45b21246 100644
--- a/rowers/tests.py
+++ b/rowers/tests.py
@@ -321,7 +321,6 @@ class ViewTest(TestCase):
}
form = DocumentsForm(form_data,file_data)
-
response = self.c.post('/rowers/workout/upload/', form_data, follow=True)
f.close()
diff --git a/rowers/urls.py b/rowers/urls.py
index 8fb2884c..2a829525 100644
--- a/rowers/urls.py
+++ b/rowers/urls.py
@@ -89,6 +89,7 @@ urlpatterns = [
url(r'^workout/(\d+)/$',views.workout_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+)/addpowerpiechart$',views.workout_add_power_piechart_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+)/addotwpowerplot$',views.workout_add_otw_powerplot_view),
diff --git a/rowers/views.py b/rowers/views.py
index 7b032b52..f850dc5e 100644
--- a/rowers/views.py
+++ b/rowers/views.py
@@ -2830,6 +2830,50 @@ def workout_add_piechart_view(request,id):
url = "/rowers/workout/"+str(w.id)+"/edit"
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()
def workout_add_timeplot_view(request,id):
w = Workout.objects.get(id=id)
diff --git a/rowsandall_app/settings.py b/rowsandall_app/settings.py
index 127d1f53..732345a4 100644
--- a/rowsandall_app/settings.py
+++ b/rowsandall_app/settings.py
@@ -168,15 +168,6 @@ MEDIA_URL = '/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
diff --git a/rowsandall_app/settings_dev.py b/rowsandall_app/settings_dev.py
index a1b69514..b3268cb3 100644
--- a/rowsandall_app/settings_dev.py
+++ b/rowsandall_app/settings_dev.py
@@ -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!