Private
Public Access
1
0

Merge branch 'release/v10.72'

This commit is contained in:
Sander Roosendaal
2019-12-22 20:17:06 +01:00
11 changed files with 78 additions and 60 deletions

View File

@@ -1388,7 +1388,7 @@ def parsenonpainsled(fileformat,f2,summary):
try:
row = parsers[fileformat](f2)
hasrecognized = True
except KeyError:
except (KeyError,IndexError):
hasrecognized = False
return None, hasrecognized, '', 'unknown'

View File

@@ -715,6 +715,8 @@ def getsmallrowdata_db(columns,ids=[],debug=False):
data = []
columns = [c for c in columns if c != 'None']
df = pd.DataFrame()
if len(ids)>1:
for id, f in zip(ids,csvfilenames):
try:
@@ -728,11 +730,13 @@ def getsmallrowdata_db(columns,ids=[],debug=False):
df = pd.concat(data,axis=0)
except ValueError:
df = pd.DataFrame()
else:
elif len(ids)==1:
try:
df = pd.read_parquet(csvfilenames[0],columns=columns,engine='pyarrow')
except (OSError,IndexError):
df = pd.DataFrame()
else:
df = pd.DataFrame()
return df

View File

@@ -1754,15 +1754,15 @@ def handle_updatefitnessmetric(user_id,mode,workoutids,debug=False,
def handle_updatecp(rower_id,workoutids,debug=False,table='cpdata',**kwargs):
columns = ['power','workoutid','time']
df = getsmallrowdata_db(columns,ids=workoutids,debug=debug)
dfgrouped = df.groupby(['workoutid'])
if not df.empty:
maxt = 1.05*df['time'].max()/1000.
else:
maxt = 1000.
if df.empty:
return 0
maxt = 1.05*df['time'].max()/1000.
logarr = datautils.getlogarr(maxt)
dfgrouped = df.groupby(['workoutid'])
delta,cpvalue,avgpower = datautils.getcp(dfgrouped,logarr)

View File

@@ -44,7 +44,7 @@
function copyText() {
var tempInput = document.createElement("input");
tempInput.style = "position: absolute; left: -1000px; top: -1000px";
tempInput.value = "https://rowsandall.com/rowers/video/{{ analysis.id|encode }}/";
tempInput.value = "{{ siteurl }}/rowers/video/{{ analysis.id|encode }}/";
document.body.appendChild(tempInput);
tempInput.select();
document.execCommand("copy");
@@ -123,7 +123,7 @@ function copyText() {
{% if analysis %}
<li class="grid_2">
<span class="fb-share-button" style="height:20px; vertical-align: top;"
data-href="https://rowsandall.com/rowers/video/{{ analysis.id|encode }}"
data-href="{{ siteurl }}/rowers/video/{{ analysis.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/video/{{ analysis.id|encode }}/">
@@ -132,7 +132,7 @@ function copyText() {
<span>
<a class="twitter-share-button"
href="https://twitter.com/intent/tweet"
data-url="https://rowsandall.com/rowers/video/{{ analysis.id|encode }}/"
data-url="{{ siteurl }}/rowers/video/{{ analysis.id|encode }}/"
data-text="@rowsandall #rowingdata">Tweet</a>
</span>
<span>
@@ -306,7 +306,7 @@ function copyText() {
}
</script>
</li>
{% if user.is_authenticated and user == workout.user.user %}
{% if user.is_authenticated and workout|may_edit:request %}
<li class="grid_4">
<input type="checkbox" name="lock" id="lock" value="Lock">Lock Data and Video
</li>
@@ -322,7 +322,7 @@ function copyText() {
<li class="grid_2">
{% if form and user.is_authenticated and user == workout.user.user %}
{% if form and user.is_authenticated and workout|may_edit:request %}
<table>
{{ form.as_table }}

View File

@@ -35,7 +35,7 @@
Please correct the error{{ form.errors|pluralize }} below.
</p>
{% endif %}
<table>
{{ form.as_table }}
</table>
@@ -89,9 +89,9 @@
<td>
<a class="small" href="/rowers/sessions/{{ ps.id }}/deleteconfirm/">Delete</a>
</td>
<td>
<a class="small" href="/rowers/sessions/{{ ps.id }}/maketemplate/">Save</a>
</td>
<td>
<a class="small" href="/rowers/sessions/{{ ps.id }}/maketemplate/">Save</a>
</td>
</tr>
{% endfor %}
</tbody>
@@ -144,7 +144,7 @@
$("td #id_course").hide();
$("th label[for='id_course']").hide();
$("td #id_sessionmode").change(function() {
if (this.value == 'TRIMP') {
@@ -192,7 +192,7 @@
$("th label[for='id_course']").hide();
$("td #id_course").hide();
}
if (this.value == 'challenge') {
$("td #id_criterium").prop("value","minimum");
$('#id_guidance').html("<p>For Challenges, the default criterium is 'At Least'</p>");
@@ -228,7 +228,7 @@
}
);
);

View File

@@ -23,14 +23,14 @@
</p>
</li>
<li class="grid_2">
<p><a href="/rowers/sessions/?startdate={{ timeperiod|previousperiodstart }}&enddate={{ timeperiod|previousperiodend}}">Back by
<p><a href="/rowers/sessions/coach/?startdate={{ timeperiod|previousperiodstart }}&enddate={{ timeperiod|previousperiodend}}">Back by
{{ timeperiod|timedeltadays }} days</a>
</p>
<p><a href="/rowers/sessions/?startdate={{ timeperiod|nextperiodstart }}&enddate={{ timeperiod|nextperiodend}}">Forward by
<p><a href="/rowers/sessions/coach/?startdate={{ timeperiod|nextperiodstart }}&enddate={{ timeperiod|nextperiodend}}">Forward by
{{ timeperiod|timedeltadays }} days</a>
</p>
</li>
<li class="grid_4">
<li class="grid_4">
<table width="90%" class="listtable">
@@ -80,7 +80,7 @@
</td>
{% endfor %}
</tr>
{% endfor %}
{% endfor %}
</tbody>
</table>
<p>
@@ -129,7 +129,7 @@
{% else %}
<td>
<a href={% url rower.defaultlandingpage id=workout.id|encode %}>No Name
</a></td>
</a></td>
{% endif %}
{% else %}
@@ -144,7 +144,7 @@
<td> {{ workout.duration |durationprint:"%H:%M:%S.%f" }} </td>
<td> {{ workout.averagehr }} </td>
<td> {{ workout.maxhr }} </td>
</tr>
</tr>
{% endfor %}
</tbody>
</table>
@@ -153,7 +153,7 @@
{% endif %}
</ul>

View File

@@ -19,10 +19,10 @@
</p>
</li>
<li class="grid_2">
<p><a href="/rowers/sessions/?startdate={{ timeperiod|previousperiodstart }}&enddate={{ timeperiod|previousperiodend}}">Back by
<p><a href="/rowers/sessions/teamcreate/?startdate={{ timeperiod|previousperiodstart }}&enddate={{ timeperiod|previousperiodend}}">Back by
{{ timeperiod|timedeltadays }} days</a>
</p>
<p><a href="/rowers/sessions/?startdate={{ timeperiod|nextperiodstart }}&enddate={{ timeperiod|nextperiodend}}">Forward by
<p><a href="/rowers/sessions/teamcreate/?startdate={{ timeperiod|nextperiodstart }}&enddate={{ timeperiod|nextperiodend}}">Forward by
{{ timeperiod|timedeltadays }} days</a>
</p>
</li>
@@ -34,21 +34,21 @@
Please correct the error{{ form.errors|pluralize }} below.
</p>
{% endif %}
<ul class="main-content">
<li class="grid_2">
{% csrf_token %}
<h1>New Team Session</h1>
<table>
{{ teamform.as_table }}
{{ teamform.as_table }}
</table>
<table>
{{ form.as_table }}
</table>
<input class="button green" type="submit" value="Save">
<div id="id_guidance" class="padded">
</div>
</li>
{% if plannedsessions %}
@@ -90,15 +90,18 @@
<td>
<a class="small" href="/rowers/sessions/{{ ps.id }}/clone/">Clone</a>
</td>
<td>
<a class="small" href="/rowers/sessions/{{ ps.id }}/deleteconfirm/">Delete</a>
</td>
<td>
<a class="small" href="/rowers/sessions/{{ ps.id }}/maketemplate/">Save</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</p>
</p>
</li>
{% endif %}
<li class="grid_2">
@@ -150,7 +153,7 @@
$(document).ready(function(){
$("td #id_course").hide();
$("th label[for='id_course']").hide();
$("td #id_sessionmode").change(function() {
if (this.value == 'TRIMP') {
@@ -165,16 +168,16 @@
$("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>");
@@ -205,18 +208,18 @@
$("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>");
@@ -233,13 +236,13 @@
$("td #id_sessionmode").prop("value","time");
$('#id_guidance').html("<p>Mode was set to time</p>");
}
}
);
);
});
</script>

View File

@@ -19,10 +19,10 @@
</p>
</li>
<li class="grid_2">
<p><a href="/rowers/sessions/?startdate={{ timeperiod|previousperiodstart }}&enddate={{ timeperiod|previousperiodend}}">Back by
<p><a href="/rowers/sessions/coach/?startdate={{ timeperiod|previousperiodstart }}&enddate={{ timeperiod|previousperiodend}}">Back by
{{ timeperiod|timedeltadays }} days</a>
</p>
<p><a href="/rowers/sessions/?startdate={{ timeperiod|nextperiodstart }}&enddate={{ timeperiod|nextperiodend}}">Forward by
<p><a href="/rowers/sessions/coach/?startdate={{ timeperiod|nextperiodstart }}&enddate={{ timeperiod|nextperiodend}}">Forward by
{{ timeperiod|timedeltadays }} days</a>
</p>
</li>
@@ -41,10 +41,10 @@
<p>
Selecting a team assigns this session to all members of the team.
Unselecting a team does not remove rowers
who are already assigned to this session. Use the Rowers selection for that.
who are already assigned to this session. Use the Rowers selection for that.
</p><p>
<table>
{{ teamform.as_table }}
{{ teamform.as_table }}
</table></p>
</li>
<li class="grid_2">
@@ -112,15 +112,18 @@
<td>
<a class="small" href="/rowers/sessions/{{ ps.id }}/clone">Clone</a>
</td>
<td>
<a class="small" href="/rowers/sessions/{{ ps.id }}/deleteconfirm">Delete</a>
</td>
<td>
<a class="small" href="/rowers/sessions/{{ ps.id }}/maketemplate/">Save</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</p>
</p>
{% endif %}
</li>
@@ -134,7 +137,7 @@
$(document).ready(function(){
var o = $("td #id_sessiontype").find(":selected").val();
if (o != 'coursetest') {
$("td #id_course").hide();
$("th label[for='id_course']").hide();
@@ -230,7 +233,7 @@
}
);
);

View File

@@ -19,6 +19,9 @@
&nbsp;
{% endif %}
</p>
<p>
Login <em>{{ rower.user }}</em>
</p>
{% if userform.errors %}
<p style="color: red;">
Please correct the error{{ form.errors|pluralize }} below.
@@ -26,7 +29,7 @@
{% endif %}
{% if accountform.errors %}
<p style="color: red;">
</p>
{% endif %}
<form enctype="multipart/form-data" action="" method="post">

View File

@@ -156,6 +156,7 @@ def workout_video_view(request,id=''):
'locked': True,
'metricsform':metricsform,
'metricsgroups': metricsgroups,
'siteurl': settings.SITE_URL,
})
@@ -171,6 +172,9 @@ def workout_video_create_view(request,id=0):
else:
mode = 'erg'
mayedit = checkworkoutuser(request.user,w) and isprorower(request.user.rower)
# get video ID and offset
if request.method == 'POST':
form = VideoAnalysisCreateForm(request.POST)
@@ -265,6 +269,7 @@ def workout_video_create_view(request,id=0):
'metrics':metrics,
'metricsgroups': metricsgroups,
'locked': False,
'siteurl': settings.SITE_URL,
})
# Show the EMpower Oarlock generated Stroke Profile

View File

@@ -58,7 +58,7 @@
}(document, 'script', 'facebook-jssdk'));</script>
<script>
$(document).ready(function (){
FB.XFBML.parse();
FB.XFBML.parse();
})
</script>