You can also click the direct link:
diff --git a/rowers/templates/teams.html b/rowers/templates/teams.html
index 22e6ef47..be96301f 100644
--- a/rowers/templates/teams.html
+++ b/rowers/templates/teams.html
@@ -21,7 +21,7 @@
{{ team.name }}
This section lists open invites to join a group. By accepting
- a group invite, you are agreeing with the sharing
+ a group invite, you are agreeing with the sharing
of personal data between group members and coaches according to
our privacy policy.
-
+
As a group manager, by accepting a group invite, you are agreeing
with our privacy policy regarding groups and
personal data owned by group members.
-
+
{% endif %}
{% if mycoachrequests or mycoachoffers or coachoffers or coachrequests %}
@@ -226,16 +226,17 @@
Coaching Offers and Requests
This section lists open offers and requests related to coaching.
By accepting a coaching offer, the coach can run
- analysis, add workouts and edit settings on behalf of the athlete.
+ analysis, add workouts and edit settings on behalf of the athlete.
You agree to the sharing
of personal data between athletes and coaches according to
our privacy policy.
-
+
+
{% include "privacypolicy.html" %}
@@ -33,26 +39,27 @@
To start or continue using the site, please give your consent by clicking on the green Opt In button below.
-
Sorry, this file is invalid so it cannot be displayed.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- You can’t perform that action at this time.
-
-
-
-
-
-
-
-
-
-
-
-
- You signed in with another tab or window. Reload to refresh your session.
- You signed out in another tab or window. Reload to refresh your session.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Press h to open a hovercard with more details.
-
-
-
-
-
-
diff --git a/static/img/cross_country_ski.svg b/static/img/cross_country_ski.svg
deleted file mode 100644
index 51260a59..00000000
--- a/static/img/cross_country_ski.svg
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
diff --git a/static/img/crossfit.svg b/static/img/crossfit.svg
deleted file mode 100644
index 4865cde7..00000000
--- a/static/img/crossfit.svg
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
diff --git a/static/img/hike.svg b/static/img/hike.svg
deleted file mode 100644
index 9b857bc2..00000000
--- a/static/img/hike.svg
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
diff --git a/static/img/ice_skating.svg b/static/img/ice_skating.svg
deleted file mode 100644
index 112dd33b..00000000
--- a/static/img/ice_skating.svg
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
diff --git a/static/img/indoor_rower.svg b/static/img/indoor_rower.svg
deleted file mode 100644
index eab7ba0c..00000000
--- a/static/img/indoor_rower.svg
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
diff --git a/static/img/inline_skating.svg b/static/img/inline_skating.svg
deleted file mode 100644
index f0aae778..00000000
--- a/static/img/inline_skating.svg
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
diff --git a/static/img/kayaking.svg b/static/img/kayaking.svg
deleted file mode 100644
index 90dbb0c0..00000000
--- a/static/img/kayaking.svg
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
diff --git a/static/img/other.svg b/static/img/other.svg
deleted file mode 100644
index 4c95ea08..00000000
--- a/static/img/other.svg
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
diff --git a/static/img/paddle.svg b/static/img/paddle.svg
deleted file mode 100644
index 0056f1ba..00000000
--- a/static/img/paddle.svg
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
diff --git a/static/img/rowing.svg b/static/img/rowing.svg
deleted file mode 100644
index aee6bb68..00000000
--- a/static/img/rowing.svg
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
diff --git a/static/img/run.svg b/static/img/run.svg
deleted file mode 100644
index 999d7964..00000000
--- a/static/img/run.svg
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
diff --git a/static/img/ski_erg.svg b/static/img/ski_erg.svg
deleted file mode 100644
index 7f4eb2be..00000000
--- a/static/img/ski_erg.svg
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
diff --git a/static/img/standup_paddling.svg b/static/img/standup_paddling.svg
deleted file mode 100644
index d79f487a..00000000
--- a/static/img/standup_paddling.svg
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
diff --git a/static/img/swim.svg b/static/img/swim.svg
deleted file mode 100644
index 7d159811..00000000
--- a/static/img/swim.svg
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
diff --git a/static/img/walk.svg b/static/img/walk.svg
deleted file mode 100644
index 0b8f7c06..00000000
--- a/static/img/walk.svg
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
diff --git a/static/img/weight_training.svg b/static/img/weight_training.svg
deleted file mode 100644
index eed70eb5..00000000
--- a/static/img/weight_training.svg
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
diff --git a/static/img/workout.svg b/static/img/workout.svg
deleted file mode 100644
index 439aeb40..00000000
--- a/static/img/workout.svg
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
diff --git a/static/img/yoga.svg b/static/img/yoga.svg
deleted file mode 100644
index 748b75a5..00000000
--- a/static/img/yoga.svg
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
From 29a3481f85d93d9d08a20c0154bbf9add71567e7 Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Fri, 31 Dec 2021 10:35:21 +0100
Subject: [PATCH 20/20] removed obsolete code
---
rowers/views/workoutviews.py | 211 +----------------------------------
1 file changed, 2 insertions(+), 209 deletions(-)
diff --git a/rowers/views/workoutviews.py b/rowers/views/workoutviews.py
index faab6ed7..95a477e9 100644
--- a/rowers/views/workoutviews.py
+++ b/rowers/views/workoutviews.py
@@ -1244,214 +1244,7 @@ def remove_power_view(request,id=0):
@user_passes_test(ispromember,login_url='/rowers/paidplans/',
message="This functionality requires a Pro plan or higher. If you are already a Pro user, please log in to access this functionality. If you are already a Pro user, please log in to access this functionality",
redirect_field_name=None)
-def team_comparison_select(request,
- startdatestring="",
- enddatestring="",
- message='',
- successmessage='',
- userid=0,
- startdate=timezone.now()-datetime.timedelta(days=30),
- enddate=timezone.now(),
- id=0,
- teamid=0):
- r = getrequestrower(request,userid=userid)
- requestrower = getrower(request.user)
-
-
- request.session.pop('ps',None)
-
- if 'waterboattype' in request.session:
- waterboattype = request.session['waterboattype']
- else:
- waterboattype = mytypes.waterboattype
-
- if 'modalities' in request.session:
- modalities = request.session['modalities']
- if len(modalities) > 1: # pragma: no cover
- modality = 'all'
- else:
- modality = modalities[0]
- else:
- modalities = [m[0] for m in mytypes.workouttypes]
- modality = 'all'
-
- if request.method == 'POST':
- dateform = DateRangeForm(request.POST)
- if dateform.is_valid():
- startdate = dateform.cleaned_data['startdate']
- enddate = dateform.cleaned_data['enddate']
- startdatestring = startdate.strftime('%Y-%m-%d')
- enddatestring = enddate.strftime('%Y-%m-%d')
- request.session['startdate'] = startdatestring
- request.session['enddate'] = enddatestring
-
- modalityform = TrendFlexModalForm(request.POST)
- if modalityform.is_valid():
- modality = modalityform.cleaned_data['modality']
- waterboattype = modalityform.cleaned_data['waterboattype']
- if modality == 'all': # pragma: no cover
- modalities = [m[0] for m in mytypes.workouttypes]
- else:
- modalities = [modality]
-
- if modality != 'water': # pragma: no cover
- waterboattype = [b[0] for b in mytypes.boattypes]
-
-
- request.session['modalities'] = modalities
- request.session['waterboattype'] = waterboattype
- else:
- dateform = DateRangeForm(initial={
- 'startdate':startdate,
- 'enddate':enddate,
- })
- modalityform = TrendFlexModalForm(initial={
- 'modality':modality,
- 'waterboattype':waterboattype,
- })
-
-
-
-
- negtypes = []
- for b in mytypes.boattypes:
- if b[0] not in waterboattype:
- negtypes.append(b[0])
-
- startdate = datetime.datetime.combine(startdate,datetime.time())
- enddate = datetime.datetime.combine(enddate,datetime.time(23,59,59))
- #enddate = enddate+datetime.timedelta(days=1)
-
- if startdatestring:
- startdate = iso8601.parse_date(startdatestring)
- if enddatestring:
- enddate = iso8601.parse_date(enddatestring)
-
- if enddate < startdate: # pragma: no cover
- s = enddate
- enddate = startdate
- startdate = s
-
- try:
- theteam = Team.objects.get(id=teamid)
- except Team.DoesNotExist:
- theteam = 0
-
- # make sure the dates are not naive
- try:
- startdate = pytz.utc.localize(startdate)
- except ValueError:
- pass
- try:
- enddate = pytz.utc.localize(enddate)
- except ValueError:
- pass
-
- if theteam and (theteam.viewing == 'allmembers' or theteam.manager == request.user):
- workouts = Workout.objects.filter(team=theteam,
- startdatetime__gte=startdate,
- startdatetime__lte=enddate,
- workouttype__in=modalities).order_by("-date", "-starttime").exclude(boattype__in=negtypes)
- elif theteam and theteam.viewing == 'coachonly': # pragma: no cover
- workouts = Workout.objects.filter(team=theteam,user=r,
- startdatetime__gte=startdate,
- startdatetime__lte=enddate,
- workouttype__in=modalities).order_by("-date","-starttime").exclude(boattype__in=negtypes)
-
-
- else:
- theteam = None
- workouts = Workout.objects.filter(user=r,
- startdatetime__gte=startdate,
- startdatetime__lte=enddate,
- workouttype__in=modalities).order_by("-date", "-starttime").exclude(boattype__in=negtypes)
-
-
- query = request.GET.get('q')
- if query: # pragma: no cover
- query_list = query.split()
- workouts = workouts.filter(
- reduce(operator.and_,
- (Q(name__icontains=q) for q in query_list)) |
- reduce(operator.and_,
- (Q(notes__icontains=q) for q in query_list))
- )
- searchform = SearchForm(initial={'q':query})
- else:
- searchform = SearchForm()
-
- if id:
- firstworkout = get_workout(id)
- if not is_workout_team(request.user,firstworkout): # pragma: no cover
- raise PermissionDenied("You are not allowed to use this workout")
-
- firstworkoutquery = Workout.objects.filter(id=encoder.decode_hex(id))
- workouts = firstworkoutquery | workouts
- else:
- firstworkout = None
-
- form = WorkoutMultipleCompareForm()
- form.fields["workouts"].queryset = workouts
- if id:
- form.fields["workouts"].initial = [firstworkout]
-
-
-
- if theteam:
- theid = theteam.id
- else:
- theid = 0
-
- chartform = ChartParamChoiceForm(initial={'teamid':0})
-
- messages.info(request,successmessage)
- messages.error(request,message)
-
- if id:
- breadcrumbs = [
- {
- 'url':'/rowers/list-workouts/',
- 'name':'Workouts'
- },
- {
- 'url':get_workout_default_page(request,id),
- 'name': firstworkout.name
- },
- {
- 'url':reverse('team_comparison_select',kwargs={'id':id,'teamid':teamid}),
- 'name':'Compare Select'
- },
- ]
- else:
- breadcrumbs = [
- {
- 'url':'/rowers/list-workouts/',
- 'name':'Workouts'
- },
- {
- 'url':reverse('team_comparison_select',kwargs={'teamid':teamid}),
- 'name': 'Compare Select'
- },
-
- ]
-
- return render(request, 'team_compare_select.html',
- {'workouts': workouts,
- 'workout':firstworkout,
- 'dateform':dateform,
- 'startdate':startdate,
- 'enddate':enddate,
- 'team':theteam,
- 'searchform':searchform,
- 'form':form,
- 'rower':r,
- 'breadcrumbs':breadcrumbs,
- 'active':'nav-workouts',
- 'chartform':chartform,
- 'modalityform':modalityform,
- 'teams':get_my_teams(request.user),
- })
def course_mapcompare_view(request,id=0):
results = []
@@ -6190,7 +5983,7 @@ def workout_course_view(request, id):
)
if records:
record = records[0]
- else:
+ else: # pragma: no cover
# create record
record = VirtualRaceResult(
userid = r.id,
@@ -6222,7 +6015,7 @@ def workout_course_view(request, id):
try:
request.session['async_tasks'] += [(job.id,'check_race_course')]
- except KeyError:
+ except KeyError: # pragma: no cover
request.session['async_tasks'] = [(job.id,'check_race_course')]
messages.info(request,'We are checking your time on the course in the background. You will receive an email when the check is complete. You can check the status here')