comparison with preselected workout
This commit is contained in:
@@ -41,13 +41,11 @@
|
|||||||
<i class="fal fa-table fa-fw"></i> Statistics
|
<i class="fal fa-table fa-fw"></i> 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> Compare
|
||||||
<i class="fas fa-balance-scale fa-fw"></i> 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">
|
||||||
|
|||||||
@@ -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 %}
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user