Private
Public Access
1
0

Merge branch 'release/v12.48'

This commit is contained in:
Sander Roosendaal
2020-05-21 08:16:07 +02:00
13 changed files with 100 additions and 102 deletions

View File

@@ -1067,7 +1067,7 @@ def handle_sendemail_raceregistration(
else:
debug = True
subject = "A new competitor has registered for virtual race {n}".format(
subject = "A new competitor has registered for virtual challenge {n}".format(
n = racename
)
@@ -1097,7 +1097,7 @@ def handle_sendemail_racesubmission(
else:
debug = True
subject = "A new result has been submitted for virtual race {n}".format(
subject = "A new result has been submitted for virtual challenge {n}".format(
n = racename
)

View File

@@ -23,7 +23,7 @@
<li class="grid_2">
<p>
This replaces the course {{ course.name }} with the course you select below for all
planned sessions and virtual races, and then deletes this course.
planned sessions and virtual challenges, and then deletes this course.
</p>
<form id="course_form" method="post">
<table>
@@ -36,8 +36,8 @@
<li class="grid_2">
<div class="mapdiv">
{{ mapdiv|safe }}
{{ mapscript|safe }}
</div>
</li>

View File

@@ -40,7 +40,7 @@
<ul class="main-content">
<li class="grid_4">
<p>
Before you reject this race result, please carefully review it
Before you reject this challenge result, please carefully review it
using the information below. If you still want to reject the entry,
scroll down to the rejection form.
</p>
@@ -80,7 +80,7 @@
{% for graph in graphs %}
<li>
<a href="/rowers/graph/{{ graph.id }}/">
<img src="/{{ graph.filename }}"
<img src="/{{ graph.filename }}"
onerror="this.src='/static/img/rowingtimer.gif'"
alt="{{ graph.filename }}" width="120" height="100">
</a>
@@ -92,7 +92,7 @@
{{ mapdiv|safe }}
{{ mapscript|safe }}
</div>
</li>
@@ -102,7 +102,7 @@
<script async="true" type="text/javascript">
Bokeh.set_log_level("info");
</script>
{{ interactiveplot |safe }}
{{ the_div|safe }}

View File

@@ -3,7 +3,7 @@
<p>Dear <strong>{{ username }}</strong>,</p>
<p>
Unfortunately, the result that you have submitted for the virtual race {{ racename }} has been rejected by the race organizer.
Unfortunately, the result that you have submitted for the virtual challenge {{ racename }} has been rejected by the challenge organizer.
</p>
<p>
@@ -11,7 +11,7 @@
</p>
<p>
The race organizer added the following explanation:
The challenge organizer added the following explanation:
<p>
<p>
@@ -19,15 +19,14 @@
</p>
<p>
The decision to reject your result is the sole responsibility of the race organizer. If you disagree with the decision, please do contact him or her.
The decision to reject your result is the sole responsibility of the challenge organizer. If you disagree with the decision, please do contact him or her.
</p>
<p>
You are still registered for the race and can submit a result.
You are still registered for the challenge and can submit a result.
</p>
<p>
Best Regards, the Rowsandall Team
</p>
{% endblock %}

View File

@@ -2,7 +2,7 @@
{% load staticfiles %}
{% load rowerfilters %}
{% block title %}Submit Race Result{% endblock %}
{% block title %}Submit challenge Result{% endblock %}
{% block meta %}
<script type='text/javascript'
@@ -21,9 +21,9 @@
<ul class="main-content">
<li class="grid_4">
<form id="race_submit_form"
<form id="race_submit_form"
method="post">
<p>Select one of the following workouts that you rowed within the race window</p>
<p>Select one of the following workouts that you rowed within the challenge window</p>
<table width="100%">
<tr>
{% for field in w_form.hidden_fields %}
@@ -45,7 +45,7 @@
<li class="grid_4">
<p>
Warning: If you submit a workout that was marked as "private", it will
be made public by submitting it as a race result.
be made public by submitting it as a challenge result.
</p>
</li>
</ul>

View File

@@ -3,17 +3,17 @@
<p>Dear <strong>{{ username }}</strong>,</p>
<p>
A new competitor has registered for the race {{ racename }}: {{ registeredname }}
A new competitor has registered for the challenge {{ racename }}: {{ registeredname }}
</p>
<p>
You can check race participants and results on the race page on Rowsandall:
You can check challenge participants and results on the challenge page on Rowsandall:
<a href="{{ siteurl }}/rowers/virtualevent/{{ raceid }}">{{ racename }}</a>
</p>
<p>
You are receiving this email because you are on the start list for this race.
You are receiving this email because you are on the start list for this challenge.
If you do not wish to receive these notifications, you can switch them off
throught the link above.
</p>
@@ -22,4 +22,3 @@
Best Regards, the Rowsandall Team
</p>
{% endblock %}

View File

@@ -8,12 +8,12 @@
<p>
Check out the results on the race page!
Check out the results on the challenge page!
<a href="{{ siteurl }}/rowers/virtualevent/{{ raceid }}">{{ racename }}</a>
</p>
<p>
You are receiving this email because you are on the start list for this race.
You are receiving this email because you are on the start list for this challenge.
If you do not wish to receive these notifications, you can switch them off
throught the link above.
</p>
@@ -22,4 +22,3 @@
Best Regards, the Rowsandall Team
</p>
{% endblock %}

View File

@@ -33,26 +33,26 @@
<h2>Critical Power Plot</h2>
{{ the_div|safe }}
{% if age %}
<p>The dashed lines are based on the
<a href="https://log.concept2.com/rankings">Concept2</a>
rankings for your age, gender
and weight category. World class means within 5% of
and weight category. World class means within 5% of
<a href="http://www.concept2.com/indoor-rowers/racing/records/world">
World Record</a> in terms
of power.
The percentile lines are estimates of where the percentiles
of the Concept2 rankings historically are for those of exactly
your age, gender and weight class.
your age, gender and weight class.
</p>
{% endif %}
</li>
<li class="grid_4">
<h2>Ranking Piece Results</h2>
{% if rankingworkouts %}
<table width="100%" class="listtable">
<thead>
<tr>
@@ -72,48 +72,48 @@
<td> {{ workout.date }} </td>
<td> {{ workout.averagehr }} </td>
<td> {{ workout.maxhr }} </td>
<td>
<td>
<a href="/rowers/workout/{{ workout.id|encode }}/edit/">
{{ workout.name }}
</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<p> No ranking workouts found </p>
{% endif %}
<p>Missing your best pieces? Upload stroke data of any Concept2
ranking piece and they will be automatically added to this page.</p>
<p> Don't have stroke data for official Concept2 ranking pieces?
The <a href="/rowers/paidplans/">PRO membership</a> ranking piece functionality
allows you to include your best non ranking pieces and even use
parts of workouts for improved calculation accuracy.
parts of workouts for improved calculation accuracy.
</p>
<p>Want to add race results but you don't have stroke data?
<p>Want to add challenge results but you don't have stroke data?
<a href="/rowers/workout/addmanual/">Click here.</a></p>
<p>Scroll down for the chart and pace predictions for ranking pieces.</p>
</li>
<li class="grid_2">
<h2>Pace predictions for Ranking Pieces</h2>
<p>Add non-ranking piece using the form. The piece will be added in the prediction tables below. </p>
<form enctype="multipart/form-data" action="{{ formloc }}" method="post">
{{ form.value }} {{ form.pieceunit }}
{{ form.value }} {{ form.pieceunit }}
{% csrf_token %}
<input name="piece" class="button green"
<input name="piece" class="button green"
formaction="/rowers/ote-bests/user/{{ id }}/{{ startdate|date:"Y-m-d" }}/{{ enddate|date:"Y-m-d" }}/"
type="submit" value="Add">
</form>
@@ -154,10 +154,10 @@
{% endfor %}
</tbody>
</table>
{% else %}
<p>Insufficient data to make predictions</p>
<p>Insufficient data to make predictions</p>
{% endif %}
</li>
<li class="grid_2">
@@ -193,10 +193,10 @@
{% endfor %}
</tbody>
</table>
{% else %}
<p>Insufficient data to make predictions</p>
<p>Insufficient data to make predictions</p>
{% endif %}
</li>
{% if age and sex != 'not specified' %}
@@ -303,9 +303,9 @@
<p>Use this form to select a different date range:</p>
<p>
Select start and end date for a date range:
<form enctype="multipart/form-data" action="" method="post">
<table>
{{ dateform.as_table }}
</table>
@@ -316,7 +316,7 @@
<li class="grid_2">
<p>Summary for {{ theuser.first_name }} {{ theuser.last_name }}
between {{ startdate|date }} and {{ enddate|date }}</p>
<p>The table gives the best efforts achieved on the
<a href="https://log.concept2.com/rankings">official Concept2 ranking pieces</a> in the selected date range. Also the percentile scores on the
chart are based on the Concept2 rankings.</p>

View File

@@ -15,7 +15,7 @@
{% endblock %}
{% block og_title %}{{ race.name }}{% endblock %}
{% block description %}Virtual Rowing Race {{ race.name }}{% endblock %}
{% block description %}Virtual Rowing Challenge {{ race.name }}{% endblock %}
{% if racelogo %}
{% block og_image %}

View File

@@ -2,11 +2,11 @@
{% load staticfiles %}
{% load rowerfilters %}
{% block title %}Edit Virtual Race{% endblock %}
{% block title %}Edit Virtual Challenge{% endblock %}
{% block main %}
<h1>Edit Race {{ race.name }}</h1>
<h1>Edit Challenge {{ race.name }}</h1>
<ul class="main-content">
<li class="grid_2">
@@ -30,7 +30,7 @@
<li class="grid_2 omega">
<p>
<ul>
<li>All times are local times in the race course time zone</li>
<li>All times are local times in the challenge course time zone</li>
<li>Adding a contact phone number and email is not mandatory, but we
strongly recommend it.</li>
<li>If your event has a registration closure deadline, participants

View File

@@ -8,7 +8,7 @@
{% leaflet_css %}
{% endblock %}
{% block title %}Rowsandall Virtual Race{% endblock %}
{% block title %}Rowsandall Virtual Challenge{% endblock %}
{% block scripts %}
{% include "monitorjobs.html" %}
@@ -18,7 +18,7 @@
{% endblock %}
{% block og_title %}{{ race.name }}{% endblock %}
{% block description %}Virtual Rowing Race {{ race.name }}{% endblock %}
{% block description %}Virtual Rowing Challenge {{ race.name }}{% endblock %}
{% if racelogo %}
{% block og_image %}
@@ -34,7 +34,7 @@
{% block main %}
<h1>{{ race.name }}</h1>
@@ -177,7 +177,7 @@
</p>
<div class="mapdiv">
{{ coursediv|safe }}
{{ coursescript|safe }}
</div>
</li>
@@ -185,7 +185,7 @@
<li class="grid_2">
<div id="raceinfo">
<p>
<h2>Race Information</h2>
<h2>Challenge Information</h2>
</p>
<p>
<table class="listtable shortpadded" width="100%">
@@ -242,7 +242,8 @@
<div id="registerbuttons">
{% if request.user.is_anonymous %}
<p>
Registered users of rowsandall.com can participate in this event. Participation is free, unless specified differently in the race comment above.
Registered users of rowsandall.com can participate in this challenge.
Participation is free, unless specified differently in the comment above.
{% if race.sessiontype == 'race' %}
<a href="/rowers/virtualevent/{{ race.id }}/register"><h3>Register</h3></a>
{% else %}
@@ -251,8 +252,8 @@
</p>
{% else %}
<p>
See race rules below. Participation to this race is free,
unless specified differently in the race comment above.
See challenge rules below. Participation to this challenge is free,
unless specified differently in the comment above.
</p>
<p>
{% for button in buttons %}
@@ -272,22 +273,22 @@
<a href="/rowers/virtualevent/{{ race.id }}/submit">Submit Workout</a>
</td>
<td>
Submit a workout that is already on the site as your race result
Submit a workout that is already on the site as your challenge result
</td>
</tr>
<tr>
<td>
<a href="/rowers/workout/upload">Upload your race result</a>
<a href="/rowers/workout/upload/{{ race.id }}/">Upload your challenge result</a>
</td>
<td>
Upload a new workout to the site and submit it as a result. You
need a workout data file.
need a workout data file.
</td>
</tr>
{% if race.sessiontype == 'indoorrace' %}
<tr>
<td>
<a href="/rowers/workout/addmanual">Enter your race result manually</a>
<a href="/rowers/workout/addmanual/{{ race.id }}">Enter your challenge result manually</a>
</td>
<td>
If you don't have a data file, enter the results
@@ -318,10 +319,10 @@
{% if button == 'editbutton' %}
<p>
{% if race.sessiontype == 'race' %}
<a href="/rowers/virtualevent/{{ race.id }}/edit">Edit Race
<a href="/rowers/virtualevent/{{ race.id }}/edit">Edit Challenge
</a>
{% else %}
<a href="/rowers/virtualevent/{{ race.id }}/editindoor">Edit Race
<a href="/rowers/virtualevent/{{ race.id }}/editindoor">Edit Challenge
</a>
{% endif %}
</p>
@@ -385,22 +386,22 @@
{% if race.sessiontype == 'race' %}
{% if record.emailnotifications %}
<a href="/rowers/raceregistration/togglenotification/{{ race.id }}">
Unsubscribe from race notifications by email
Unsubscribe from challenge notifications by email
</a>
{% else %}
<a href="/rowers/raceregistration/togglenotification/{{ race.id }}">
Subscribe to race notifications by email
</a>
Subscribe to challenge notifications by email
</a>
{% endif %}
{% else %}
{% if record.emailnotifications %}
<a href="/rowers/indoorraceregistration/togglenotification/{{ race.id }}">
Unsubscribe from race notifications by email
Unsubscribe from challenge notifications by email
</a>
{% else %}
<a href="/rowers/indoorraceregistration/togglenotification/{{ race.id }}">
Subscribe to race notifications by email
</a>
Subscribe to challenge notifications by email
</a>
{% endif %}
{% endif %}
{% endif %}
@@ -412,65 +413,65 @@
<h2>Rules</h2>
</p>
<p>
Virtual races are intended as an informal way to add a
Virtual challenge are intended as an informal way to add a
competitive element to training and as a quick way to set
up and manage small regattas.
up and manage for example race intensity practices.
</p>
<p>
On the water races are rowed on the course shown.
On the water challenges are rowed on the course shown.
You cannot submit results rowed
on other bodies of water.
</p>
<p>
Indoor races are open for all, wherever you live.
Indoor challenge are open for all, wherever you live.
However, be aware of the
time zone for the race window.
time zone for the challenge window.
</p>
<p>
As a rowsandall.com user, you can
register to take part in this event. Please note the registration
deadline. You must register before this deadline.
You can always withdraw from participating before the registration
deadline or the start of the race window, whichever is earlier.
deadline or the start of the challenge window, whichever is earlier.
</p>
<p>
After the start of the race window and before the submission deadline,
you can submit results by linking the race to one of your uploaded
workouts. The workout start time must be within the race window
After the start of the challenge window and before the submission deadline,
you can submit results by linking the challenge to one of your uploaded
workouts. The workout start time must be within the challenge window
and your course must pass through the blue polygons on the course
map (in the right order), for your result to be valid.
</p>
<p>
The results table has a link to a page where details of your workout
are shown.
are shown.
</p>
<p>
Race results are stored permanently and are not deleted when
Challenge results are stored permanently and are not deleted when
you delete the respective workout or remove your account.
By registering, you agree with this and the race rules.
By registering, you agree with this and the challenge rules.
</p>
<p>
If you use a manually added workout for your indoor race result,
If you use a manually added workout for your indoor challenge result,
please attach a screenshot of the ergometer display for verification.
</p>
<p>
Virtual Racing on rowsandall.com is honors based. Please be a good
Virtual Challenges on rowsandall.com is honors based. Please be a good
sport, submit real results rowed by you, and make sure you set the
boat type correctly. For (future functionality) age and gender
corrected times, please be sure your gender and birth date are set
correctly in your user settings.
</p>
<p>
Virtual races are intended as an informal way to add a
competitive element to training. Virtual races are not
Virtual challenges are intended as an informal way to add a
competitive element to training. Virtual challenges are not
refereed or staffed to provide for participants safety.
Individual participants are entirely responsible for their
safety while participating in a virtual race.
safety while participating in a virtual challenge.
</p>
<p>
Until the evaluation closure time, the race organizer can
Until the evaluation closure time, the challenge organizer can
review and reject entries. If you are disqualified in this
way, you will receive an email with the reason.
way, you will receive an email with the reason.
</p>
</div>
</li>
@@ -488,9 +489,9 @@
href="https://twitter.com/intent/tweet"
data-url="{{ request.build_absolute_uri }}"
{% if race.sessiontype == 'race' %}
data-text="@rowsandall #rowingdata Participate in virtual race '{{ race.name }}'">Tweet</a>
data-text="@rowsandall #rowingdata Participate in virtual challenge '{{ race.name }}'">Tweet</a>
{% else %}
data-text="@rowsandall #rowingdata Participate in Indoor Rowing virtual race '{{ race.name }}'">Tweet</a>
data-text="@rowsandall #rowingdata Participate in Indoor Rowing virtual challenge '{{ race.name }}'">Tweet</a>
{% endif %}
</p><p>
<a href="https://www.pinterest.com/pin/create/button/"
@@ -500,7 +501,7 @@
{% if not racelogo and race.manager == request.user %}
<a href="/rowers/virtualevent/{{ race.id }}/image">Add Race Logo</a>
<a href="/rowers/virtualevent/{{ race.id }}/image">Add Challenge Logo</a>
{% endif %}
{% endblock %}

View File

@@ -140,7 +140,7 @@ $('#id_workouttype').change();
<h1>Racing</h1>
{% for race in indoorraces %}
<p>
<a href="/rowers/virtualevent/{{ race.id }}/submit/{{ workout.id|encode }}/">Submit this to Indoor Race {{ race.name }}</a>
<a href="/rowers/virtualevent/{{ race.id }}/submit/{{ workout.id|encode }}/">Submit this to Indoor Challenge {{ race.name }}</a>
</p>
{% endfor %}
</li>

View File

@@ -47,7 +47,7 @@
{% if records %}
{% for record in records %}
<p>
This workout was a race. See race result here:
This workout was run as a virtual challenge. See challenge result here:
<a href="/rowers/virtualevent/{{ record.race.id }}/">{{ record.race.name }}</a>
</p>
{% endfor %}
@@ -55,7 +55,7 @@
{% if recordsindoor %}
{% for record in recordsindoor %}
<p>
This workout was a race. See race result here:
This workout was as a virtual challenge. See challenge result here:
<a href="/rowers/virtualevent/{{ record.race.id }}/">{{ record.race.name }}</a>
</p>
{% endfor %}