analysis page
@@ -1,171 +1,154 @@
|
||||
{% extends "base.html" %}
|
||||
{% extends "newbase.html" %}
|
||||
{% load staticfiles %}
|
||||
{% load rowerfilters %}
|
||||
|
||||
{% block title %}Rowsandall - Analysis {% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% block main %}
|
||||
|
||||
<h1>Analysis</h1>
|
||||
<h1>Analysis</h1>
|
||||
<p>Functionality to analyze multiple workouts.</p>
|
||||
|
||||
|
||||
<div class="grid_12 alpha">
|
||||
<div class="grid_6 alpha">
|
||||
<h2>Basic</h2>
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
<a class="button blue small" href="/rowers/ote-bests">Ranking Pieces</a></p>
|
||||
<p>Analyze your Concept2 ranking pieces over a date range and predict your pace on other pieces.</p>
|
||||
<ul class="main-content">
|
||||
<li class="rounder">
|
||||
<h2>Ranking Pieces</h2>
|
||||
<a href="/rowers/ote-bests2">
|
||||
<div class="vignet">
|
||||
<img src="/static/img/rankingpiece.png"
|
||||
alt="Ranking Piece">
|
||||
</div>
|
||||
<div class="grid_2">
|
||||
</a>
|
||||
<p>
|
||||
<a class="button blue small" href="/rowers/flexall">Stroke Analysis</a>
|
||||
Analyze your Concept2 ranking pieces over a date range and predict your pace on other pieces.
|
||||
</p>
|
||||
</li>
|
||||
<li class="rounder">
|
||||
<h2>Stroke Analysis</h2>
|
||||
<a href="/rowers/flexall">
|
||||
<div class="vignet">
|
||||
<img src="/static/img/strokeanalysis.png"
|
||||
alt="Stroke Analysis">
|
||||
</div>
|
||||
</a>
|
||||
<p>
|
||||
Plot all strokes in a date range and analyze several parameters (Power, Pace, SPM, Heart Rate).
|
||||
</p>
|
||||
</div>
|
||||
<div class="grid_2 omega">
|
||||
<p class="button white small">
|
||||
Analysis Feature 3
|
||||
</p>
|
||||
<p>
|
||||
Reserved for future functionality.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="grid_6 omega">
|
||||
<h2>Pro</h2>
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
</li>
|
||||
<li class="rounder">
|
||||
<h2>Power Histogram</h2>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small" href="/rowers/histo">Power Histogram</a>
|
||||
<a href="/rowers/histo">
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/promembership">Power Histogram</a>
|
||||
<a href="/rowers/promembership">
|
||||
{% endif %}
|
||||
</p>
|
||||
<div class="vignet">
|
||||
<img src="/static/img/histogram.png" alt="Power Histogram">
|
||||
</div>
|
||||
</a>
|
||||
<p>
|
||||
Plot a power histogram of all your strokes over a date range.
|
||||
</p>
|
||||
</div>
|
||||
<div class="grid_2">
|
||||
<p>
|
||||
</li>
|
||||
<li class="rounder">
|
||||
<h2>Statistics</h2>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small" href="/rowers/cumstats">Statistics</a>
|
||||
<a href="/rowers/cumstats">
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/promembership">Statistics</a>
|
||||
<a href="/rowers/promembership">
|
||||
{% endif %}
|
||||
</p>
|
||||
<p>
|
||||
BETA: Statistics of stroke metrics over a date range
|
||||
</p>
|
||||
<div class="vignet">
|
||||
<img src="/static/img/statistics.PNG" alt="Statistics">
|
||||
</div>
|
||||
<div class="grid_2 omega">
|
||||
</a>
|
||||
<p>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small" href="/rowers/user-boxplot-select">Box Chart</a>
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/promembership">Box Chart</a>
|
||||
{% endif %}
|
||||
Statistics of stroke metrics over a date range
|
||||
</p>
|
||||
</li>
|
||||
<li class="rounder">
|
||||
<h2>Box Chart</h2>
|
||||
{% if user|is_promember %}
|
||||
<a href="/rowers/user-boxplot-select">
|
||||
{% else %}
|
||||
<a href="/rowers/promembership">
|
||||
{% endif %}
|
||||
<div class="vignet">
|
||||
<img src="/static/img/boxplot.png" alt="Box Chart">
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<p>
|
||||
BETA: Box Chart Statistics of stroke metrics over a date range
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grid_12 alpha">
|
||||
<div class="grid_6 alpha">
|
||||
<div class="grid_2 suffix_4 alpha">
|
||||
<p>
|
||||
<a class="button blue small" href="/rowers/ote-bests2">
|
||||
Ranking Pieces 2.0</a></p>
|
||||
<p>Analyze your Concept2 ranking pieces over a date range and predict your pace on other pieces.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grid_6 omega">
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
</li>
|
||||
<li class="rounder">
|
||||
<h2>OTW Critical Power</h2>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small" href="/rowers/otw-bests">OTW Critical Power</a>
|
||||
<a href="/rowers/otw-bests">
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/promembership">OTW Critical Power</a>
|
||||
<a href="/rowers/promembership">
|
||||
{% endif %}
|
||||
</p>
|
||||
<div class="vignet">
|
||||
<img src="/static/img/otwcp.png" alt="OTW Critical Power">
|
||||
</div>
|
||||
</a>
|
||||
<p>
|
||||
Analyse power vs piece duration to make predictions. For On-The-Water rowing.
|
||||
</p>
|
||||
</div>
|
||||
<div class="grid_2">
|
||||
<p>
|
||||
</li>
|
||||
<li class="rounder">
|
||||
<h2>OTE Critical Power</h2>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small" href="/rowers/team-compare-select/team/0/">Multi Compare</a>
|
||||
<a href="/rowers/ote-ranking">
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/promembership">Multi Compare</a>
|
||||
<a href="/rowers/promembership">
|
||||
{% endif %}
|
||||
</p>
|
||||
<p>
|
||||
Compare many workouts
|
||||
</p>
|
||||
<div class="vignet">
|
||||
<img src="/static/img/otecp.png" alt="OTE Critical Power">
|
||||
</div>
|
||||
<div class="grid_2 omega">
|
||||
<p>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small" href="/rowers/user-multiflex-select">Trend Flex</a>
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/promembership">Trend Flex</a>
|
||||
{% endif %}
|
||||
</p>
|
||||
<p>
|
||||
Select workouts and make X-Y charts of averages over various metrics
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="grid_6 prefix_6 alpha">
|
||||
<div class="grid_2 alpha">
|
||||
<p>
|
||||
{% if user|is_promember %}
|
||||
<a class="button blue small" href="/rowers/ote-ranking">OTE Critical Power</a>
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/promembership">OTE Critical Power</a>
|
||||
{% endif %}
|
||||
</p>
|
||||
</a>
|
||||
|
||||
<p>
|
||||
Analyse power vs piece duration to make predictions, for erg pieces.
|
||||
</p>
|
||||
</div>
|
||||
<div class="grid_2">
|
||||
<p>
|
||||
{% if user|is_planmember %}
|
||||
<a class="button blue small" href="/rowers/fitness-progress">Power Progress</a>
|
||||
</li>
|
||||
<li class="rounder">
|
||||
<h2>Trend Flex</h2>
|
||||
{% if user|is_promember %}
|
||||
<a href="/rowers/user-multiflex-select">
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/promembership">Power Progress</a>
|
||||
<a href="/rowers/promembership">
|
||||
{% endif %}
|
||||
<div class="vignet">
|
||||
<img src="/static/img/trendflex.png" alt="Trend Flex">
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<p>
|
||||
Select workouts and make X-Y charts of averages over various metrics
|
||||
</p>
|
||||
</li>
|
||||
<li class="rounder">
|
||||
<h1>Power Progress</h1>
|
||||
{% if user|is_planmember %}
|
||||
<a href="/rowers/fitness-progress">
|
||||
{% else %}
|
||||
<a href="/rowers/promembership">
|
||||
{% endif %}
|
||||
<div class="vignet">
|
||||
<img src="/static/img/powerprogress.png" alt="Power Progress">
|
||||
</div>
|
||||
</a>
|
||||
<p>
|
||||
Monitoring power duration evidence from all your workouts. Feel free to explore.
|
||||
</p>
|
||||
</div>
|
||||
<div class="grid_2 omega">
|
||||
<p>
|
||||
{% if user|is_planmember %}
|
||||
<a class="button blue small" href="/rowers/laboratory">The Labs</a>
|
||||
{% else %}
|
||||
<a class="button blue small" href="/rowers/promembership">The Labs</a>
|
||||
{% endif %}
|
||||
</p>
|
||||
<p>
|
||||
Undisclosed new functionality. This is still experimental and
|
||||
may not make sense.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
{% include 'menu_analytics.html' %}
|
||||
{% endblock %}
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="">
|
||||
<a href="/rower/laboratory">
|
||||
<i class="fas fa-flask fa-fw"></i> Laboratory</a>
|
||||
</li>
|
||||
</ul><!-- cd-accordion-menu -->
|
||||
|
||||
@@ -389,9 +389,9 @@ urlpatterns = [
|
||||
url(r'^brochure$',TemplateView.as_view(template_name='brochure.html'),
|
||||
name='brochure'),
|
||||
url(r'^developers', TemplateView.as_view(template_name='developers.html'),name='about'),
|
||||
url(r'^compatibility', TemplateView.as_view(template_name='compatibility.html'),name='about'),
|
||||
url(r'^videos', TemplateView.as_view(template_name='videos.html'),name='videos'),
|
||||
url(r'^analysis', TemplateView.as_view(template_name='analysis.html'),name='analysis'),
|
||||
# url(r'^compatibility', TemplateView.as_view(template_name='compatibility.html'),name='about'),
|
||||
# url(r'^videos', TemplateView.as_view(template_name='videos.html'),name='videos'),
|
||||
url(r'^analysis', views.analysis_view,name='analysis'),
|
||||
url(r'^laboratory', TemplateView.as_view(template_name='laboratory.html'),name='laboratory'),
|
||||
url(r'^promembership', TemplateView.as_view(template_name='promembership.html'),name='promembership'),
|
||||
url(r'^starttrial$',views.start_trial_view),
|
||||
|
||||
@@ -1021,6 +1021,17 @@ def rower_register_view(request):
|
||||
"registration_form.html",
|
||||
{'form':form,})
|
||||
|
||||
# Shows analysis page
|
||||
def analysis_view(request):
|
||||
r = getrequestrower(request)
|
||||
return render(request,
|
||||
"analysis.html",
|
||||
{
|
||||
'active':'nav-analysis',
|
||||
'rower':r,
|
||||
}
|
||||
)
|
||||
|
||||
# Shows email form and sends it if submitted
|
||||
def sendmail(request):
|
||||
if request.method == 'POST':
|
||||
|
||||
@@ -274,6 +274,26 @@ th.rotate > div > span {
|
||||
margin: 2px;
|
||||
}
|
||||
|
||||
.vignet {
|
||||
border-radius: 50%;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
padding: 5px;
|
||||
margin: 5px;
|
||||
-webkit-box-shadow: inset 0px 0px 85px rgba(0,0,0,0.4);
|
||||
-moz-box-shadow: inset 0px 0px 85px rgba(0,0,0,0.4);
|
||||
box-shadow: inset 0px 0px 85px rgba(0,0,0,0.4);
|
||||
|
||||
line-height: 0; /* ensure no space between bottom */
|
||||
|
||||
}
|
||||
|
||||
.vignet img {
|
||||
position: relative;
|
||||
transform: scale(1.5);
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.button {
|
||||
font: 1.1em/1.5em sans-serif;
|
||||
text-decoration: none;
|
||||
|
||||
BIN
static/img/boxplot.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
static/img/comparison.png
Normal file
|
After Width: | Height: | Size: 59 KiB |
BIN
static/img/histogram.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
static/img/otecp.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
static/img/otwcp.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
static/img/powerprogress.png
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
static/img/rankingpiece.png
Normal file
|
After Width: | Height: | Size: 64 KiB |
BIN
static/img/statistics.PNG
Normal file
|
After Width: | Height: | Size: 50 KiB |
BIN
static/img/statistics.xcf
Normal file
BIN
static/img/strokeanalysis.png
Normal file
|
After Width: | Height: | Size: 76 KiB |
BIN
static/img/trendflex.png
Normal file
|
After Width: | Height: | Size: 34 KiB |