Private
Public Access
1
0

comparison with preselected workout

This commit is contained in:
Sander Roosendaal
2018-10-25 15:08:44 +02:00
parent 7b50ff5196
commit 3739cdbda9
4 changed files with 84 additions and 55 deletions

View File

@@ -41,13 +41,11 @@
<i class="fal fa-table fa-fw"></i>&nbsp;Statistics <i class="fal fa-table fa-fw"></i>&nbsp;Statistics
</a> </a>
</li> </li>
<!-- <li id="compare">
<li id="compare"> <a href="/rowers/multi-compare/workout/{{ workout.id }}">
<a href="/rowers/multi-compare"> <i class="fas fa-balance-scale fa-fw"></i>&nbsp;Compare
<i class="fas fa-balance-scale fa-fw"></i>&nbsp;Compare
</a> </a>
</li> </li>
-->
{% if user.is_authenticated and workout|may_edit:request %} {% if user.is_authenticated and workout|may_edit:request %}
<li id="chart-image"> <li id="chart-image">
<a href="/rowers/workout/{{ workout.id }}/image"> <a href="/rowers/workout/{{ workout.id }}/image">

View File

@@ -83,6 +83,31 @@
your workouts. That makes it easy to search. your workouts. That makes it easy to search.
</p> </p>
</li> </li>
<li class="grid_2">
<form enctype="multipart/form-data"
action="/rowers/team-compare-select/team/{{ team.id }}"
method="post">
<table>
{{ dateform.as_table }}
</table>
<table>
{{ modalityform.as_table }}
</table>
{% csrf_token %}
<p>
<input name='modalityform' class="button green" type="submit" value="Filter">
</p>
</form>
</li>
<li class="grid_2">
<form id="searchform" action=""
method="get" accept-charset="utf-8">
<input class="searchfield" id="searchbox" name="q" type="text" placeholder="Search">
<button class="button blue small" type="submit">
Search
</button>
</form>
</li>
<li class="grid_2 maxheight"> <li class="grid_2 maxheight">
{% if workouts %} {% if workouts %}
<form enctype="multipart/form-data" action="/rowers/multi-compare" method="post"> <form enctype="multipart/form-data" action="/rowers/multi-compare" method="post">
@@ -109,42 +134,6 @@
</p> </p>
</form> </form>
</li> </li>
<li class="grid_2">
{% if team %}
<form enctype="multipart/form-data"
action="/rowers/team-compare-select/team/{{ team.id }}"
method="post">
{% else %}
<form enctype="multipart/form-data"
action="/rowers/team-compare-select/"
method="post">
{% endif %}
<table>
{{ dateform.as_table }}
</table>
<table>
{{ modalityform.as_table }}
</table>
{% csrf_token %}
<p>
<input name='modalityform' class="button green" type="submit" value="Submit">
</p>
</form>
</li>
<li class="grid_2">
{% if team %}
<form id="searchform" action=""
method="get" accept-charset="utf-8">
{% else %}
<form id="searchform" action="/rowers/team-compare-select/{{ startdate|date:"Y-m-d" }}/{{ enddate|date:"Y-m-d" }}"
method="get" accept-charset="utf-8">
{% endif %}
<input class="searchfield" id="searchbox" name="q" type="text" placeholder="Search">
<button class="button blue small" type="submit">
Search
</button>
</form>
</li>
</ul> </ul>
{% endblock %} {% endblock %}

View File

