Merge branch 'release/v4.18'
This commit is contained in:
@@ -9,7 +9,12 @@
|
|||||||
<div class="grid_12">
|
<div class="grid_12">
|
||||||
<p class="midden">
|
<p class="midden">
|
||||||
Local Time: {% now "jS F Y H:i" %}
|
Local Time: {% now "jS F Y H:i" %}
|
||||||
</p>
|
</p>
|
||||||
|
<p class="midden">
|
||||||
|
<a class="twitter-follow-button"
|
||||||
|
href="https://twitter.com/rowsandall">
|
||||||
|
Follow @rowsandall</a>
|
||||||
|
</p>
|
||||||
<p class="midden">
|
<p class="midden">
|
||||||
Compatible with:
|
Compatible with:
|
||||||
<img src="/static/img/stravasquare.png" alt="Strava icon" width="30" height="30">
|
<img src="/static/img/stravasquare.png" alt="Strava icon" width="30" height="30">
|
||||||
|
|||||||
@@ -17,9 +17,9 @@
|
|||||||
<div class="grid_4 alpha">
|
<div class="grid_4 alpha">
|
||||||
|
|
||||||
{% if team %}
|
{% if team %}
|
||||||
<form enctype="multipart/form-data" action="/rowers/list-workouts/team/{{ team.id }}/" method="post">
|
<form enctype="multipart/form-data" method="post">
|
||||||
{% else %}
|
{% else %}
|
||||||
<form enctype="multipart/form-data" action="/rowers/list-workouts/" method="post">
|
<form enctype="multipart/form-data" method="post">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
@@ -196,6 +196,16 @@
|
|||||||
|
|
||||||
|
|
||||||
<div class="grid_5 alpha">
|
<div class="grid_5 alpha">
|
||||||
|
{% if rankingonly and not team %}
|
||||||
|
<div class="grid_2 prefix_1 alpha">
|
||||||
|
<a class="button small green" href="/rowers/list-workouts">All Workouts</a>
|
||||||
|
</div>
|
||||||
|
{% elif not team %}
|
||||||
|
<div class="grid_2 prefix_1 alpha">
|
||||||
|
<a class="button small green" href="/rowers/list-workouts/ranking">Ranking Pieces Only</a>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
<p> </p>
|
||||||
{% if team %}
|
{% if team %}
|
||||||
<form id="searchform" action="/rowers/list-workouts/team/{{ team.id }}/{{ startdate|date:"Y-m-d" }}/{{ enddate|date:"Y-m-d" }}"
|
<form id="searchform" action="/rowers/list-workouts/team/{{ team.id }}/{{ startdate|date:"Y-m-d" }}/{{ enddate|date:"Y-m-d" }}"
|
||||||
method="get" accept-charset="utf-8">
|
method="get" accept-charset="utf-8">
|
||||||
|
|||||||
@@ -12,8 +12,23 @@
|
|||||||
<meta property="og:image" content="http://rowsandall.com/{{ graph.filename |spacetohtml }}" />
|
<meta property="og:image" content="http://rowsandall.com/{{ graph.filename |spacetohtml }}" />
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h1>{{ workout.name }}</h1>
|
<h1>{{ workout.name }}</h1>
|
||||||
|
<div class="grid_12">
|
||||||
|
<div class="grid_1 alpha">
|
||||||
|
<div class="fb-share-button" data-href="https://rowsandall.com/rower/graph/{{ graph.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/graph/{{ graph.id }}&src=sdkpreparse">Share</a></div>
|
||||||
|
</div>
|
||||||
|
<div class="grid_1">
|
||||||
|
<a class="twitter-share-button"
|
||||||
|
href="https://twitter.com/intent/tweet"
|
||||||
|
data-url="https://rowsandall.com/rowers/graph/{{ graph.id }}"
|
||||||
|
data-text="@rowsandall #rowingdata">Tweet</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p> </p>
|
||||||
|
<div class="grid_12">
|
||||||
<div class="grid_2 alpha">
|
<div class="grid_2 alpha">
|
||||||
{% if user.is_authenticated and user == rower.user %}
|
{% if user.is_authenticated and user == rower.user %}
|
||||||
<p>
|
<p>
|
||||||
@@ -34,7 +49,7 @@
|
|||||||
<p> </p>
|
<p> </p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div class="grid_12">
|
<div class="grid_12">
|
||||||
<p>
|
<p>
|
||||||
<a href="/{{ graph.filename }}" download="myimage">
|
<a href="/{{ graph.filename }}" download="myimage">
|
||||||
|
|||||||
@@ -2,6 +2,8 @@
|
|||||||
{% load staticfiles %}
|
{% load staticfiles %}
|
||||||
{% load rowerfilters %}
|
{% load rowerfilters %}
|
||||||
{% load tz %}
|
{% load tz %}
|
||||||
|
|
||||||
|
|
||||||
{% get_current_timezone as TIME_ZONE %}
|
{% get_current_timezone as TIME_ZONE %}
|
||||||
|
|
||||||
{% block title %}{{ workout.name }}{% endblock %}
|
{% block title %}{{ workout.name }}{% endblock %}
|
||||||
@@ -53,6 +55,7 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="grid_6 alpha">
|
||||||
<table width=100%>
|
<table width=100%>
|
||||||
<tr>
|
<tr>
|
||||||
{% localtime on %}
|
{% localtime on %}
|
||||||
@@ -80,6 +83,8 @@
|
|||||||
<td>
|
<td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="grid_6 alpha">
|
||||||
<form enctype="multipart/form-data" action="" method="post">
|
<form enctype="multipart/form-data" action="" method="post">
|
||||||
<table width=100%>
|
<table width=100%>
|
||||||
{{ form.as_table }}
|
{{ form.as_table }}
|
||||||
@@ -98,7 +103,8 @@
|
|||||||
<input class="button green" type="submit" value="Save">
|
<input class="button green" type="submit" value="Save">
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div id="images" class="grid_6 omega">
|
<div id="images" class="grid_6 omega">
|
||||||
<h1>Images linked to this workout</h1>
|
<h1>Images linked to this workout</h1>
|
||||||
<div class="grid_6 alpha">
|
<div class="grid_6 alpha">
|
||||||
@@ -198,19 +204,33 @@
|
|||||||
</style>
|
</style>
|
||||||
|
|
||||||
<div id="summary" class="grid_6 omega">
|
<div id="summary" class="grid_6 omega">
|
||||||
<h1>Workout Summary</h1>
|
<div class="grid_5 alpha">
|
||||||
|
<h1>Workout Summary</h1>
|
||||||
|
|
||||||
<p>
|
|
||||||
<pre>
|
|
||||||
{{ workout.summary }}
|
|
||||||
</pre>
|
|
||||||
</p>
|
|
||||||
<div class="grid_2 alpha">
|
|
||||||
<p>
|
<p>
|
||||||
<a class="button green small" href="recalcsummary">Update Summary</a>
|
<pre>
|
||||||
|
{{ workout.summary }}
|
||||||
|
</pre>
|
||||||
|
</p>
|
||||||
|
<div class="grid_2 alpha">
|
||||||
|
<p>
|
||||||
|
<a class="button green small" href="recalcsummary">Update Summary</a>
|
||||||
</p>
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="grid_1 omega">
|
||||||
|
<div class="grid_1 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 }}&src=sdkpreparse">Share</a></div>
|
||||||
|
</div>
|
||||||
|
<div class="grid_1 alpha">
|
||||||
|
<p> </p>
|
||||||
|
<a class="twitter-share-button"
|
||||||
|
href="https://twitter.com/intent/tweet"
|
||||||
|
data-url="https://rowsandall.com/rowers/workout/{{ workout.id }}"
|
||||||
|
data-text="@rowsandall #rowingdata">Tweet</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -27,9 +27,20 @@
|
|||||||
<div id="workouts" class="grid_6 alpha">
|
<div id="workouts" class="grid_6 alpha">
|
||||||
|
|
||||||
|
|
||||||
<h1>{{ workout.name }}</h1>
|
<h1>{{ workout.name }}</h1>
|
||||||
|
<div class="grid_1 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 }}&src=sdkpreparse">Share</a></div>
|
||||||
|
</div>
|
||||||
|
<div class="grid_1">
|
||||||
|
<a class="twitter-share-button"
|
||||||
|
href="https://twitter.com/intent/tweet"
|
||||||
|
data-url="https://rowsandall.com/rowers/workout/{{ workout.id }}"
|
||||||
|
data-text="@rowsandall #rowingdata">Tweet</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
<table width=100%>
|
<table width=100%>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Rower:</th><td>{{ first_name }} {{ last_name }}</td>
|
<th>Rower:</th><td>{{ first_name }} {{ last_name }}</td>
|
||||||
</tr><tr>
|
</tr><tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
@@ -121,6 +121,7 @@ urlpatterns = [
|
|||||||
url(r'^400/$', TemplateView.as_view(template_name='400.html'),name='400'),
|
url(r'^400/$', TemplateView.as_view(template_name='400.html'),name='400'),
|
||||||
url(r'^403/$', TemplateView.as_view(template_name='403.html'),name='403'),
|
url(r'^403/$', TemplateView.as_view(template_name='403.html'),name='403'),
|
||||||
url(r'^imports/$', TemplateView.as_view(template_name='imports.html'), name='imports'),
|
url(r'^imports/$', TemplateView.as_view(template_name='imports.html'), name='imports'),
|
||||||
|
url(r'^list-workouts/ranking$',views.workouts_view,{'rankingonly':True}),
|
||||||
url(r'^list-workouts/team/(?P<teamid>\d+)/(?P<startdatestring>\w+.*)/(?P<enddatestring>\w+.*)$',views.workouts_view),
|
url(r'^list-workouts/team/(?P<teamid>\d+)/(?P<startdatestring>\w+.*)/(?P<enddatestring>\w+.*)$',views.workouts_view),
|
||||||
url(r'^list-workouts/team/(?P<teamid>\d+)/$',views.workouts_view),
|
url(r'^list-workouts/team/(?P<teamid>\d+)/$',views.workouts_view),
|
||||||
url(r'^list-workouts/(?P<startdatestring>\w+.*)/(?P<enddatestring>\w+.*)$',views.workouts_view),
|
url(r'^list-workouts/(?P<startdatestring>\w+.*)/(?P<enddatestring>\w+.*)$',views.workouts_view),
|
||||||
|
|||||||
+5
-1
@@ -4289,7 +4289,7 @@ def workouts_view(request,message='',successmessage='',
|
|||||||
startdatestring="",enddatestring="",
|
startdatestring="",enddatestring="",
|
||||||
startdate=timezone.now()-datetime.timedelta(days=365),
|
startdate=timezone.now()-datetime.timedelta(days=365),
|
||||||
enddate=timezone.now()+datetime.timedelta(days=1),
|
enddate=timezone.now()+datetime.timedelta(days=1),
|
||||||
teamid=0):
|
teamid=0,rankingonly=False):
|
||||||
request.session['referer'] = absolute(request)['PATH']
|
request.session['referer'] = absolute(request)['PATH']
|
||||||
try:
|
try:
|
||||||
r = getrower(request.user)
|
r = getrower(request.user)
|
||||||
@@ -4365,6 +4365,9 @@ def workouts_view(request,message='',successmessage='',
|
|||||||
startdatetime__gte=activity_startdate,
|
startdatetime__gte=activity_startdate,
|
||||||
startdatetime__lte=activity_enddate).order_by("-startdatetime")
|
startdatetime__lte=activity_enddate).order_by("-startdatetime")
|
||||||
|
|
||||||
|
if rankingonly:
|
||||||
|
workouts = [w for w in workouts if w.rankingpiece]
|
||||||
|
|
||||||
query = request.GET.get('q')
|
query = request.GET.get('q')
|
||||||
if query:
|
if query:
|
||||||
query_list = query.split()
|
query_list = query.split()
|
||||||
@@ -4407,6 +4410,7 @@ def workouts_view(request,message='',successmessage='',
|
|||||||
'enddate':enddate,
|
'enddate':enddate,
|
||||||
'announcements':announcements[0:4],
|
'announcements':announcements[0:4],
|
||||||
'team':theteam,
|
'team':theteam,
|
||||||
|
'rankingonly':rankingonly,
|
||||||
'teams':get_my_teams(request.user),
|
'teams':get_my_teams(request.user),
|
||||||
'interactiveplot':script,
|
'interactiveplot':script,
|
||||||
'the_div':div,
|
'the_div':div,
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ INSTALLED_APPS = [
|
|||||||
'cookielaw',
|
'cookielaw',
|
||||||
'django_extensions',
|
'django_extensions',
|
||||||
'tz_detect',
|
'tz_detect',
|
||||||
|
'django_social_share',
|
||||||
]
|
]
|
||||||
|
|
||||||
AUTHENTICATION_BACKENDS = (
|
AUTHENTICATION_BACKENDS = (
|
||||||
|
|||||||
@@ -3,6 +3,8 @@
|
|||||||
{% load rowerfilters %}
|
{% load rowerfilters %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{% block teams %}
|
{% block teams %}
|
||||||
{% if user.is_authenticated and user|has_teams %}
|
{% if user.is_authenticated and user|has_teams %}
|
||||||
<div class="grid_1 alpha dropdown">
|
<div class="grid_1 alpha dropdown">
|
||||||
|
|||||||
+31
-1
@@ -1,5 +1,6 @@
|
|||||||
{% load leaflet_tags %}
|
{% load leaflet_tags %}
|
||||||
{% load cookielaw_tags %}
|
{% load cookielaw_tags %}
|
||||||
|
|
||||||
{% load tz_detect %}
|
{% load tz_detect %}
|
||||||
{% tz_detect %}
|
{% tz_detect %}
|
||||||
{% load analytical %}
|
{% load analytical %}
|
||||||
@@ -42,8 +43,34 @@
|
|||||||
{% block meta %} {% endblock %}
|
{% block meta %} {% endblock %}
|
||||||
{% leaflet_js %}
|
{% leaflet_js %}
|
||||||
{% leaflet_css %}
|
{% leaflet_css %}
|
||||||
|
<div id="fb-root"></div>
|
||||||
|
<script>(function(d, s, id) {
|
||||||
|
var js, fjs = d.getElementsByTagName(s)[0];
|
||||||
|
if (d.getElementById(id)) return;
|
||||||
|
js = d.createElement(s); js.id = id;
|
||||||
|
js.async=true;
|
||||||
|
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.10&appId=694685920739849";
|
||||||
|
fjs.parentNode.insertBefore(js, fjs);
|
||||||
|
}(document, 'script', 'facebook-jssdk'));</script>
|
||||||
<link rel="stylesheet" href="https://webapiv2.navionics.com/dist/webapi/webapi.min.css" >
|
<link rel="stylesheet" href="https://webapiv2.navionics.com/dist/webapi/webapi.min.css" >
|
||||||
<script type="text/javascript" src="https://webapiv2.navionics.com/dist/webapi/webapi.min.no-dep.js"></script>
|
<script type="text/javascript" src="https://webapiv2.navionics.com/dist/webapi/webapi.min.no-dep.js"></script>
|
||||||
|
<script>window.twttr = (function(d, s, id) {
|
||||||
|
var js, fjs = d.getElementsByTagName(s)[0],
|
||||||
|
t = window.twttr || {};
|
||||||
|
if (d.getElementById(id)) return t;
|
||||||
|
js = d.createElement(s);
|
||||||
|
js.id = id;
|
||||||
|
js.async=true;
|
||||||
|
js.src = "https://platform.twitter.com/widgets.js";
|
||||||
|
fjs.parentNode.insertBefore(js, fjs);
|
||||||
|
|
||||||
|
t._e = [];
|
||||||
|
t.ready = function(f) {
|
||||||
|
t._e.push(f);
|
||||||
|
};
|
||||||
|
|
||||||
|
return t;
|
||||||
|
}(document, "script", "twitter-wjs"));</script>
|
||||||
{% analytical_head_bottom %}
|
{% analytical_head_bottom %}
|
||||||
</head>
|
</head>
|
||||||
<body data-root="http://webapiv2.navionics.com/dist/webapi/images">
|
<body data-root="http://webapiv2.navionics.com/dist/webapi/images">
|
||||||
@@ -79,7 +106,10 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid_4 alpha">
|
<div class="grid_4 alpha">
|
||||||
<p>Free Data and Analysis. For Rowers. By Rowers.</p>
|
<p>Free Data and Analysis. For Rowers. By Rowers.
|
||||||
|
<a class="twitter-follow-button"
|
||||||
|
href="https://twitter.com/rowsandall">
|
||||||
|
Follow @rowsandall</a></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user