Private
Public Access
1
0

chart axes choice on multi compare view

This commit is contained in:
Sander Roosendaal
2017-02-22 17:57:07 +01:00
parent e32e2e2db5
commit 77798fe999
7 changed files with 121 additions and 54 deletions

View File

@@ -891,6 +891,7 @@ def interactive_cum_flex_chart2(theworkouts,promember=0,
yparamname1 = axlabels[yparam1] yparamname1 = axlabels[yparam1]
if yparam2 != 'None':
yparamname2 = axlabels[yparam2] yparamname2 = axlabels[yparam2]
@@ -1668,8 +1669,6 @@ def interactive_multiple_compare_chart(ids,xparam,yparam,plottype='line',
if yparam != 'time' and yparam != 'pace': if yparam != 'time' and yparam != 'pace':
plot.add_layout(ylabel) plot.add_layout(ylabel)
print cntr,id,len(group),ymean
source = ColumnDataSource( source = ColumnDataSource(
group group
) )

View File

@@ -35,6 +35,7 @@
<div id="workouts_table" class="grid_8 alpha"> <div id="workouts_table" class="grid_8 alpha">
{% if team %} {% if team %}
{% include "teambuttons.html" with teamid=team.id %}
<h3>{{ team.name }} Team Workouts</h3> <h3>{{ team.name }} Team Workouts</h3>
{% else %} {% else %}
<h3>My Workouts</h3> <h3>My Workouts</h3>

View File

@@ -34,25 +34,33 @@
</style> </style>
<div id="workouts" class="grid_12 alpha"> <div id="workouts" class="grid_8 alpha">
<h1>Interactive Comparison</h1> <h1>Interactive Comparison</h1>
<div class="grid_2 alpha"> <div class="grid_8 alpha">
<a class="button gray small" href="/rowers/list-workouts/team/{{ teamid }}/">Team Workouts</a> {% include "teambuttons.html" with teamid=teamid%}
</div> </div>
<div class="grid_2"> </div>
<a class="button gray small" href="/rowers/team-compare-select/team/{{ teamid }}/">Multi Compare</a> <div class="grid_4 omega">
<form enctype="multipart/form-data" action="/rowers/multi-compare" method="post">
{% csrf_token %}
<table>
{{ chartform.as_table }}
</table>
<div class="grid_1 prefix_2 suffix_1">
<p>
<input name='workoutselectform' class="button green" type="submit" value="Submit">
</p>
</div> </div>
<div class="grid_2 suffix_6 omega"> </form>
<a class="button gray small" href="/rowers/team/{{ teamid }}/">Team Page</a> </div>
</div> <div class="grid_12 alpha">
<div class="grid_12 alpha">
<div id="theplot" class="grid_12 alpha flexplot"> <div id="theplot" class="grid_12 alpha flexplot">
{{ the_div|safe }} {{ the_div|safe }}
</div> </div>
</div>
</div> </div>
{% endblock %} {% endblock %}

View File

@@ -5,8 +5,15 @@
{% block content %} {% block content %}
<div class="grid_12 alpha"> <div class="grid_12 alpha">
<h1>{{ team.name }}</h1> <h1>{{ team.name }}</h1>
<div class="grid_8 alpha">
{% include "teambuttons.html" with teamid=team.id %}
</div>
<div class="grid_4 omega">
<p>{{ team.notes }}</p> <p>{{ team.notes }}</p>
<p><b>Manager:</b> {{ team.manager.first_name }} {{ team.manager.last_name }}</p> <p><b>Manager:</b> {{ team.manager.first_name }} {{ team.manager.last_name }}</p>
</div>
</div>
<div class="grid_12 alpha">
{% if ismember %} {% if ismember %}
<div class="grid_2 alpha"> <div class="grid_2 alpha">
<a class="button red small" href="/rowers/team/{{ team.id }}/leaveconfirm">Leave this team</a> <a class="button red small" href="/rowers/team/{{ team.id }}/leaveconfirm">Leave this team</a>
@@ -29,6 +36,9 @@
</div> </div>
{% endif %} {% endif %}
</div>
<div class="grid_12 alpha">
<div class="grid_6 alpha"> <div class="grid_6 alpha">
<p> <p>
<h2>Members</h2> <h2>Members</h2>

View File

@@ -8,7 +8,14 @@
<div class="grid_12"> <div class="grid_12">
<div class="grid_8 suffix_4">
{% include "teambuttons.html" with teamid=teamid%}
</div>
</div>
<div class="grid_12 alpha">
<h3>{{ team.name }} Team Workouts</h3>
</div>
<div class="grid_12 alpha">
<div class="grid_4 alpha"> <div class="grid_4 alpha">
{% if team %} {% if team %}
@@ -46,9 +53,6 @@
</div> </div>
<div class="grid_12 alpha">
<h3>{{ team.name }} Team Workouts</h3>
</div>
<form enctype="multipart/form-data" action="/rowers/multi-compare" method="post"> <form enctype="multipart/form-data" action="/rowers/multi-compare" method="post">
<div id="workouts_table" class="grid_8 alpha"> <div id="workouts_table" class="grid_8 alpha">

View File

@@ -0,0 +1,9 @@
<div class="grid_2 alpha">
<a class="button gray small" href="/rowers/list-workouts/team/{{ teamid }}/">Team Workouts</a>
</div>
<div class="grid_2">
<a class="button gray small" href="/rowers/team-compare-select/team/{{ teamid }}/">Multi Compare</a>
</div>
<div class="grid_2 suffix_2 omega">
<a class="button gray small" href="/rowers/team/{{ teamid }}/">Team Page</a>
</div>

View File

@@ -2059,7 +2059,12 @@ def multi_compare_view(request):
if result: if result:
promember=1 promember=1
if request.method == 'POST': if 'ids' in request.session:
print request.session['ids']
print request.POST
if request.method == 'POST' and 'workouts' in request.POST:
form = WorkoutMultipleCompareForm(request.POST) form = WorkoutMultipleCompareForm(request.POST)
chartform = ChartParamChoiceForm(request.POST) chartform = ChartParamChoiceForm(request.POST)
if form.is_valid() and chartform.is_valid(): if form.is_valid() and chartform.is_valid():
@@ -2070,6 +2075,8 @@ def multi_compare_view(request):
plottype = chartform.cleaned_data['plottype'] plottype = chartform.cleaned_data['plottype']
teamid = chartform.cleaned_data['teamid'] teamid = chartform.cleaned_data['teamid']
ids = [int(w.id) for w in workouts] ids = [int(w.id) for w in workouts]
request.session['ids'] = ids
labeldict = { labeldict = {
int(w.id): w.__unicode__() for w in workouts int(w.id): w.__unicode__() for w in workouts
} }
@@ -2086,9 +2093,40 @@ def multi_compare_view(request):
'the_div':div, 'the_div':div,
'promember':promember, 'promember':promember,
'teamid':teamid, 'teamid':teamid,
'chartform':chartform,
}) })
else: else:
return HttpResponse("Form is not valid") return HttpResponse("Form is not valid")
if request.method == 'POST' and 'ids' in request.session:
chartform = ChartParamChoiceForm(request.POST)
if chartform.is_valid():
xparam = chartform.cleaned_data['xparam']
yparam = chartform.cleaned_data['yparam']
plottype = chartform.cleaned_data['plottype']
teamid = chartform.cleaned_data['teamid']
ids = request.session['ids']
request.session['ids'] = ids
workouts = [Workout.objects.get(id=id) for id in ids]
labeldict = {
int(w.id): w.__unicode__() for w in workouts
}
res = interactive_multiple_compare_chart(ids,xparam,yparam,
promember=promember,
plottype=plottype,
labeldict=labeldict)
script = res[0]
div = res[1]
return render(request,'multicompare.html',
{'interactiveplot':script,
'the_div':div,
'promember':promember,
'teamid':teamid,
'chartform':chartform,
})
else: else:
url = reverse(workouts_view) url = reverse(workouts_view)
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
@@ -5625,8 +5663,6 @@ def rower_teams_view(request,message='',successmessage=''):
requests = TeamRequest.objects.filter(user=request.user) requests = TeamRequest.objects.filter(user=request.user)
myrequests = TeamRequest.objects.filter(team__in=myteams) myrequests = TeamRequest.objects.filter(team__in=myteams)
myinvites = TeamInvite.objects.filter(team__in=myteams) myinvites = TeamInvite.objects.filter(team__in=myteams)
print form
return render(request, 'teams.html', return render(request, 'teams.html',
{ {