removing unencoded links to workout from templates
This commit is contained in:
@@ -192,7 +192,10 @@ def summaryfromsplitdata(splitdata,data,filename,sep='|'):
|
||||
|
||||
totaldist = data['distance']
|
||||
totaltime = data['time']/10.
|
||||
spm = data['stroke_rate']
|
||||
try:
|
||||
spm = data['stroke_rate']
|
||||
except KeyError:
|
||||
spm = 0
|
||||
try:
|
||||
resttime = data['rest_time']/10.
|
||||
except KeyError:
|
||||
|
||||
@@ -23,17 +23,17 @@
|
||||
<div class="grid_6 alpha">
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/edit">Edit Workout</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id|encode }}/edit">Edit Workout</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="grid_2">
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/workflow">Workflow View</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id|encode }}/workflow">Workflow View</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="grid_2 omega">
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/export">Export</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id|encode }}/export">Export</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -52,7 +52,7 @@
|
||||
</tr>
|
||||
<th>Public link to this workout</th>
|
||||
<td>
|
||||
<a href="/rowers/workout/{{ workout.id }}">https://rowsandall.com/rowers/workout/{{ workout.id }}</a>
|
||||
<a href="/rowers/workout/{{ workout.id|encode }}">https://rowsandall.com/rowers/workout/{{ workout.id|encode }}</a>
|
||||
<td>
|
||||
</table>
|
||||
</div>
|
||||
@@ -60,7 +60,7 @@
|
||||
<div class="grid_6 alpha">
|
||||
<div class="grid_2 alpha">
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small" href="/rowers/workout/compare/{{ workout.id }}">Compare Workouts</a>
|
||||
<a class="button blue small" href="/rowers/workout/compare/{{ workout.id|encode }}">Compare Workouts</a>
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/paidplans/">Compare Workouts*</a>
|
||||
{% endif %}
|
||||
@@ -69,7 +69,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="grid_2">
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/flexchart">
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/flexchart">
|
||||
Flexible Interactive Plot
|
||||
</a>
|
||||
<p>
|
||||
@@ -80,7 +80,7 @@
|
||||
<div class="grid_2 omega tooltip">
|
||||
<p>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/editintervals">Edit Intervals</a>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/editintervals">Edit Intervals</a>
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/paidplans">Edit Intervals*</a>
|
||||
{% endif %}
|
||||
@@ -96,7 +96,7 @@
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/adddistanceplot2">Dist Metrics Plot</a>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/adddistanceplot2">Dist Metrics Plot</a>
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/paidplans">Dist Metrics Plot*</a>
|
||||
{% endif %}
|
||||
@@ -108,7 +108,7 @@
|
||||
<div class="grid_2">
|
||||
<p>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/addtimeplot2">Time Metrics Plot</a>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/addtimeplot2">Time Metrics Plot</a>
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/paidplans">Time Metrics Plot*</a>
|
||||
{% endif %}
|
||||
@@ -120,7 +120,7 @@
|
||||
<div class="grid_2 omega">
|
||||
<p>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/histo">Power Histogram</a>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/histo">Power Histogram</a>
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/paidplans">Power Histogram*</a>
|
||||
{% endif %}
|
||||
@@ -147,7 +147,7 @@
|
||||
<div class="grid_2">
|
||||
<p>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small" href="/rowers/workout/fusion/{{ workout.id }}/">Sensor Fusion</a>
|
||||
<a class="button blue small" href="/rowers/workout/fusion/{{ workout.id|encode }}/">Sensor Fusion</a>
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/paidplans">Sensor Fusion*</a>
|
||||
{% endif %}
|
||||
@@ -159,7 +159,7 @@
|
||||
<div class="grid_2 omega">
|
||||
<p>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/split">Split Workout</a>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/split">Split Workout</a>
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/paidplans">Split Workout*</a>
|
||||
{% endif %}
|
||||
@@ -172,7 +172,7 @@
|
||||
<div class="grid_6 alpha">
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/interactiveplot">Big Interactive Plot</a>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/interactiveplot">Big Interactive Plot</a>
|
||||
</p>
|
||||
<p>
|
||||
See (and save) the big interactive plot
|
||||
@@ -180,7 +180,7 @@
|
||||
</div>
|
||||
<div class="grid_2">
|
||||
<p>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/instroke">In-Stroke Metrics</a></p>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/instroke">In-Stroke Metrics</a></p>
|
||||
<p>
|
||||
If your workout has in-stroke metrics (like a stroke power curve or boat acceleration curve), you will find it here.
|
||||
</p>
|
||||
|
||||
@@ -21,17 +21,17 @@
|
||||
{% endif %}
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/edit">Edit Workout</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id|encode }}/edit">Edit Workout</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="grid_2">
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/workflow">Workflow View</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id|encode }}/workflow">Workflow View</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="grid_2 omega">
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/export">Export</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id|encode }}/export">Export</a>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
@@ -49,7 +49,7 @@
|
||||
</tr>
|
||||
<th>Public link to this workout</th>
|
||||
<td>
|
||||
<a href="/rowers/workout/{{ workout.id }}">https://rowsandall.com/rowers/workout/{{ workout.id }}</a>
|
||||
<a href="/rowers/workout/{{ workout.id|encode }}">https://rowsandall.com/rowers/workout/{{ workout.id|encode }}</a>
|
||||
<td>
|
||||
</table>
|
||||
</div>
|
||||
@@ -58,7 +58,7 @@
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small" href="/rowers/workout/compare/{{ workout.id }}">Compare Workouts</a>
|
||||
<a class="button blue small" href="/rowers/workout/compare/{{ workout.id|encode }}">Compare Workouts</a>
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/paidplans">Compare Workouts*</a>
|
||||
{% endif %}
|
||||
@@ -70,7 +70,7 @@
|
||||
|
||||
<div class="grid_2">
|
||||
<p>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/flexchart">Flexible Interactive Plot</a>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/flexchart">Flexible Interactive Plot</a>
|
||||
</p>
|
||||
<p>
|
||||
Flexible Interactive plot. Pick your own X and Y axis parameters.
|
||||
@@ -80,7 +80,7 @@
|
||||
<div class="grid_2 omega tooltip">
|
||||
<p>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/editintervals">Edit Intervals</a>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/editintervals">Edit Intervals</a>
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/paidplans">Edit Intervals*</a>
|
||||
{% endif %}
|
||||
@@ -97,7 +97,7 @@
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small"href="/rowers/workout/{{ workout.id }}/crewnerdsummary">CrewNerd Summary</a>
|
||||
<a class="button blue small"href="/rowers/workout/{{ workout.id|encode }}/crewnerdsummary">CrewNerd Summary</a>
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/paidplans">CrewNerd Summary*</a>
|
||||
{% endif %}
|
||||
@@ -111,7 +111,7 @@
|
||||
<div class="grid_2 tooltip">
|
||||
<p>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/forcecurve">Stroke Profile (Empower)</a>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/forcecurve">Stroke Profile (Empower)</a>
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/paidplans">Stroke Profile (Empower)*</a>
|
||||
{% endif %}
|
||||
@@ -124,7 +124,7 @@
|
||||
<div class="grid_2 omega tooltip">
|
||||
<p>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/addotwpowerplot">OTW Power Plot</a>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/addotwpowerplot">OTW Power Plot</a>
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/paidplans">OTW Power Plot*</a>
|
||||
{% endif %}
|
||||
@@ -144,7 +144,7 @@
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/geeky">Geeky Stuff</a>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/geeky">Geeky Stuff</a>
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/paidplans">Geeky Stuff*</a>
|
||||
{% endif %}
|
||||
@@ -159,7 +159,7 @@
|
||||
<div class="grid_2 tooltip">
|
||||
<p>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small"href="/rowers/workout/{{ workout.id }}/smoothenpace">Smooth out Pace Data</a>
|
||||
<a class="button blue small"href="/rowers/workout/{{ workout.id|encode }}/smoothenpace">Smooth out Pace Data</a>
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/paidplans">Smooth out Pace Data*</a>
|
||||
{% endif %}
|
||||
@@ -176,7 +176,7 @@
|
||||
<div class="grid_2 omega">
|
||||
<p>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small"href="/rowers/workout/{{ workout.id }}/undosmoothenpace">Raw Data</a>
|
||||
<a class="button blue small"href="/rowers/workout/{{ workout.id|encode }}/undosmoothenpace">Raw Data</a>
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/paidplans">Reset Smoothing*</a>
|
||||
{% endif %}
|
||||
@@ -203,7 +203,7 @@
|
||||
<div class="grid_2">
|
||||
<p>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small" href="/rowers/workout/fusion/{{ workout.id }}/">Sensor Fusion</a>
|
||||
<a class="button blue small" href="/rowers/workout/fusion/{{ workout.id|encode }}/">Sensor Fusion</a>
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/paidplans">Sensor Fusion*</a>
|
||||
{% endif %}
|
||||
@@ -215,7 +215,7 @@
|
||||
<div class="grid_2 omega">
|
||||
<p>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/split">Split Workout</a>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/split">Split Workout</a>
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/paidplans">Split Workout*</a>
|
||||
{% endif %}
|
||||
@@ -229,7 +229,7 @@
|
||||
<div class="grid_6 alpha">
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/interactiveplot">Big Interactive Plot</a>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/interactiveplot">Big Interactive Plot</a>
|
||||
</p>
|
||||
<p>
|
||||
See (and save) the big interactive plot
|
||||
@@ -237,7 +237,7 @@
|
||||
</div>
|
||||
<div class="grid_2">
|
||||
<p>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/instroke">In-Stroke Metrics</a></p>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/instroke">In-Stroke Metrics</a></p>
|
||||
<p>
|
||||
If your workout has in-stroke metrics (like a stroke power curve or boat acceleration curve), you will find it here.
|
||||
</p>
|
||||
|
||||
@@ -42,12 +42,12 @@
|
||||
{% if user.is_authenticated and mayedit %}
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/edit">Edit Workout</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id|encode }}/edit">Edit Workout</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="grid_2 suffix_2 omega">
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/advanced">Advanced Edit</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id|encode }}/advanced">Advanced Edit</a>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
<tr>
|
||||
<td> {{ cworkout.date }} </td>
|
||||
<td> {{ cworkout.starttime }} </td>
|
||||
<td> <a href="/rowers/workout/{{ workout.id }}/edit">{{ cworkout.name }}</a> </td>
|
||||
<td> <a href="/rowers/workout/{{ workout.id|encode }}/edit">{{ cworkout.name }}</a> </td>
|
||||
<td> {{ cworkout.workouttype }} </td>
|
||||
<td> {{ cworkout.distance }}m</td>
|
||||
<td> {{ cworkout.duration |durationprint:"%H:%M:%S.%f" }} </td>
|
||||
@@ -89,7 +89,7 @@
|
||||
{% if id == cworkout.id %}
|
||||
<td> </td>
|
||||
{% else %}
|
||||
<td> <a class="button blue small" href="/rowers/workout/compare/{{ id }}/{{ cworkout.id }}/time/hr">Compare</a> </td>
|
||||
<td> <a class="button blue small" href="/rowers/workout/compare/{{ id }}/{{ cworkout.id|encode }}/time/hr">Compare</a> </td>
|
||||
{% endif %}
|
||||
|
||||
</tr>
|
||||
|
||||
@@ -26,11 +26,11 @@
|
||||
<tr>
|
||||
<td> {{ workout.date }} </td>
|
||||
<td> {{ workout.starttime }} </td>
|
||||
<td><a href="/rowers/workout/{{workout.id}}/edit"> {{ workout.name }}</a> </td>
|
||||
<td><a href="/rowers/workout/{{workout.id|encode}}/edit"> {{ workout.name }}</a> </td>
|
||||
<td> {{ workout.workouttype }} </td>
|
||||
<td> <a href="/rowers/workout/{{ workout.id }}/deleteconfirm">D</td>
|
||||
<td> <a href="/rowers/workout/{{ workout.id|encode }}/deleteconfirm">D</td>
|
||||
{% if not workout.uploadedtoc2 %}
|
||||
<td> <a href="/rowers/workout/{{ workout.id }}/c2upload">C2</td>
|
||||
<td> <a href="/rowers/workout/{{ workout.id|encode }}/c2upload">C2</td>
|
||||
{% else %}
|
||||
<td> </td>
|
||||
{% endif %}
|
||||
|
||||
@@ -12,17 +12,17 @@
|
||||
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/edit">Edit Workout</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id|encode }}/edit">Edit Workout</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="grid_2">
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/workflow">Workflow View</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id|encode }}/workflow">Workflow View</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="grid_2 omega">
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/advanced">Advanced Edit</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id|encode }}/advanced">Advanced Edit</a>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
@@ -42,7 +42,7 @@
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="grid_1 alpha">
|
||||
<a href="/rowers/workout/{{ workout.id }}/c2uploadw"><img src="/static/img/c2square.jpg" alt="Concept2 icon" width="60" height="60"></a>
|
||||
<a href="/rowers/workout/{{ workout.id|encode }}/c2uploadw"><img src="/static/img/c2square.jpg" alt="Concept2 icon" width="60" height="60"></a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
@@ -60,7 +60,7 @@
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="grid_1">
|
||||
<a href="/rowers/workout/{{ workout.id }}/stravauploadw"><img src="/static/img/stravasquare.png" alt="Strava icon" width="60" height="60"></a>
|
||||
<a href="/rowers/workout/{{ workout.id|encode }}/stravauploadw"><img src="/static/img/stravasquare.png" alt="Strava icon" width="60" height="60"></a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
@@ -77,7 +77,7 @@
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="grid_1">
|
||||
<a href="/rowers/workout/{{ workout.id }}/sporttracksuploadw">
|
||||
<a href="/rowers/workout/{{ workout.id|encode }}/sporttracksuploadw">
|
||||
<img src="/static/img/sporttrackssquare.png" alt="SportTracks icon" width="60" height="60"></a>
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -88,12 +88,12 @@
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="grid_1">
|
||||
<a href="/rowers/workout/{{ workout.id }}/emailtcx">
|
||||
<a href="/rowers/workout/{{ workout.id|encode }}/emailtcx">
|
||||
<img src="/static/img/export.png" alt="TCX Export" width="60" height="60"></a>
|
||||
</div>
|
||||
|
||||
<div class="grid_1">
|
||||
<a href="/rowers/workout/{{ workout.id }}/emailcsv">
|
||||
<a href="/rowers/workout/{{ workout.id|encode }}/emailcsv">
|
||||
<img src="/static/img/CSVsquare.png" alt="CSV Export" width="60" height="60"></a>
|
||||
</div>
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="grid_1 alpha">
|
||||
<a href="/rowers/workout/{{ workout.id }}/runkeeperuploadw"><img src="/static/img/rksquare.png" alt="Runkeeper icon" width="60" height="60"></a>
|
||||
<a href="/rowers/workout/{{ workout.id|encode }}/runkeeperuploadw"><img src="/static/img/rksquare.png" alt="Runkeeper icon" width="60" height="60"></a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
@@ -124,7 +124,7 @@
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="grid_1">
|
||||
<a href="/rowers/workout/{{ workout.id }}/underarmouruploadw"><img src="/static/img/uasquare.png" alt="Underarmour icon" width="60" height="60"></a>
|
||||
<a href="/rowers/workout/{{ workout.id|encode }}/underarmouruploadw"><img src="/static/img/uasquare.png" alt="Underarmour icon" width="60" height="60"></a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
@@ -142,7 +142,7 @@
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="grid_1">
|
||||
<a href="/rowers/workout/{{ workout.id }}/tpuploadw"><img src="/static/img/tpicon.png" alt="Tp icon" width="60" height="60"></a>
|
||||
<a href="/rowers/workout/{{ workout.id|encode }}/tpuploadw"><img src="/static/img/tpicon.png" alt="Tp icon" width="60" height="60"></a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
@@ -153,7 +153,7 @@
|
||||
{% endif %}
|
||||
|
||||
<div class="grid_1 omega">
|
||||
<a href="/rowers/workout/{{ workout.id }}/emailgpx">
|
||||
<a href="/rowers/workout/{{ workout.id|encode }}/emailgpx">
|
||||
<img src="/static/img/gpx.jpg" alt="GPX Export" width="60" height="60"></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -115,7 +115,7 @@
|
||||
<tr>
|
||||
<td> {{ cworkout.date }} </td>
|
||||
<td> {{ cworkout.starttime }} </td>
|
||||
<td> <a href="/rowers/workout/{{ workout.id }}/edit">{{ cworkout.name }}</a> </td>
|
||||
<td> <a href="/rowers/workout/{{ workout.id|encode }}/edit">{{ cworkout.name }}</a> </td>
|
||||
<td> {{ cworkout.workouttype }} </td>
|
||||
<td> {{ cworkout.distance }}m</td>
|
||||
<td> {{ cworkout.duration |durationprint:"%H:%M:%S.%f" }} </td>
|
||||
@@ -124,7 +124,7 @@
|
||||
{% if id == cworkout.id %}
|
||||
<td> </td>
|
||||
{% else %}
|
||||
<td> <a class="button blue small" href="/rowers/workout/fusion/{{ id }}/{{ cworkout.id }}">Fusion</a> </td>
|
||||
<td> <a class="button blue small" href="/rowers/workout/fusion/{{ id }}/{{ cworkout.id|encode }}">Fusion</a> </td>
|
||||
{% endif %}
|
||||
|
||||
</tr>
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
</tr>
|
||||
<th>Public link to this workout</th>
|
||||
<td>
|
||||
<a href="/rowers/workout/{{ workout.id }}/">https://rowsandall.com/rowers/workout/{{ workout.id }}</a>
|
||||
<a href="/rowers/workout/{{ workout.id|encode }}/">https://rowsandall.com/rowers/workout/{{ workout.id|encode }}</a>
|
||||
<td>
|
||||
|
||||
</table>
|
||||
@@ -42,7 +42,7 @@
|
||||
{% if instrokemetrics %}
|
||||
{% for metric in instrokemetrics %}
|
||||
<p>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/instroke/{{ metric }}/">{{ metric }}</a>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/instroke/{{ metric }}/">{{ metric }}</a>
|
||||
</p>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li id="workout-delete">
|
||||
<a href="/rowers/workout/{{ workout.id }}/delete/">
|
||||
<a href="/rowers/workout/{{ workout.id|encode }}/delete/">
|
||||
<i class="fas fa-trash-alt fa-fw"></i> Delete
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
<td> {{ workout.averagehr }} </td>
|
||||
<td> {{ workout.maxhr }} </td>
|
||||
<td>
|
||||
<a href="/rowers/workout/{{ workout.id }}/edit/">{{ workout.name }}</a> </td>
|
||||
<a href="/rowers/workout/{{ workout.id|encode }}/edit/">{{ workout.name }}</a> </td>
|
||||
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -19,17 +19,17 @@
|
||||
{% endif %}
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/edit">Edit Workout</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id|encode }}/edit">Edit Workout</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="grid_2">
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/advanced">Advanced Edit</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id|encode }}/advanced">Advanced Edit</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="grid_2 omega">
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/export">Export</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id|encode }}/export">Export</a>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
@@ -48,7 +48,7 @@
|
||||
</tr>
|
||||
<th>Public link to this workout</th>
|
||||
<td>
|
||||
<a href="/rowers/workout/{{ workout.id }}">https://rowsandall.com/rowers/workout/{{ workout.id }}</a>
|
||||
<a href="/rowers/workout/{{ workout.id|encode }}">https://rowsandall.com/rowers/workout/{{ workout.id|encode }}</a>
|
||||
<td>
|
||||
</table>
|
||||
</div>
|
||||
@@ -58,7 +58,7 @@
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/wind">Edit Wind Data</a>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/wind">Edit Wind Data</a>
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/about">Edit Wind Data</a>
|
||||
{% endif %}
|
||||
@@ -71,7 +71,7 @@
|
||||
<div class="grid_2">
|
||||
<p>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/stream">Edit Stream Data</a>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/stream">Edit Stream Data</a>
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/about">Edit Stream Data</a>
|
||||
{% endif %}
|
||||
@@ -84,7 +84,7 @@
|
||||
<div class="grid_2 omega">
|
||||
<p>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/otwsetpower">OTW Power</a>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/otwsetpower">OTW Power</a>
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/about">OTW Power</a>
|
||||
{% endif %}
|
||||
@@ -101,7 +101,7 @@
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/interactiveotwplot">Corrected Pace Plot</a>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/interactiveotwplot">Corrected Pace Plot</a>
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/about">Corrected Pace Plot</a>
|
||||
{% endif %}
|
||||
@@ -113,7 +113,7 @@
|
||||
</div>
|
||||
<div class="grid_2 suffix_2 omega">
|
||||
<p>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/interactiveplot">Big Interactive Plot</a>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/interactiveplot">Big Interactive Plot</a>
|
||||
</p>
|
||||
<p>
|
||||
See (and save) the big interactive plot
|
||||
@@ -128,7 +128,7 @@
|
||||
{% else %}
|
||||
<div class="grid_2">
|
||||
{% endif %}
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/instroke/{{ metric }}">{{ metric }}</a>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/instroke/{{ metric }}">{{ metric }}</a>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
@@ -91,12 +91,12 @@
|
||||
<tr>
|
||||
<td> {{ workout.distance }} m</td>
|
||||
<td> {{ workout.duration |durationprint:"%H:%M:%S.%f" }} </td>
|
||||
<td> {{ avgpower|lookup:workout.id }} W</td>
|
||||
<td> {{ avgpower|lookup:workout.id|encode }} W</td>
|
||||
<td> {{ workout.date }} </td>
|
||||
<td> {{ workout.averagehr }} </td>
|
||||
<td> {{ workout.maxhr }} </td>
|
||||
<td>
|
||||
<a href="/rowers/workout/{{ workout.id }}/edit/">{{ workout.name }}</a> </td>
|
||||
<a href="/rowers/workout/{{ workout.id|encode }}/edit/">{{ workout.name }}</a> </td>
|
||||
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -26,11 +26,11 @@
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a href="/rowers/workout/{{ workout.id }}/wind">Set wind strength and direction</a>
|
||||
<a href="/rowers/workout/{{ workout.id|encode }}/wind">Set wind strength and direction</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a href="/rowers/workout/{{ workout.id }}/stream">
|
||||
<a href="/rowers/workout/{{ workout.id|encode }}/stream">
|
||||
Set river stream strength
|
||||
</a>
|
||||
</p>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/advanced">Advanced</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id|encode }}/advanced">Advanced</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -14,12 +14,12 @@
|
||||
</tr><tr>
|
||||
<th>Public link to this workout</th>
|
||||
<td>
|
||||
<a href="/rowers/workout/{{ workout.id }}">https://rowsandall.com/rowers/workout/{{ workout.id }}</a>
|
||||
<a href="/rowers/workout/{{ workout.id|encode }}">https://rowsandall.com/rowers/workout/{{ workout.id|encode }}</a>
|
||||
</td>
|
||||
</tr><tr>
|
||||
<th>Comments</th>
|
||||
<td>
|
||||
<a href="/rowers/workout/{{ workout.id }}/comment">Comment ({{ aantalcomments }})</a>
|
||||
<a href="/rowers/workout/{{ workout.id|encode }}/comment">Comment ({{ aantalcomments }})</a>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button red small" href="/rowers/workout/{{ workout.id }}/deleteconfirm">Delete</a>
|
||||
<a class="button red small" href="/rowers/workout/{{ workout.id|encode }}/deleteconfirm">Delete</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/edit">Edit Workout</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id|encode }}/edit">Edit Workout</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/editintervals">Edit Intervals</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id|encode }}/editintervals">Edit Intervals</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/stream">Edit Stream Data</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id|encode }}/stream">Edit Stream Data</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/wind">Edit Wind Data</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id|encode }}/wind">Edit Wind Data</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/export">Export Workout</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id|encode }}/export">Export Workout</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/flexchart">Flex Chart</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id|encode }}/flexchart">Flex Chart</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/map">Map View</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id|encode }}/map">Map View</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<p>
|
||||
<div class="fb-share-button" data-href="https://rowsandall.com/rowers/workout/{{ workout.id }}" data-layout="button" data-size="small" data-mobile-iframe="false">
|
||||
<a class="fb-xfbml-parse-ignore" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https://rowsandall.com/rowers/workout/{{ workout.id }}">Share</a>
|
||||
<div class="fb-share-button" data-href="https://rowsandall.com/rowers/workout/{{ workout.id|encode }}" data-layout="button" data-size="small" data-mobile-iframe="false">
|
||||
<a class="fb-xfbml-parse-ignore" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https://rowsandall.com/rowers/workout/{{ workout.id|encode }}">Share</a>
|
||||
</div>
|
||||
</p>
|
||||
<p>
|
||||
<a class="twitter-share-button"
|
||||
href="https://twitter.com/intent/tweet"
|
||||
data-url="https://rowsandall.com/rowers/workout/{{ workout.id }}"
|
||||
data-url="https://rowsandall.com/rowers/workout/{{ workout.id|encode }}"
|
||||
data-text="@rowsandall #rowingdata">Tweet</a>
|
||||
</p>
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/otwsetpower">OTW Power</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id|encode }}/otwsetpower">OTW Power</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/updatecp">
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id|encode }}/updatecp">
|
||||
Make Ranking Piece</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<tr>
|
||||
<th>Comments</th>
|
||||
<td>
|
||||
<a href="/rowers/workout/{{ workout.id }}/comment">Comment ({{ aantalcomments }})</a>
|
||||
<a href="/rowers/workout/{{ workout.id|encode }}/comment">Comment ({{ aantalcomments }})</a>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<div class="grid_2 alpha">
|
||||
<div class="fb-share-button" data-href="https://rowsandall.com/rowers/workout/{{ workout.id }}" data-layout="button" data-size="small" data-mobile-iframe="false">
|
||||
<a class="fb-xfbml-parse-ignore" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https://rowsandall.com/rowers/workout/{{ workout.id }}">Share</a>
|
||||
<div class="fb-share-button" data-href="https://rowsandall.com/rowers/workout/{{ workout.id|encode }}" data-layout="button" data-size="small" data-mobile-iframe="false">
|
||||
<a class="fb-xfbml-parse-ignore" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https://rowsandall.com/rowers/workout/{{ workout.id|encode }}">Share</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="grid_2 alpha">
|
||||
<p> </p>
|
||||
<a class="twitter-share-button"
|
||||
href="https://twitter.com/intent/tweet"
|
||||
data-url="https://rowsandall.com/rowers/workout/{{ workout.id }}"
|
||||
data-url="https://rowsandall.com/rowers/workout/{{ workout.id|encode }}"
|
||||
data-text="@rowsandall #rowingdata">Tweet</a>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -3,21 +3,21 @@
|
||||
</div>
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/addtimeplot">Add Time Plot</a>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/addtimeplot">Add Time Plot</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/adddistanceplot">Add Distance Plot</a>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/adddistanceplot">Add Distance Plot</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/addpiechart">Add HR Pie Chart</a>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/addpiechart">Add HR Pie Chart</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/addpowerpiechart">Add Power Pie Chart</a>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/addpowerpiechart">Add Power Pie Chart</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/stats">Workout Stats</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ workout.id|encode }}/stats">Workout Stats</a>
|
||||
</p>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/image">Attach Image</a>
|
||||
<a class="button blue small" href="/rowers/workout/{{ workout.id|encode }}/image">Attach Image</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
<td> {{ workout.date|date:"Y-m-d" }} </td>
|
||||
<td>
|
||||
<div class="tooltip">
|
||||
<a href="{% url manager.defaultlandingpage id=workout.id %}">
|
||||
<a href="{% url manager.defaultlandingpage id=workout.id|encode %}">
|
||||
{{ workout.name }}
|
||||
</a>
|
||||
<span class="tooltiptext">{{ workout.notes }}</span>
|
||||
@@ -90,7 +90,7 @@
|
||||
<td> {{ workout.distance }}m</td>
|
||||
<td> {{ workout.duration |durationprint:"%H:%M:%S.%f" }} </td>
|
||||
<td>
|
||||
<a href="/rowers/sessions/{{ psdict.id.1 }}/detach/{{ workout.id }}/">Detach</a>
|
||||
<a href="/rowers/sessions/{{ psdict.id.1 }}/detach/{{ workout.id|encode }}/">Detach</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
<td> {{ workout.averagehr }} </td>
|
||||
<td> {{ workout.maxhr }} </td>
|
||||
<td>
|
||||
<a href="/rowers/workout/{{ workout.id }}/edit/">
|
||||
<a href="/rowers/workout/{{ workout.id|encode }}/edit/">
|
||||
{{ workout.name }}
|
||||
</a>
|
||||
</td>
|
||||
|
||||
@@ -52,16 +52,16 @@
|
||||
<li>
|
||||
{% if user.is_authenticated and user == rower.user %}
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ graph.workout.id }}/edit">Edit Workout</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ graph.workout.id|encode }}/edit">Edit Workout</a>
|
||||
</p>
|
||||
{% else %}
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ graph.workout.id }}">See Workout</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ graph.workout.id|encode }}">See Workout</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if user.is_authenticated and user == rower.user %}
|
||||
<p>
|
||||
<a class="button gray small" href="/rowers/workout/{{ graph.workout.id }}/workflow">Workflow View</a>
|
||||
<a class="button gray small" href="/rowers/workout/{{ graph.workout.id|encode }}/workflow">Workflow View</a>
|
||||
</p>
|
||||
{% else %}
|
||||
<p> </p>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<ul class="main-content">
|
||||
<li class="grid_2">
|
||||
<p>
|
||||
<form enctype="multipart/form-data" action="/rowers/workout/{{ workout.id }}/split/" method="post">
|
||||
<form enctype="multipart/form-data" action="/rowers/workout/{{ workout.id|encode }}/split/" method="post">
|
||||
<table width=100%>
|
||||
{{ form.as_table }}
|
||||
</table>
|
||||
@@ -42,7 +42,7 @@
|
||||
</tr><tr>
|
||||
<th>Public link to this workout</th>
|
||||
<td>
|
||||
<a href="/rowers/workout/{{ workout.id }}">https://rowsandall.com/rowers/workout/{{ workout.id }}</a>
|
||||
<a href="/rowers/workout/{{ workout.id|encode }}">https://rowsandall.com/rowers/workout/{{ workout.id|encode }}</a>
|
||||
<td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="grid_3 alpha">
|
||||
<big>{{ forloop.counter }}</big>
|
||||
<div class="grid_3 tooltip">
|
||||
<a href="/rowers/workout/{{ workout.id }}/flexchart?favoritechart={{ forloop.counter |add:"-1" }}">
|
||||
<a href="/rowers/workout/{{ workout.id|encode }}/flexchart?favoritechart={{ forloop.counter |add:"-1" }}">
|
||||
{{ chart.div | safe }}
|
||||
</a>
|
||||
{% if rower.showfavoritechartnotes %}
|
||||
|
||||
@@ -59,7 +59,7 @@ $('#id_workouttype').change();
|
||||
<div class="fb-share-button"
|
||||
data-href="https://rowsandall.com/rowers/workout/{{ workout.id|encode }}/"
|
||||
data-layout="button" data-size="small" data-mobile-iframe="false">
|
||||
<a class="fb-xfbml-parse-ignore" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https://rowsandall.com/rowers/workout/{{ workout.id }}">Share</a>
|
||||
<a class="fb-xfbml-parse-ignore" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https://rowsandall.com/rowers/workout/{{ workout.id|encode }}">Share</a>
|
||||
</div>
|
||||
</p>
|
||||
<p>
|
||||
@@ -123,7 +123,7 @@ $('#id_workouttype').change();
|
||||
<h1>Racing</h1>
|
||||
{% for race in indoorraces %}
|
||||
<p>
|
||||
<a href="/rowers/virtualevent/{{ race.id }}/submit/{{ workout.id }}/">Submit this to Indoor Race {{ race.name }}</a>
|
||||
<a href="/rowers/virtualevent/{{ race.id }}/submit/{{ workout.id|encode }}/">Submit this to Indoor Race {{ race.name }}</a>
|
||||
</p>
|
||||
{% endfor %}
|
||||
</li>
|
||||
|
||||
BIN
rowers/tests/testdata/testdata.csv.gz
vendored
BIN
rowers/tests/testdata/testdata.csv.gz
vendored
Binary file not shown.
@@ -351,6 +351,8 @@ urlpatterns = [
|
||||
url(r'^workout/(?P<pk>\d+)/delete/$',login_required(
|
||||
views.WorkoutDelete.as_view()),
|
||||
name='workout_delete'),
|
||||
url(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/delete/$',login_required(
|
||||
views.workout_code_delete_view),name='workout_code_delete'),
|
||||
url(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/smoothenpace/$',views.workout_smoothenpace_view,name='workout_smoothenpace_view'),
|
||||
url(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/undosmoothenpace/$',views.workout_undo_smoothenpace_view,name='workout_undo_smoothenpace_view'),
|
||||
url(r'^workout/c2import/$',views.workout_c2import_view,name='workout_c2import_view'),
|
||||
|
||||
@@ -4664,11 +4664,12 @@ def workout_fusion_view(request,id1=0,id2=1):
|
||||
'name':'Workouts'
|
||||
},
|
||||
{
|
||||
'url':get_workout_default_page(request,w1.id),
|
||||
'name': str(w1.id)
|
||||
'url':get_workout_default_page(request,encoder.encode_hex(w1.id)),
|
||||
'name': encoder.encode_hex(w1.id)
|
||||
},
|
||||
{
|
||||
'url':reverse('workout_fusion_list',kwargs={'id':encoder.encode_hex(id1)}),
|
||||
'url':reverse('workout_fusion_list',
|
||||
kwargs={'id':encoder.encode_hex(id1)}),
|
||||
'name': 'Sensor Fusion'
|
||||
},
|
||||
{
|
||||
@@ -4677,7 +4678,7 @@ def workout_fusion_view(request,id1=0,id2=1):
|
||||
'id1':encoder.encode_hex(id1),
|
||||
'id2':encoder.encode_hex(id2)
|
||||
}),
|
||||
'name': str(w2.id)
|
||||
'name': encoder.encode_hex(w2.id)
|
||||
}
|
||||
|
||||
]
|
||||
@@ -5160,6 +5161,13 @@ class GraphDelete(DeleteView):
|
||||
|
||||
return obj
|
||||
|
||||
def workout_code_delete_view(request,id=0):
|
||||
pk = encoder.decode_hex(id)
|
||||
|
||||
url = reverse('workout_delete',kwargs={'pk':pk})
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
class WorkoutDelete(DeleteView):
|
||||
login_required = True
|
||||
model = Workout
|
||||
@@ -5175,8 +5183,8 @@ class WorkoutDelete(DeleteView):
|
||||
'name':'Workouts'
|
||||
},
|
||||
{
|
||||
'url':get_workout_default_page(self.request,self.object.id),
|
||||
'name': str(self.object.id)
|
||||
'url':get_workout_default_page(self.request,encoder.encode_hex(self.object.id)),
|
||||
'name': encoder.encode_hex(self.object.id)
|
||||
},
|
||||
{ 'url':reverse('workout_delete',kwargs={'pk':str(self.object.pk)}),
|
||||
'name': 'Delete'
|
||||
|
||||
Reference in New Issue
Block a user