From 41f7ab2ff5bf28b4a4aa22fcfbc9545c2dfb6ae4 Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Wed, 4 Jan 2017 12:51:14 +0100
Subject: [PATCH 01/12] Chart permissions
---
rowers/urls.py | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/rowers/urls.py b/rowers/urls.py
index 94febda1..5d98324d 100644
--- a/rowers/urls.py
+++ b/rowers/urls.py
@@ -59,10 +59,23 @@ class RowerViewSet(viewsets.ModelViewSet):
IsOwnerOrNot,
)
+ http_method_names = ['get','patch']
+
+
class FavoriteChartViewSet(viewsets.ModelViewSet):
model = FavoriteChart
serializer_class = FavoriteChartSerializer
- queryset = FavoriteChart.objects.all()
+ #queryset = FavoriteChart.objects.all()
+
+ def get_queryset(self):
+ r = Rower.objects.filter(user=self.request.user)
+ return FavoriteChart.objects.filter(user=r)
+
+ permission_classes = (
+ IsOwnerOrNot,
+ )
+
+ http_method_names = ['get','put','patch','delete']
class StrokeDataViewSet(viewsets.ModelViewSet):
serializer_class = StrokeDataSerializer
From 0ca922f5a22f4de55c8bd3432364d35a17ada91b Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Wed, 4 Jan 2017 22:30:59 +0100
Subject: [PATCH 02/12] more error tracing around Strava
---
rowers/templates/400.html | 4 +-
rowers/templates/403.html | 4 +-
rowers/templates/404.html | 4 +-
rowers/templates/500.html | 4 +-
rowers/templates/bases.html | 189 ++++++++++++++++++++++++++++++++++++
rowers/views.py | 12 ++-
rowsandall_app/settings.py | 1 +
7 files changed, 207 insertions(+), 11 deletions(-)
create mode 100644 rowers/templates/bases.html
diff --git a/rowers/templates/400.html b/rowers/templates/400.html
index 735edfd4..caf15419 100644
--- a/rowers/templates/400.html
+++ b/rowers/templates/400.html
@@ -1,4 +1,4 @@
-{% extends "base.html" %}
+{% extends "bases.html" %}
{% load staticfiles %}
{% load rowerfilters %}
@@ -13,4 +13,4 @@ HTTP Error 400 Bad Request.
-{% endblock %}
\ No newline at end of file
+{% endblock %}
diff --git a/rowers/templates/403.html b/rowers/templates/403.html
index 71faf1fd..65394b28 100644
--- a/rowers/templates/403.html
+++ b/rowers/templates/403.html
@@ -1,4 +1,4 @@
-{% extends "base.html" %}
+{% extends "bases.html" %}
{% load staticfiles %}
{% load rowerfilters %}
@@ -13,4 +13,4 @@ Access forbidden
-{% endblock %}
\ No newline at end of file
+{% endblock %}
diff --git a/rowers/templates/404.html b/rowers/templates/404.html
index 5330441a..69d2b396 100644
--- a/rowers/templates/404.html
+++ b/rowers/templates/404.html
@@ -1,4 +1,4 @@
-{% extends "base.html" %}
+{% extends "bases.html" %}
{% load staticfiles %}
{% load rowerfilters %}
@@ -13,4 +13,4 @@ We could not find the page on our server.
-{% endblock %}
\ No newline at end of file
+{% endblock %}
diff --git a/rowers/templates/500.html b/rowers/templates/500.html
index dbb58908..a64a6d92 100644
--- a/rowers/templates/500.html
+++ b/rowers/templates/500.html
@@ -1,4 +1,4 @@
-{% extends "base.html" %}
+{% extends "bases.html" %}
{% load staticfiles %}
{% load rowerfilters %}
@@ -13,4 +13,4 @@ The site reported an internal server error. If this behavior repeats, please inf
-{% endblock %}
\ No newline at end of file
+{% endblock %}
diff --git a/rowers/templates/bases.html b/rowers/templates/bases.html
new file mode 100644
index 00000000..57e283b6
--- /dev/null
+++ b/rowers/templates/bases.html
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
+
+
+
+
+ Rowsandall
+
+
+
+
+ {% block meta %} {% endblock %}
+
+
+
+
+ {% if user.rower.rowerplan == 'pro' %}
+

+ {% else %}
+

