Private
Public Access
1
0

Merge branch 'release/v4.18'

This commit is contained in:
Sander Roosendaal
2017-10-09 21:40:24 +02:00
10 changed files with 119 additions and 20 deletions
+5
View File
@@ -10,6 +10,11 @@
<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">
+12 -2
View File
@@ -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>&nbsp;</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">
+17 -2
View File
@@ -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 }}&amp;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>&nbsp;</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>&nbsp;</p> <p>&nbsp;</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">
+22 -2
View File
@@ -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,6 +204,7 @@
</style> </style>
<div id="summary" class="grid_6 omega"> <div id="summary" class="grid_6 omega">
<div class="grid_5 alpha">
<h1>Workout Summary</h1> <h1>Workout Summary</h1>
<p> <p>
@@ -210,7 +217,20 @@
<a class="button green small" href="recalcsummary">Update Summary</a> <a class="button green small" href="recalcsummary">Update Summary</a>
</p> </p>
</div> </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 }}&amp;src=sdkpreparse">Share</a></div>
</div>
<div class="grid_1 alpha">
<p>&nbsp;</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>
+11
View File
@@ -28,6 +28,17 @@
<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 }}&amp;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>
+1
View File
@@ -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
View File
@@ -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,
+1
View File
@@ -64,6 +64,7 @@ INSTALLED_APPS = [
'cookielaw', 'cookielaw',
'django_extensions', 'django_extensions',
'tz_detect', 'tz_detect',
'django_social_share',
] ]
AUTHENTICATION_BACKENDS = ( AUTHENTICATION_BACKENDS = (
+2
View File
@@ -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
View File
@@ -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>