Private
Public Access
1
0

Merge branch 'release/v5.89'

This commit is contained in:
Sander Roosendaal
2018-02-16 10:51:54 +01:00
11 changed files with 383 additions and 103 deletions
+46 -29
View File
@@ -104,7 +104,8 @@ def get_session_metrics(ps):
completedatev = '' completedatev = ''
statusv = 0 statusv = 0
ws = Workout.objects.filter(user=r,plannedsession=ps) ws = Workout.objects.filter(user=r,plannedsession=ps).order_by("date")
if len(ws) != 0: if len(ws) != 0:
for w in ws: for w in ws:
distancev += w.distance distancev += w.distance
@@ -112,8 +113,11 @@ def get_session_metrics(ps):
trimpv += dataprep.workout_trimp(w) trimpv += dataprep.workout_trimp(w)
rscorev += dataprep.workout_rscore(w)[0] rscorev += dataprep.workout_rscore(w)[0]
ratio,statusv = is_session_complete_ws(ws,ps) ratio,statusv,completiondate = is_session_complete_ws(ws,ps)
completedatev = ws[0].date.strftime('%Y-%m-%d') try:
completedatev = completiondate.strftime('%Y-%m-%d')
except AttributeError:
completedatev = ''
durationv /= 60. durationv /= 60.
trimp.append(int(trimpv)) trimp.append(int(trimpv))
@@ -139,16 +143,35 @@ def get_session_metrics(ps):
return thedict return thedict
def is_session_complete_ws(ws,ps): def is_session_complete_ws(ws,ps):
ws = ws.order_by("date")
if len(ws)==0: if len(ws)==0:
today = date.today() today = date.today()
if today > ps.enddate: if today > ps.enddate:
status = 'missed' status = 'missed'
ratio = 0 ratio = 0
return ratio,status return ratio,status,None
else: else:
return 0,'not done' return 0,'not done',None
value = ps.sessionvalue
if ps.sessionunit == 'min':
value *= 60.
elif ps.sessionunit == 'km':
value *= 1000.
cratiomin = 1
cratiomax = 1
if ps.criterium == 'none':
if ps.sessiontype == 'session':
cratiomin = 0.8
cratiomax = 1.2
else:
cratiomin = 0.9167
cratiomax = 1.0833
score = 0 score = 0
completiondate = None
for w in ws: for w in ws:
if ps.sessionmode == 'distance': if ps.sessionmode == 'distance':
score += w.distance score += w.distance
@@ -161,12 +184,8 @@ def is_session_complete_ws(ws,ps):
elif ps.sessionmode == 'rScore': elif ps.sessionmode == 'rScore':
rscore = dataprep.workout_rscore(w)[0] rscore = dataprep.workout_rscore(w)[0]
score += rscore score += rscore
if not completiondate and score>=cratiomin*value:
value = ps.sessionvalue completiondate = w.date
if ps.sessionunit == 'min':
value *= 60.
elif ps.sessionunit == 'km':
value *= 1000.
ratio = score/float(value) ratio = score/float(value)
@@ -175,49 +194,47 @@ def is_session_complete_ws(ws,ps):
if ps.sessiontype in ['session','cycletarget']: if ps.sessiontype in ['session','cycletarget']:
if ps.criterium == 'exact': if ps.criterium == 'exact':
if ratio == 1.0: if ratio == 1.0:
return ratio,'completed' return ratio,'completed',completiondate
else: else:
return ratio,'partial' return ratio,'partial',completiondate
elif ps.criterium == 'minimum': elif ps.criterium == 'minimum':
if ratio >= 1.0: if ratio >= 1.0:
return ratio,'completed' return ratio,'completed',completiondate
else: else:
return ratio,'partial' return ratio,'partial',completiondate
else: else:
if ratio>0.8 and ratio<1.2 and ps.sessiontype=='session': if ratio>cratiomin and ratio<cratiomax:
return ratio,'completed' return ratio,'completed',completiondate
elif ratio>0.9167 and ratio<1.0833 and ps.sessiontype=='cycletarget':
return ratio,'completed'
else: else:
return ratio,'partial' return ratio,'partial',completiondate
elif ps.sessiontype == 'test': elif ps.sessiontype == 'test':
if ratio==1.0: if ratio==1.0:
return ratio,'completed' return ratio,'completed',completiondate
else: else:
return ratio,'partial' return ratio,'partial',completiondate
elif ps.sessiontype == 'challenge': elif ps.sessiontype == 'challenge':
if ps.criterium == 'exact': if ps.criterium == 'exact':
if ratio == 1.0: if ratio == 1.0:
return ratio,'completed' return ratio,'completed',completiondate
else: else:
return ratio,'partial' return ratio,'partial',completiondate
elif ps.criterium == 'minimum': elif ps.criterium == 'minimum':
if ratio > 1.0: if ratio > 1.0:
return ratio,'completed' return ratio,'completed',completiondate
else: else:
return ratio,'partial' return ratio,'partial',completiondate
else: else:
return ratio,'partial' return ratio,'partial',completiondate
else: else:
return ratio,status return ratio,status,completiondate
def is_session_complete(r,ps): def is_session_complete(r,ps):
status = 'not done' status = 'not done'
if r not in ps.rower.all(): if r not in ps.rower.all():
return 0,'not assigned' return 0,'not assigned',None
ws = Workout.objects.filter(user=r,plannedsession=ps) ws = Workout.objects.filter(user=r,plannedsession=ps)
-1
View File
@@ -1 +0,0 @@
e408191@CZ27LT9RCGN72.36632:1518629534
@@ -92,10 +92,14 @@
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
<a class="button gray small grid_2" href="/rowers/sessions/multicreate/thisweek/rower/{{ rower.id }}/extra/{{ extrasessions }}">Add More</a> <a class="button gray small grid_2" href="/rowers/sessions/multicreate/{{ timeperiod }}/rower/{{ rower.id }}/extra/{{ extrasessions }}">Add More</a>
<button class="button green small grid_2" type="submit">Submit</button> <button class="button green small grid_2" type="submit">Submit</button>
</form> </form>
<div class="grid_6 prefix_6" id="id_guidance">
</div>
</div> </div>
{% endblock %} {% endblock %}
@@ -117,34 +121,72 @@
$( myrow ).find('*[id*=sessionmode]').change(function() { $( myrow ).find('*[id*=sessionmode]').change(function() {
if (this.value == 'TRIMP') { if (this.value == 'TRIMP') {
$( myrow ).find("*[id*=sessionunit]").prop('value','None'); $( myrow ).find("*[id*=sessionunit]").prop('value','None');
$('#id_guidance').html("<p>TRIMP has no unit</p>");
} }
if (this.value == 'distance') { if (this.value == 'distance') {
$( myrow ).find("*[id*=sessionunit]").prop('value','m'); $( myrow ).find("*[id*=sessionunit]").prop('value','m');
$('#id_guidance').html("<p>Distance: Set value to meters</p>");
} }
if (this.value == 'time') { if (this.value == 'time') {
$( myrow ).find("*[id*=sessionunit]").prop('value','min'); $( myrow ).find("*[id*=sessionunit]").prop('value','min');
$('#id_guidance').html("<p>Time: Set value to minutes</p>");
} }
if (this.value == 'rScore') { if (this.value == 'rScore') {
$( myrow ).find("*[id*=sessionunit]").prop('value','None'); $( myrow ).find("*[id*=sessionunit]").prop('value','None');
$('#id_guidance').html("<p>rScore has no unit</p>");
} }
}); });
$( myrow ).find('*[id*=sessionunit]').change(function() { $( myrow ).find('*[id*=sessionunit]').change(function() {
if (this.value == 'km') { if (this.value == 'km') {
$( myrow ).find("*[id*=sessionmode]").prop('value','distance'); $( myrow ).find("*[id*=sessionmode]").prop('value','distance');
$('#id_guidance').html("<p>Mode was set to distance</p>");
} }
if (this.value == 'm') { if (this.value == 'm') {
$( myrow ).find("*[id*=sessionmode]").prop('value','distance'); $( myrow ).find("*[id*=sessionmode]").prop('value','distance');
$('#id_guidance').html("<p>Mode was set to distance</p>");
} }
if (this.value == 'None') { if (this.value == 'None') {
$( myrow ).find("*[id*=sessionmode]").prop('value','rScore'); $( myrow ).find("*[id*=sessionmode]").prop('value','rScore');
$('#id_guidance').html("<p>Mode was set to rScore</p>");
} }
if (this.value == 'min') { if (this.value == 'min') {
$( myrow ).find("*[id*=sessionmode]").prop('value','time'); $( myrow ).find("*[id*=sessionmode]").prop('value','time');
$('#id_guidance').html("<p>Mode was set to time</p>");
} }
}); });
$( myrow ).find('*[id*=sessiontype]').change(function() {
if (this.value == 'session') {
$( myrow ).find("*[id*=criterium]").prop("value","none");
$('#id_guidance').html("<p>For Training Sessions, the default criterium is 'Approximately'</p>");
}
if (this.value == 'challenge') {
$( myrow ).find("*[id*=criterium]").prop("value","minimum");
$('#id_guidance').html("<p>For Challenges, the default criterium is 'At Least'</p>");
}
if (this.value == 'cycletarget') {
$( myrow ).find("*[id*=criterium]").prop("value","none");
$('#id_guidance').html("<p>For Cycle Targets, the default criterium is 'Approximately'</p>");
}
if (this.value == 'test') {
$( myrow ).find("*[id*=criterium]").prop("value","exact");
$( myrow ).find("*[id*=sessionmode]").prop("value","distance");
$( myrow ).find("*[id*=sessionunit]").prop("value","m");
$('#id_guidance').html("<p>Set mode to distance. For Mandatory Tests, only distance or time are allowed.</p><p>For Mandatory Tests, the only criterium is 'Exactly'</p>");
}
}); });
});
}); });
</script> </script>
@@ -123,6 +123,9 @@
</div> </div>
</form> </form>
</div> </div>
</div>
<div class="grid_6 prefix_6" id="id_guidance">
</div> </div>
{% endblock %} {% endblock %}
@@ -134,16 +137,20 @@
if (this.value == 'TRIMP') { if (this.value == 'TRIMP') {
$("td #id_sessionunit").prop("value","None"); $("td #id_sessionunit").prop("value","None");
$('#id_guidance').html("<p>TRIMP has no unit</p>");
} }
if (this.value == 'distance') { if (this.value == 'distance') {
$("td #id_sessionunit").prop("value","m"); $("td #id_sessionunit").prop("value","m");
$('#id_guidance').html("<p>Distance: Set value to meters</p>");
} }
if (this.value == 'time') { if (this.value == 'time') {
$("td #id_sessionunit").prop("value","min"); $("td #id_sessionunit").prop("value","min");
$('#id_guidance').html("<p>Time: Set value to minutes</p>");
} }
if (this.value == 'rScore') { if (this.value == 'rScore') {
$("td #id_sessionunit").prop("value","None"); $("td #id_sessionunit").prop("value","None");
$('#id_guidance').html("<p>rScore has no unit</p>");
} }
}); });
@@ -152,18 +159,22 @@
if (this.value == 'session') { if (this.value == 'session') {
$("td #id_criterium").prop("value","none"); $("td #id_criterium").prop("value","none");
$('#id_guidance').html("<p>For Training Sessions, the default criterium is 'Approximately'</p>");
} }
if (this.value == 'test') { if (this.value == 'test') {
$("td #id_criterium").prop("value","exact"); $("td #id_criterium").prop("value","exact");
$("td #id_sessionmode").prop("value","distance"); $("td #id_sessionmode").prop("value","distance");
$("td #id_sessionunit").prop("value","m"); $("td #id_sessionunit").prop("value","m");
$('#id_guidance').html("<p>Set mode to distance. For Mandatory Tests, only distance or time are allowed.</p><p>For Mandatory Tests, the only criterium is 'Exactly'</p>");
} }
if (this.value == 'challenge') { if (this.value == 'challenge') {
$("td #id_criterium").prop("value","minimum"); $("td #id_criterium").prop("value","minimum");
$('#id_guidance').html("<p>For Challenges, the default criterium is 'At Least'</p>");
} }
if (this.value == 'cycletarget') { if (this.value == 'cycletarget') {
$("td #id_criterium").prop("value","none"); $("td #id_criterium").prop("value","none");
$('#id_guidance').html("<p>For Cycle Targets, the default criterium is 'Approximately'</p>");
} }
} }
@@ -174,21 +185,27 @@
if (this.value == 'm') { if (this.value == 'm') {
$("td #id_sessionmode").prop("value","distance"); $("td #id_sessionmode").prop("value","distance");
$('#id_guidance').html("<p>Mode was set to distance</p>");
} }
if (this.value == 'km') { if (this.value == 'km') {
$("td #id_sessionmode").prop("value","distance"); $("td #id_sessionmode").prop("value","distance");
$('#id_guidance').html("<p>Mode was set to distance</p>");
} }
if (this.value == 'None') { if (this.value == 'None') {
$("td #id_sessionmode").prop("value","rScore"); $("td #id_sessionmode").prop("value","rScore");
$('#id_guidance').html("<p>Mode was set to rScore</p>");
} }
if (this.value == 'min') { if (this.value == 'min') {
$("td #id_sessionmode").prop("value","time"); $("td #id_sessionmode").prop("value","time");
$('#id_guidance').html("<p>Mode was set to time</p>");
} }
} }
); );
}); });
</script> </script>
+17
View File
@@ -124,6 +124,10 @@
<div id="formbutton" class="grid_1 suffix_1 omega"> <div id="formbutton" class="grid_1 suffix_1 omega">
<input class="button green" type="submit" value="Save"> <input class="button green" type="submit" value="Save">
</div> </div>
<div class="grid_6" id="id_guidance">
</div>
</div> </div>
@@ -139,16 +143,20 @@
if (this.value == 'TRIMP') { if (this.value == 'TRIMP') {
$("td #id_sessionunit").prop("value","None"); $("td #id_sessionunit").prop("value","None");
$('#id_guidance').html("<p>TRIMP has no unit</p>");
} }
if (this.value == 'distance') { if (this.value == 'distance') {
$("td #id_sessionunit").prop("value","m"); $("td #id_sessionunit").prop("value","m");
$('#id_guidance').html("<p>Distance: Set value to meters</p>");
} }
if (this.value == 'time') { if (this.value == 'time') {
$("td #id_sessionunit").prop("value","min"); $("td #id_sessionunit").prop("value","min");
$('#id_guidance').html("<p>Time: Set value to minutes</p>");
} }
if (this.value == 'rScore') { if (this.value == 'rScore') {
$("td #id_sessionunit").prop("value","None"); $("td #id_sessionunit").prop("value","None");
$('#id_guidance').html("<p>rScore has no unit</p>");
} }
}); });
@@ -157,18 +165,22 @@
if (this.value == 'session') { if (this.value == 'session') {
$("td #id_criterium").prop("value","none"); $("td #id_criterium").prop("value","none");
$('#id_guidance').html("<p>For Training Sessions, the default criterium is 'Approximately'</p>");
} }
if (this.value == 'test') { if (this.value == 'test') {
$("td #id_criterium").prop("value","exact"); $("td #id_criterium").prop("value","exact");
$("td #id_sessionmode").prop("value","distance"); $("td #id_sessionmode").prop("value","distance");
$("td #id_sessionunit").prop("value","m"); $("td #id_sessionunit").prop("value","m");
$('#id_guidance').html("<p>Set mode to distance. For Mandatory Tests, only distance or time are allowed.</p><p>For Mandatory Tests, the only criterium is 'Exactly'</p>");
} }
if (this.value == 'challenge') { if (this.value == 'challenge') {
$("td #id_criterium").prop("value","minimum"); $("td #id_criterium").prop("value","minimum");
$('#id_guidance').html("<p>For Challenges, the default criterium is 'At Least'</p>");
} }
if (this.value == 'cycletarget') { if (this.value == 'cycletarget') {
$("td #id_criterium").prop("value","none"); $("td #id_criterium").prop("value","none");
$('#id_guidance').html("<p>For Cycle Targets, the default criterium is 'Approximately'</p>");
} }
} }
@@ -179,15 +191,19 @@
if (this.value == 'm') { if (this.value == 'm') {
$("td #id_sessionmode").prop("value","distance"); $("td #id_sessionmode").prop("value","distance");
$('#id_guidance').html("<p>Mode was set to distance</p>");
} }
if (this.value == 'km') { if (this.value == 'km') {
$("td #id_sessionmode").prop("value","distance"); $("td #id_sessionmode").prop("value","distance");
$('#id_guidance').html("<p>Mode was set to distance</p>");
} }
if (this.value == 'None') { if (this.value == 'None') {
$("td #id_sessionmode").prop("value","rScore"); $("td #id_sessionmode").prop("value","rScore");
$('#id_guidance').html("<p>Mode was set to rScore</p>");
} }
if (this.value == 'min') { if (this.value == 'min') {
$("td #id_sessionmode").prop("value","time"); $("td #id_sessionmode").prop("value","time");
$('#id_guidance').html("<p>Mode was set to time</p>");
} }
} }
@@ -199,4 +215,5 @@
}); });
</script> </script>
{% endblock %} {% endblock %}
@@ -92,7 +92,11 @@
</td> </td>
<td> <td>
<a href="/rowers/sessions/{{ key }}"> <a href="/rowers/sessions/{{ key }}">
{% if thedict|lookup:'name' %}
{{ thedict|lookup:'name' }} {{ thedict|lookup:'name' }}
{% else %}
Unnamed Session
{% endif %}
</a> </a>
</td> </td>
{% for r in rowers %} {% for r in rowers %}
@@ -116,6 +116,9 @@
<input class="button green" type="submit" value="Save"> <input class="button green" type="submit" value="Save">
</div> </div>
</form> </form>
<div class="grid_6" id="id_guidance">
</div>
</div> </div>
</div> </div>
{% endblock %} {% endblock %}
@@ -123,21 +126,27 @@
{% block scripts %} {% block scripts %}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script> <script>
$(document).ready(function(){ $(document).ready(function(){
$("td #id_sessionmode").change(function() { $("td #id_sessionmode").change(function() {
if (this.value == 'TRIMP') { if (this.value == 'TRIMP') {
$("td #id_sessionunit").prop("value","None"); $("td #id_sessionunit").prop("value","None");
$('#id_guidance').html("<p>TRIMP has no unit</p>");
} }
if (this.value == 'distance') { if (this.value == 'distance') {
$("td #id_sessionunit").prop("value","m"); $("td #id_sessionunit").prop("value","m");
$('#id_guidance').html("<p>Distance: Set value to meters</p>");
} }
if (this.value == 'time') { if (this.value == 'time') {
$("td #id_sessionunit").prop("value","min"); $("td #id_sessionunit").prop("value","min");
$('#id_guidance').html("<p>Time: Set value to minutes</p>");
} }
if (this.value == 'rScore') { if (this.value == 'rScore') {
$("td #id_sessionunit").prop("value","None"); $("td #id_sessionunit").prop("value","None");
$('#id_guidance').html("<p>rScore has no unit</p>");
} }
}); });
@@ -146,18 +155,22 @@
if (this.value == 'session') { if (this.value == 'session') {
$("td #id_criterium").prop("value","none"); $("td #id_criterium").prop("value","none");
$('#id_guidance').html("<p>For Training Sessions, the default criterium is 'Approximately'</p>");
} }
if (this.value == 'test') { if (this.value == 'test') {
$("td #id_criterium").prop("value","exact"); $("td #id_criterium").prop("value","exact");
$("td #id_sessionmode").prop("value","distance"); $("td #id_sessionmode").prop("value","distance");
$("td #id_sessionunit").prop("value","m"); $("td #id_sessionunit").prop("value","m");
$('#id_guidance').html("<p>Set mode to distance. For Mandatory Tests, only distance or time are allowed.</p><p>For Mandatory Tests, the only criterium is 'Exactly'</p>");
} }
if (this.value == 'challenge') { if (this.value == 'challenge') {
$("td #id_criterium").prop("value","minimum"); $("td #id_criterium").prop("value","minimum");
$('#id_guidance').html("<p>For Challenges, the default criterium is 'At Least'</p>");
} }
if (this.value == 'cycletarget') { if (this.value == 'cycletarget') {
$("td #id_criterium").prop("value","none"); $("td #id_criterium").prop("value","none");
$('#id_guidance').html("<p>For Cycle Targets, the default criterium is 'Approximately'</p>");
} }
} }
@@ -168,15 +181,19 @@
if (this.value == 'm') { if (this.value == 'm') {
$("td #id_sessionmode").prop("value","distance"); $("td #id_sessionmode").prop("value","distance");
$('#id_guidance').html("<p>Mode was set to distance</p>");
} }
if (this.value == 'km') { if (this.value == 'km') {
$("td #id_sessionmode").prop("value","distance"); $("td #id_sessionmode").prop("value","distance");
$('#id_guidance').html("<p>Mode was set to distance</p>");
} }
if (this.value == 'None') { if (this.value == 'None') {
$("td #id_sessionmode").prop("value","rScore"); $("td #id_sessionmode").prop("value","rScore");
$('#id_guidance').html("<p>Mode was set to rScore</p>");
} }
if (this.value == 'min') { if (this.value == 'min') {
$("td #id_sessionmode").prop("value","time"); $("td #id_sessionmode").prop("value","time");
$('#id_guidance').html("<p>Mode was set to time</p>");
} }
} }
@@ -188,4 +205,5 @@
}); });
</script> </script>
{% endblock %} {% endblock %}
@@ -132,8 +132,12 @@
<input class="button green" type="submit" value="Save"> <input class="button green" type="submit" value="Save">
</div> </div>
</form> </form>
<div class="grid_6" id="id_guidance">
</div> </div>
</div> </div>
</div>
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
@@ -144,16 +148,20 @@
if (this.value == 'TRIMP') { if (this.value == 'TRIMP') {
$("td #id_sessionunit").prop("value","None"); $("td #id_sessionunit").prop("value","None");
$('#id_guidance').html("<p>TRIMP has no unit</p>");
} }
if (this.value == 'distance') { if (this.value == 'distance') {
$("td #id_sessionunit").prop("value","m"); $("td #id_sessionunit").prop("value","m");
$('#id_guidance').html("<p>Distance: Set value to meters</p>");
} }
if (this.value == 'time') { if (this.value == 'time') {
$("td #id_sessionunit").prop("value","min"); $("td #id_sessionunit").prop("value","min");
$('#id_guidance').html("<p>Time: Set value to minutes</p>");
} }
if (this.value == 'rScore') { if (this.value == 'rScore') {
$("td #id_sessionunit").prop("value","None"); $("td #id_sessionunit").prop("value","None");
$('#id_guidance').html("<p>rScore has no unit</p>");
} }
}); });
@@ -162,18 +170,22 @@
if (this.value == 'session') { if (this.value == 'session') {
$("td #id_criterium").prop("value","none"); $("td #id_criterium").prop("value","none");
$('#id_guidance').html("<p>For Training Sessions, the default criterium is 'Approximately'</p>");
} }
if (this.value == 'test') { if (this.value == 'test') {
$("td #id_criterium").prop("value","exact"); $("td #id_criterium").prop("value","exact");
$("td #id_sessionmode").prop("value","distance"); $("td #id_sessionmode").prop("value","distance");
$("td #id_sessionunit").prop("value","m"); $("td #id_sessionunit").prop("value","m");
$('#id_guidance').html("<p>Set mode to distance. For Mandatory Tests, only distance or time are allowed.</p><p>For Mandatory Tests, the only criterium is 'Exactly'</p>");
} }
if (this.value == 'challenge') { if (this.value == 'challenge') {
$("td #id_criterium").prop("value","minimum"); $("td #id_criterium").prop("value","minimum");
$('#id_guidance').html("<p>For Challenges, the default criterium is 'At Least'</p>");
} }
if (this.value == 'cycletarget') { if (this.value == 'cycletarget') {
$("td #id_criterium").prop("value","none"); $("td #id_criterium").prop("value","none");
$('#id_guidance').html("<p>For Cycle Targets, the default criterium is 'Approximately'</p>");
} }
} }
@@ -184,15 +196,19 @@
if (this.value == 'm') { if (this.value == 'm') {
$("td #id_sessionmode").prop("value","distance"); $("td #id_sessionmode").prop("value","distance");
$('#id_guidance').html("<p>Mode was set to distance</p>");
} }
if (this.value == 'km') { if (this.value == 'km') {
$("td #id_sessionmode").prop("value","distance"); $("td #id_sessionmode").prop("value","distance");
$('#id_guidance').html("<p>Mode was set to distance</p>");
} }
if (this.value == 'None') { if (this.value == 'None') {
$("td #id_sessionmode").prop("value","rScore"); $("td #id_sessionmode").prop("value","rScore");
$('#id_guidance').html("<p>Mode was set to rScore</p>");
} }
if (this.value == 'min') { if (this.value == 'min') {
$("td #id_sessionmode").prop("value","time"); $("td #id_sessionmode").prop("value","time");
$('#id_guidance').html("<p>Mode was set to time</p>");
} }
} }
+6 -10
View File
@@ -11844,7 +11844,7 @@ def plannedsession_teamcreate_view(request,timeperiod='thisweek',
'teamform':sessionteamselectform, 'teamform':sessionteamselectform,
'timeperiod':timeperiod, 'timeperiod':timeperiod,
'plannedsessions':sps, 'plannedsessions':sps,
'rower':r, 'rower':getrower(request.user),
}) })
# Manager edits sessions for entire team # Manager edits sessions for entire team
@@ -11991,7 +11991,7 @@ def plannedsessions_coach_view(request,timeperiod='thisweek',
for ps in sps: for ps in sps:
rowerstatus = {} rowerstatus = {}
for r in rowers: for r in rowers:
ratio, status = is_session_complete(r,ps) ratio, status,completiondate = is_session_complete(r,ps)
rowerstatus[r.id] = status rowerstatus[r.id] = status
sessiondict = { sessiondict = {
'results':rowerstatus, 'results':rowerstatus,
@@ -12046,15 +12046,11 @@ def plannedsessions_view(request,timeperiod='thisweek',rowerid=0):
completiondate = {} completiondate = {}
for ps in sps: for ps in sps:
ratio,status = is_session_complete(r,ps) ratio,status,cdate = is_session_complete(r,ps)
actualvalue[ps.id] = int(ps.sessionvalue*ratio) actualvalue[ps.id] = int(ps.sessionvalue*ratio)
completeness[ps.id] = status completeness[ps.id] = status
ws = Workout.objects.filter(user=r,plannedsession=ps) ws = Workout.objects.filter(user=r,plannedsession=ps)
if len(ws): completiondate[ps.id] = cdate
date = min([w.date for w in ws])
completiondate[ps.id] = date
else:
completiondate[ps.id] = ''
unmatchedworkouts = Workout.objects.filter( unmatchedworkouts = Workout.objects.filter(
user=r, user=r,
@@ -12361,7 +12357,7 @@ def plannedsession_view(request,id=0,rowerid=0,
ws = get_workouts_session(r,ps) ws = get_workouts_session(r,ps)
ratio,status = is_session_complete(r,ps) ratio,status,completiondate = is_session_complete(r,ps)
ratio = int(100.*ratio) ratio = int(100.*ratio)
@@ -12391,7 +12387,7 @@ def plannedsession_view(request,id=0,rowerid=0,
'psdict': psdict, 'psdict': psdict,
'attrs':[ 'attrs':[
'name','startdate','enddate','sessiontype', 'name','startdate','enddate','sessiontype',
'sessionmode', 'sessionmode','criterium',
'sessionvalue','sessionunit' 'sessionvalue','sessionunit'
], ],
'workouts': ws, 'workouts': ws,
+77
View File
@@ -0,0 +1,77 @@
$(document).ready(function(){
$("td #id_sessionmode").change(function() {
if (this.value == 'TRIMP') {
$("td #id_sessionunit").prop("value","None");
$('#id_guidance').html("<p>TRIMP has no unit</p>");
}
if (this.value == 'distance') {
$("td #id_sessionunit").prop("value","m");
$('#id_guidance').html("<p>Distance: Set value to meters</p>");
}
if (this.value == 'time') {
$("td #id_sessionunit").prop("value","min");
$('#id_guidance').html("<p>Time: Set value to minutes</p>");
}
if (this.value == 'rScore') {
$("td #id_sessionunit").prop("value","None");
$('#id_guidance').html("<p>rScore has no unit</p>");
}
});
$("td #id_sessiontype").change(function() {
if (this.value == 'session') {
$("td #id_criterium").prop("value","none");
$('#id_guidance').html("<p>For Training Sessions, the default criterium is 'Approximately'</p>");
}
if (this.value == 'test') {
$("td #id_criterium").prop("value","exact");
$("td #id_sessionmode").prop("value","distance");
$("td #id_sessionunit").prop("value","m");
$('#id_guidance').html("<p>Set mode to distance. For Mandatory Tests, only distance or time are allowed.</p><p>For Mandatory Tests, the only criterium is 'Exactly'</p>");
}
if (this.value == 'challenge') {
$("td #id_criterium").prop("value","minimum");
$('#id_guidance').html("<p>For Challenges, the default criterium is 'At Least'</p>");
}
if (this.value == 'cycletarget') {
$("td #id_criterium").prop("value","none");
$('#id_guidance').html("<p>For Cycle Targets, the default criterium is 'Approximately'</p>");
}
}
);
$("td #id_sessionunit").change(function() {
if (this.value == 'm') {
$("td #id_sessionmode").prop("value","distance");
$('#id_guidance').html("<p>Mode was set to distance</p>");
}
if (this.value == 'km') {
$("td #id_sessionmode").prop("value","distance");
$('#id_guidance').html("<p>Mode was set to distance</p>");
}
if (this.value == 'None') {
$("td #id_sessionmode").prop("value","rScore");
$('#id_guidance').html("<p>Mode was set to rScore</p>");
}
if (this.value == 'min') {
$("td #id_sessionmode").prop("value","time");
$('#id_guidance').html("<p>Mode was set to time</p>");
}
}
);
});
+77
View File
@@ -0,0 +1,77 @@
$(document).ready(function(){
$("td #id_sessionmode").change(function() {
if (this.value == 'TRIMP') {
$("td #id_sessionunit").prop("value","None");
$('#id_guidance').html("<p>TRIMP has no unit</p>");
}
if (this.value == 'distance') {
$("td #id_sessionunit").prop("value","m");
$('#id_guidance').html("<p>Distance: Set value to meters</p>");
}
if (this.value == 'time') {
$("td #id_sessionunit").prop("value","min");
$('#id_guidance').html("<p>Time: Set value to minutes</p>");
}
if (this.value == 'rScore') {
$("td #id_sessionunit").prop("value","None");
$('#id_guidance').html("<p>rScore has no unit</p>");
}
});
$("td #id_sessiontype").change(function() {
if (this.value == 'session') {
$("td #id_criterium").prop("value","none");
$('#id_guidance').html("<p>For Training Sessions, the default criterium is 'Approximately'</p>");
}
if (this.value == 'test') {
$("td #id_criterium").prop("value","exact");
$("td #id_sessionmode").prop("value","distance");
$("td #id_sessionunit").prop("value","m");
$('#id_guidance').html("<p>Set mode to distance. For Mandatory Tests, only distance or time are allowed.</p><p>For Mandatory Tests, the only criterium is 'Exactly'</p>");
}
if (this.value == 'challenge') {
$("td #id_criterium").prop("value","minimum");
$('#id_guidance').html("<p>For Challenges, the default criterium is 'At Least'</p>");
}
if (this.value == 'cycletarget') {
$("td #id_criterium").prop("value","none");
$('#id_guidance').html("<p>For Cycle Targets, the default criterium is 'Approximately'</p>");
}
}
);
$("td #id_sessionunit").change(function() {
if (this.value == 'm') {
$("td #id_sessionmode").prop("value","distance");
$('#id_guidance').html("<p>Mode was set to distance</p>");
}
if (this.value == 'km') {
$("td #id_sessionmode").prop("value","distance");
$('#id_guidance').html("<p>Mode was set to distance</p>");
}
if (this.value == 'None') {
$("td #id_sessionmode").prop("value","rScore");
$('#id_guidance').html("<p>Mode was set to rScore</p>");
}
if (this.value == 'min') {
$("td #id_sessionmode").prop("value","time");
$('#id_guidance').html("<p>Mode was set to time</p>");
}
}
);
});