+ {% endif %}
+
+
+
+
+
+
+
Free Data and Analysis. For Rowers. By Rowers.
+
+
+ {% if user.rower.rowerplan == 'pro' %}
+
Pro Member
+ {% else %}
+
+ {% endif %}
+
+
+ {% if user.is_authenticated %}
+
logout
+
+ {% else %}
+
 
+ {% endif %}
+
+
+
+
+
+
+
+
+
+ {% block message %}
+ {% if message %}
+
+ {{ message }}
+
+ {% endif %}
+ {% if successmessage %}
+
+ {{ successmessage }}
+
+ {% endif %}
+ {% endblock %}
+
+
+ {% load tz %}
+
+ {% block content %}{% endblock %}
+
+
+
+
+ {% block footer %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {% endblock %}
+
+
+
+
+
diff --git a/rowers/views.py b/rowers/views.py
index 01c3116c..b4e7b65a 100644
--- a/rowers/views.py
+++ b/rowers/views.py
@@ -922,6 +922,7 @@ def workout_csvemail_view(request,id=0):
def workout_strava_upload_view(request,id=0):
message = ""
r = Rower.objects.get(user=request.user)
+ res = -1
if (r.stravatoken == '') or (r.stravatoken is None):
s = "Token doesn't exist. Need to authorize"
return HttpResponseRedirect("/rowers/me/stravaauthorize/")
@@ -929,9 +930,14 @@ def workout_strava_upload_view(request,id=0):
# ready to upload. Hurray
w = Workout.objects.get(id=id)
if (checkworkoutuser(request.user,w)):
- tcxfile = stravastuff.createstravaworkoutdata(w)
-
-
+ try:
+ tcxfile = stravastuff.createstravaworkoutdata(w)
+ except:
+ with open("media/stravaerrors.log","a") as errorlog:
+ errorstring = str(sys.exc_info()[0])
+ timestr = time.strftime("%Y%m%d-%H%M%S")
+ errorlog.write(timestr+errorstring+"\r\n")
+ errorlog.write("views.py line 946\r\n")
try:
with open(tcxfile,'rb') as f:
try:
diff --git a/rowsandall_app/settings.py b/rowsandall_app/settings.py
index 58078fa3..60229f32 100644
--- a/rowsandall_app/settings.py
+++ b/rowsandall_app/settings.py
@@ -97,6 +97,7 @@ TEMPLATES = [
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
+ 'django.core.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'django.template.context_processors.i18n',
From 5f45d385f36967f58a852ec5959ac433e34ffd0b Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Thu, 5 Jan 2017 09:03:57 +0100
Subject: [PATCH 03/12] some more stuff related to strava bug
---
rowers/views.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rowers/views.py b/rowers/views.py
index f17bee1c..53abf953 100644
--- a/rowers/views.py
+++ b/rowers/views.py
@@ -859,7 +859,7 @@ def workout_tcxemail_view(request,id=0):
})
except:
successmessage = ""
- message = "Something went wrong (strava export) "+str(sys.exc_info()[0])
+ message = "Something went wrong (TCX export) "+str(sys.exc_info()[0])
with open("media/c2errors.log","a") as errorlog:
errorstring = str(sys.exc_info()[0])
timestr = strftime("%Y%m%d-%H%M%S")
From 1f056096d778d979983971356557669fa3351d79 Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Thu, 5 Jan 2017 17:10:33 +0100
Subject: [PATCH 04/12] sporttracksexport bug fixing
---
rowers/sporttracksstuff.py | 7 ++++++-
rowers/views.py | 3 +--
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/rowers/sporttracksstuff.py b/rowers/sporttracksstuff.py
index 7783a8ca..b0270b03 100644
--- a/rowers/sporttracksstuff.py
+++ b/rowers/sporttracksstuff.py
@@ -181,8 +181,10 @@ def createsporttracksworkoutdata(w):
maxhr = int(row.df[' HRCur (bpm)'].max())
# adding diff, trying to see if this is valid
- t = row.df.ix[:,'TimeStamp (sec)'].values-10*row.df.ix[0,'TimeStamp (sec)']
+ #t = row.df.ix[:,'TimeStamp (sec)'].values-10*row.df.ix[0,'TimeStamp (sec)']
+ t = row.df.ix[:,'TimeStamp (sec)'].values-row.df.ix[0,'TimeStamp (sec)']
t[0] = t[1]
+
d = row.df.ix[:,'cum_dist'].values
d[0] = d[1]
t = t.astype(int)
@@ -196,9 +198,12 @@ def createsporttracksworkoutdata(w):
try:
lat = row.df[' latitude'].values
lon = row.df[' longitude'].values
+ if not lat.std() and not lon.std():
+ haslatlon = 0
except KeyError:
haslatlon = 0
+
haspower = 1
try:
power = row.df[' Power (watts)'].values
diff --git a/rowers/views.py b/rowers/views.py
index 53abf953..698643ba 100644
--- a/rowers/views.py
+++ b/rowers/views.py
@@ -1078,7 +1078,6 @@ def workout_sporttracks_upload_view(request,id=0):
url = "https://api.sporttracks.mobi/api/v2/fitnessActivities.json"
response = requests.post(url,headers=headers,data=json.dumps(data))
-
# check for duplicate error first
if (response.status_code == 409 ):
message = "Duplicate error"
@@ -1093,7 +1092,7 @@ def workout_sporttracks_upload_view(request,id=0):
return HttpResponseRedirect(url)
else:
s = response
- message = "Something went wrong in workout_sporttracks_upload_view %s" % s
+ message = "Something went wrong in workout_sporttracks_upload_view: %s" % s.reason
else:
message = "You are not authorized to upload this workout"
From 76c9666b566669c3c0510a23511ba26cc39ce6b3 Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Thu, 5 Jan 2017 21:06:50 +0100
Subject: [PATCH 05/12] fix Strava upload
---
rowers/views.py | 32 ++++++++++++++------------------
1 file changed, 14 insertions(+), 18 deletions(-)
diff --git a/rowers/views.py b/rowers/views.py
index 698643ba..1ec36004 100644
--- a/rowers/views.py
+++ b/rowers/views.py
@@ -934,34 +934,31 @@ def workout_strava_upload_view(request,id=0):
if (checkworkoutuser(request.user,w)):
try:
tcxfile = stravastuff.createstravaworkoutdata(w)
- except:
- with open("media/stravaerrors.log","a") as errorlog:
- errorstring = str(sys.exc_info()[0])
- timestr = time.strftime("%Y%m%d-%H%M%S")
- errorlog.write(timestr+errorstring+"\r\n")
- errorlog.write("views.py line 946\r\n")
- try:
+
with open(tcxfile,'rb') as f:
try:
res = stravastuff.handle_stravaexport(f,w.name,
r.stravatoken,
description=w.notes)
- except:
+ w.uploadedtostrava = res
+ w.save()
+ os.remove(tcxfile)
+ url = "/rowers/workout/"+str(w.id)+"/edit"
+ successmessage = 'Workout sent to Strava.'
+ except:
with open("media/stravaerrors.log","a") as errorlog:
errorstring = str(sys.exc_info()[0])
- timestr = time.strftime("%Y%m%d-%H%M%S")
+ timestr = strftime("%Y%m%d-%H%M%S")
errorlog.write(timestr+errorstring+"\r\n")
errorlog.write("views.py line 946\r\n")
+ message = 'Error: '+errorstring
+
- w.uploadedtostrava = res
- w.save()
- os.remove(tcxfile)
- url = "/rowers/workout/"+str(w.id)+"/edit"
- successmessage = 'Workout sent to Strava.'
url = reverse(workout_export_view,
kwargs = {
'id':str(w.id),
+ 'message':message,
}
)
response = HttpResponseRedirect(url)
@@ -973,7 +970,6 @@ def workout_strava_upload_view(request,id=0):
url = reverse(workout_export_view,
kwargs = {
'id':str(w.id),
- 'message':message,
})
response = HttpResponseRedirect(url)
# except TimeoutExceeded as e:
@@ -1014,7 +1010,7 @@ def workout_c2_upload_view(request,id=0):
message = "Unexpected Error: "+str(sys.exc_info()[0])
with open("media/c2errors.log","a") as errorlog:
errorstring = str(sys.exc_info()[0])
- timestr = time.strftime("%Y%m%d-%H%M%S")
+ timestr = strftime("%Y%m%d-%H%M%S")
errorlog.write(timestr+errorstring+"\r\n")
# check for duplicate error first
@@ -1034,7 +1030,7 @@ def workout_c2_upload_view(request,id=0):
message = "Something went wrong in workout_c2_upload_view. Response code 200/201 but C2 sync failed: "+response.text
with open("media/c2errors.log","a") as errorlog:
errorstring = str(sys.exc_info()[0])
- timestr = time.strftime("%Y%m%d-%H%M%S")
+ timestr = strftime("%Y%m%d-%H%M%S")
errorlog.write(timestr+errorstring+"\r\n")
@@ -1043,7 +1039,7 @@ def workout_c2_upload_view(request,id=0):
message = "Something went wrong in workout_c2_upload_view. C2 sync failed."
with open("media/c2errors.log","a") as errorlog:
errorstring = str(sys.exc_info()[0])
- timestr = time.strftime("%Y%m%d-%H%M%S")
+ timestr = strftime("%Y%m%d-%H%M%S")
errorlog.write(timestr+errorstring+"\r\n")
else:
From d2e8fb9f7ef1e98eb8d968a9168845c67c8bd53e Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Thu, 5 Jan 2017 21:14:36 +0100
Subject: [PATCH 06/12] hotfix strava upload
---
rowers/views.py | 1 -
1 file changed, 1 deletion(-)
diff --git a/rowers/views.py b/rowers/views.py
index 1ec36004..5d7a4541 100644
--- a/rowers/views.py
+++ b/rowers/views.py
@@ -958,7 +958,6 @@ def workout_strava_upload_view(request,id=0):
url = reverse(workout_export_view,
kwargs = {
'id':str(w.id),
- 'message':message,
}
)
response = HttpResponseRedirect(url)
From e707e8106ed663886009ed13d2576e904bbd0209 Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Thu, 5 Jan 2017 21:39:20 +0100
Subject: [PATCH 07/12] small typo fix
---
rowers/views.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/rowers/views.py b/rowers/views.py
index 5d7a4541..b565971a 100644
--- a/rowers/views.py
+++ b/rowers/views.py
@@ -266,7 +266,7 @@ def rower_register_view(request):
message += "Happy rowing!\n\n\n"
message += "Oh, one more thing. The site is currently in beta and is developing fast. Bear with us. Don't hesitate to contact me if anything is broken or doesn't seem to work as advertised."
send_mail(subject, message,
- 'Sander Roosendaal ',
+ 'Sander Roosendaal ',
[fullemail])
subject2 = "New User"
@@ -275,7 +275,7 @@ def rower_register_view(request):
message2 += "User name: "+username
send_mail(subject2, message2,
- 'Rowsandall Server ',
+ 'Rowsandall Server ',
['roosendaalsander@gmail.com'])
return HttpResponseRedirect('/rowers/register/thankyou/')
From d02fb441edf70761381ae0ec289d8c897f5ba704 Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Fri, 6 Jan 2017 08:46:54 +0100
Subject: [PATCH 08/12] Alternative way to check if C2 log has stroke data
---
logos/boatcoachlogo.png | Bin 0 -> 30810 bytes
rowers/views.py | 68 +++++++++++++++++-----------------------
2 files changed, 29 insertions(+), 39 deletions(-)
create mode 100644 logos/boatcoachlogo.png
diff --git a/logos/boatcoachlogo.png b/logos/boatcoachlogo.png
new file mode 100644
index 0000000000000000000000000000000000000000..057ad75ff4cf471b3be55463102cff34a3dea698
GIT binary patch
literal 30810
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
Date: Fri, 6 Jan 2017 11:46:45 +0100
Subject: [PATCH 09/12] added BC logo
---
logos/bcsquare.png | Bin 0 -> 926 bytes
logos/boatcoachlogo.xcf | Bin 0 -> 75235 bytes
rowers/templates/compatibility.html | 5 +++--
rowers/templates/frontpage.html | 3 ++-
rowers/views.py | 10 +++++++++-
static/img/bcsquare.png | Bin 0 -> 2783 bytes
6 files changed, 14 insertions(+), 4 deletions(-)
create mode 100644 logos/bcsquare.png
create mode 100644 logos/boatcoachlogo.xcf
create mode 100644 static/img/bcsquare.png
diff --git a/logos/bcsquare.png b/logos/bcsquare.png
new file mode 100644
index 0000000000000000000000000000000000000000..547f44880660ec3fd00c9b4580fd249bb91cecc9
GIT binary patch
literal 926
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 |