From c8a172acbc134821438ee4ece613e93eeab75dfd Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Fri, 8 Dec 2017 10:56:24 +0100 Subject: [PATCH 1/5] list no name --- rowers/interactiveplots.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py index 8f8715e1..25a181c2 100644 --- a/rowers/interactiveplots.py +++ b/rowers/interactiveplots.py @@ -236,7 +236,10 @@ def interactive_activitychart(workouts,startdate,enddate,stack='type'): dates.append(dd) durations.append(du) types.append(w.workouttype) - rowers.append(w.user.user.first_name[0]+w.user.user.last_name[0]) + try: + rowers.append(w.user.user.first_name[0]+w.user.user.last_name[0]) + except IndexError: + rowers.append(str(w.user)) try: d = utc.localize(startdate) From be596dd060a12d1d5219484c8d9ae8c52c3f25c5 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Fri, 8 Dec 2017 10:59:48 +0100 Subject: [PATCH 2/5] show login when user first name is empty --- templates/basebase.html | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/templates/basebase.html b/templates/basebase.html index deca65f2..2a97d27c 100644 --- a/templates/basebase.html +++ b/templates/basebase.html @@ -117,7 +117,11 @@
{% if user.is_authenticated %}

+ {% if user.first_name %} {{ user.first_name }} + {% else %} + {{ user }} + {% endif %}

Edit user account, e.g. heart rate zones, power zones, email, teams From ce8d30dba64e2f5f047dae0d2cb22038d8ff6a93 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Fri, 8 Dec 2017 11:11:16 +0100 Subject: [PATCH 3/5] forcing first name to have at least one character in user form --- rowers/models.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/rowers/models.py b/rowers/models.py index 3ca03ad9..2fa222f5 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -987,6 +987,14 @@ class UserForm(ModelForm): model = User fields = ['first_name','last_name','email'] + def clean_first_name(self): + first_name = self.cleaned_data.get('first_name') + + if len(first_name): + return first_name + + raise forms.ValidationError('Please fill in your first name') + def clean_email(self): email = self.cleaned_data.get('email') From e47ccc191f0b0d02730a67871905174bc657dce0 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Sat, 9 Dec 2017 11:33:35 +0100 Subject: [PATCH 4/5] bug fix in addmanual --- rowers/dataprep.py | 5 +++-- rowers/views.py | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/rowers/dataprep.py b/rowers/dataprep.py index d7c6e6a1..e64c25e5 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -650,11 +650,11 @@ def create_row_df(r,distance,duration,startdatetime, step = totalseconds/float(nr_strokes) - elapsed = np.arange(0,totalseconds+step,step) + elapsed = np.arange(nr_strokes)*totalseconds/(float(nr_strokes-1)) dstep = distance/float(nr_strokes) - d = np.arange(0,distance+dstep,dstep) + d = np.arange(nr_strokes)*distance/(float(nr_strokes-1)) unixtime = unixstarttime + elapsed @@ -666,6 +666,7 @@ def create_row_df(r,distance,duration,startdatetime, else: power = 0 + df = pd.DataFrame({ 'TimeStamp (sec)': unixtime, ' Horizontal (meters)': d, diff --git a/rowers/views.py b/rowers/views.py index 8903a9d6..4c212de6 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -3156,7 +3156,6 @@ def addmanual_view(request): ) - print name id,message = dataprep.create_row_df(r, distance, duration,startdatetime, From 820bf95c8af10623111e6f4482c8272addbde33a Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Sat, 9 Dec 2017 11:57:05 +0100 Subject: [PATCH 5/5] moved callback URL to external config --- rowsandall_app/settings.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/rowsandall_app/settings.py b/rowsandall_app/settings.py index c76969ca..f8da172b 100644 --- a/rowsandall_app/settings.py +++ b/rowsandall_app/settings.py @@ -229,20 +229,21 @@ PROGRESS_CACHE_SECRET = CFG['progress_cache_secret'] # Concept 2 C2_CLIENT_ID = CFG['c2_client_id'] C2_CLIENT_SECRET = CFG['c2_client_secret'] -C2_REDIRECT_URI = "http://rowsandall.com/call_back" +C2_REDIRECT_URI = CFG['c2_callback'] #C2_REDIRECT_URI = "http://localhost:8000/call_back" # Strava STRAVA_CLIENT_ID = CFG['strava_client_id'] STRAVA_CLIENT_SECRET = CFG['strava_client_secret'] -STRAVA_REDIRECT_URI = "http://rowsandall.com/stravacall_back" +STRAVA_REDIRECT_URI = CFG['strava_callback'] + # SportTracks SPORTTRACKS_CLIENT_ID = CFG['sporttracks_client_id'] SPORTTRACKS_CLIENT_SECRET = CFG['sporttracks_client_secret'] -SPORTTRACKS_REDIRECT_URI = "http://rowsandall.com/sporttracks_callback" +SPORTTRACKS_REDIRECT_URI = CFG['sporttracks_callback'] # Runkeeper