@@ -156,8 +156,13 @@ urlpatterns = [
url(r'^courses/upload$',views.course_upload_view), url(r'^courses/upload$',views.course_upload_view),
url(r'^addmanual/$',views.addmanual_view), url(r'^addmanual/$',views.addmanual_view),
url(r'^team-compare-select/team/(?P<teamid>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)$',views.team_comparison_select), url(r'^team-compare-select/team/(?P<teamid>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)$',views.team_comparison_select),
url(r'^team-compare-select/team/(?P<teamid>\d+)/$',views.team_comparison_select), url(r'^team-compare-select/workout/(?P<id>\d+)/team/(?P<teamid>\d+)/$',views.team_comparison_select),
url(r'^team-compare-select/team/(?P<teamid>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)$',views.team_comparison_select),
url(r'^team-compare-select/workout/(?P<id>\d+)/team/(?P<teamid>\d+)/$',views.team_comparison_select),
url(r'^team-compare-select/workout/(?P<id>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)$',views.team_comparison_select),
url(r'^team-compare-select/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)$',views.team_comparison_select), url(r'^team-compare-select/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)$',views.team_comparison_select),
url(r'^team-compare-select/workout/(?P<id>\d+)/$',views.team_comparison_select),
url(r'^team-compare-select/team/(?P<teamid>\d+)$',views.team_comparison_select),
url(r'^team-compare-select/$',views.team_comparison_select), url(r'^team-compare-select/$',views.team_comparison_select),
url(r'^workouts-join-select/team/(?P<teamid>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)$',views.workouts_join_select), url(r'^workouts-join-select/team/(?P<teamid>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)$',views.workouts_join_select),
url(r'^workouts-join$',views.workouts_join_view), url(r'^workouts-join$',views.workouts_join_view),
@@ -328,6 +333,7 @@ urlpatterns = [
url(r'^workout/(?P<id>\d+)/runkeeperuploadw/$',views.workout_runkeeper_upload_view), url(r'^workout/(?P<id>\d+)/runkeeperuploadw/$',views.workout_runkeeper_upload_view),
url(r'^workout/(?P<id>\d+)/underarmouruploadw/$',views.workout_underarmour_upload_view), url(r'^workout/(?P<id>\d+)/underarmouruploadw/$',views.workout_underarmour_upload_view),
url(r'^workout/(?P<id>\d+)/tpuploadw/$',views.workout_tp_upload_view), url(r'^workout/(?P<id>\d+)/tpuploadw/$',views.workout_tp_upload_view),
url(r'^multi-compare/workout/(?P<id>\d+)$',views.multi_compare_view),
url(r'^multi-compare$',views.multi_compare_view), url(r'^multi-compare$',views.multi_compare_view),
url(r'^user-boxplot/user/(?P<userid>\d+)$',views.boxplot_view), url(r'^user-boxplot/user/(?P<userid>\d+)$',views.boxplot_view),
url(r'^user-boxplot$',views.boxplot_view), url(r'^user-boxplot$',views.boxplot_view),

View File

@@ -5250,6 +5250,7 @@ def team_comparison_select(request,
successmessage='', successmessage='',
startdate=timezone.now()-datetime.timedelta(days=30), startdate=timezone.now()-datetime.timedelta(days=30),
enddate=timezone.now(), enddate=timezone.now(),
id=0,
teamid=0): teamid=0):
try: try:
@@ -5371,7 +5372,7 @@ def team_comparison_select(request,
if rankingonly: if rankingonly:
workouts = [w for w in workouts if w.rankingpiece] 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()
@@ -5382,8 +5383,22 @@ def team_comparison_select(request,
(Q(notes__icontains=q) for q in query_list)) (Q(notes__icontains=q) for q in query_list))
) )
if id:
firstworkout = get_workout(id)
if not checkworkoutuser(request.user,firstworkout):
raise PermissionDenied("You are not allowed to sue this workout")
firstworkoutquery = Workout.objects.filter(id=id)
workouts = firstworkoutquery | workouts
else:
firstworkout = None
form = WorkoutMultipleCompareForm() form = WorkoutMultipleCompareForm()
form.fields["workouts"].queryset = workouts form.fields["workouts"].queryset = workouts
if id:
form.fields["workouts"].initial = [firstworkout]
if theteam: if theteam:
theid = theteam.id theid = theteam.id
@@ -5396,20 +5411,38 @@ def team_comparison_select(request,
messages.error(request,message) messages.error(request,message)
r = getrower(request.user) r = getrower(request.user)
breadcrumbs = [
{
'url':'/rowers/list-workouts',
'name':'Workouts'
},
{
'url':reverse(team_comparison_select,kwargs={'teamid':teamid}),
'name': 'Compare Select'
},
if id:
breadcrumbs = [
{
'url':'/rowers/list-workouts',
'name':'Workouts'
},
{
'url':get_workout_default_page(request,id),
'name': str(id)
},
{
'url':reverse(team_comparison_select,kwargs={'id':id,'teamid':teamid}),
'name':'Compare Select'
},
] ]
else:
breadcrumbs = [
{
'url':'/rowers/list-workouts',
'name':'Workouts'
},
{
'url':reverse(team_comparison_select,kwargs={'teamid':teamid}),
'name': 'Compare Select'
},
]
return render(request, 'team_compare_select.html', return render(request, 'team_compare_select.html',
{'workouts': workouts, {'workouts': workouts,
'workout':firstworkout,
'dateform':dateform, 'dateform':dateform,
'startdate':startdate, 'startdate':startdate,
'enddate':enddate, 'enddate':enddate,
@@ -5426,7 +5459,7 @@ def team_comparison_select(request,
# Team comparison # Team comparison
@login_required() @login_required()
def multi_compare_view(request): def multi_compare_view(request,id=0):
promember=0 promember=0
if not request.user.is_anonymous(): if not request.user.is_anonymous():
r = getrower(request.user) r = getrower(request.user)
@@ -5542,7 +5575,10 @@ def multi_compare_view(request):
}) })
else: else:
url = reverse(workouts_view) url = reverse(team_comparison_select,
kwargs={
'id':id,
'teamid':0})
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
# Multi Flex Chart with Grouping # Multi Flex Chart with Grouping