Private
Public Access
1
0

fusion done

This commit is contained in:
Sander Roosendaal
2018-10-09 11:26:15 +02:00
parent ffa523851e
commit aae0bb5cdb
3 changed files with 263 additions and 196 deletions

View File

@@ -1,17 +1,29 @@
{% extends "base.html" %}
{% extends "newbase.html" %}
{% load staticfiles %}
{% load rowerfilters %}
{% block title %}Workouts{% endblock %}
{% block content %}
{% block main %}
<div class="grid_12 alpha">
<h3>Fusion Editor</h3>
</div>
<div class="grid_12 alpha">
<div class="grid_6 alpha">
<h1>Fusion Editor</h1>
<ul class="main-content">
<li class="grid_2">
<form enctype="multipart/form-data" action="" method="post">
<p>
<table>
{{ form.as_table }}
</table>
</p>
<p>
{% csrf_token %}
<input name='fusion' class="button green" type="submit" value="Submit">
</p>
</form>
</li>
<li class="grid_2">
<p>
Adding sensor data from workout {{ workout2.id }} into workout {{ workout1.id }}.
This will create a new workout. After you submit the form, you will be
@@ -24,21 +36,13 @@
<p>
Workout 2: {{ workout2.name }}
</p>
<p>On the right hand side, please select the columns from workout 2 that
<p>Please select the columns from workout 2 that
you want to replace the equivalent columns in workout 1. </p>
</div>
<div class="grid_4">
<form enctype="multipart/form-data" action="" method="post">
<table>
{{ form.as_table }}
</table>
{% csrf_token %}
</div>
<div class="grid_2 omega">
<input name='fusion' class="button green" type="submit" value="Submit"> </form>
</div>
</div>
</li>
</ul>
{% endblock %}
{% block sidebar %}
{% include 'menu_workout.html' %}
{% endblock %}

View File

@@ -1,13 +1,13 @@
{% extends "base.html" %}
{% extends "newbase.html" %}
{% load staticfiles %}
{% load rowerfilters %}
{% block title %}Workouts{% endblock %}
{% block content %}
<div id="workouts" class="grid_4 alpha">
<div class="grid_4 alpha">
<h1>Workout {{ id }}</h1>
{% block main %}
<h1>Workout {{ id }} Sensor Fusion</h1>
<ul class="main-content">
<li>
<table width=100%>
<tr>
<th>Rower:</th><td>{{ first_name }} {{ last_name }}</td>
@@ -29,8 +29,6 @@
<th>Weight Category:</th><td>{{ workout.weightcategory }}</td>
</tr>
</table>
</div>
<div class="grid_4 alpha">
<p>
<form id="searchform" action=""
method="get" accept-charset="utf-8">
@@ -40,29 +38,66 @@
<input class="searchfield" id="searchbox" name="q" type="text" placeholder="Search">
</form>
</p>
</div>
<p>
Select start and end date for a date range:
<div class="grid_4 alpha">
<p>
</p>
<p>
<form enctype="multipart/form-data" action="/rowers/workout/fusion/{{ id }}/" method="post">
<table>
{{ dateform.as_table }}
</table>
{% csrf_token %}
</div>
<div class="grid_2 suffix_2 omega">
<input name='daterange' class="button green" type="submit" value="Submit"> </form>
</p>
</div>
</div>
<div id="fusion" class="grid_8 omega">
<h1>Fuse this workout with data from:</h1>
<input name='daterange' class="button green" type="submit" value="Submit"> </form>
</li>
<li class="grid_3">
<h1>Fuse this workout with data from:</h1>
{% if workouts %}
<p>
<span>
{% if workouts.has_previous %}
{% if request.GET.q %}
<a class="wh" href="?page=1&q={{ request.GET.q }}">
<i class="fas fa-arrow-alt-to-left"></i>
</a>
<a class="wh" href="?page={{ workouts.previous_page_number }}&q={{ request.GET.q }}">
<i class="fas fa-arrow-alt-left"></i>
</a>
{% else %}
<a class="wh" href="?page=1">
<i class="fas fa-arrow-alt-to-left"></i>
</a>
<a class="wh" href="?page={{ workouts.previous_page_number }}">
<i class="fas fa-arrow-alt-left"></i>
</a>
{% endif %}
{% endif %}
<span>
Page {{ workouts.number }} of {{ workouts.paginator.num_pages }}.
</span>
{% if workouts.has_next %}
{% if request.GET.q %}
<a class="wh" href="?page={{ workouts.next_page_number }}&q={{ request.GET.q }}">
<i class="fas fa-arrow-alt-right"></i>
</a>
<a class="wh" href="?page={{ workouts.paginator.num_pages }}&q={{ request.GET.q }}">
<i class="fas fa-arrow-alt-to-right">
</a>
{% else %}
<a class="wh" href="?page={{ workouts.next_page_number }}">
<i class="fas fa-arrow-alt-right"></i>
</a>
<a class="wh" href="?page={{ workouts.paginator.num_pages }}">
<i class="fas fa-arrow-alt-to-right"></i>
</a>
{% endif %}
{% endif %}
</span>
</p>
<table width="100%" class="listtable">
<thead>
<tr>
@@ -77,7 +112,7 @@
<th> Fusion</th>
</tr>
</thead>
</tbody>
<tbody>
{% for cworkout in workouts %}
<tr>
<td> {{ cworkout.date }} </td>
@@ -101,21 +136,10 @@
{% else %}
<p> No workouts found </p>
{% endif %}
<div class="grid_2 prefix_5 suffix_1 omega">
<span class="button gray small">
{% if workouts.has_previous %}
<a class="wh" href="/rowers/workout/fusion/{{ id }}/{{ startdate|date:"Y-m-d" }}/{{ enddate|date:"Y-m-d" }}?page={{ workouts.previous_page_number }}">&lt;</a>
{% endif %}
<span>
Page {{ workouts.number }} of {{ workouts.paginator.num_pages }}.
</span>
{% if workouts.has_next %}
<a class="wh" href="/rowers/workout/fusion/{{ id }}/{{ startdate|date:"Y-m-d" }}/{{ enddate|date:"Y-m-d" }}?page={{ workouts.next_page_number }}">&gt;</a>
{% endif %}
</span>
</div>
</div>
</li>
</ul>
{% endblock %}
{% block sidebar %}
{% include 'menu_workout.html' %}
{% endblock %}

View File

@@ -6528,6 +6528,9 @@ def workout_fusion_list(request,id=0,message='',successmessage='',
try:
r = getrower(request.user)
except Rower.DoesNotExist:
raise Http404("User has no rower instance")
u = User.objects.get(id=r.user.id)
if request.method == 'POST':
dateform = DateRangeForm(request.POST)
@@ -6582,9 +6585,28 @@ def workout_fusion_list(request,id=0,message='',successmessage='',
messages.info(request,successmessage)
messages.error(request,message)
breadcrumbs = [
{
'url':'/rowers/list-workouts',
'name':'Workouts'
},
{
'url':get_workout_default_page(request,row.id),
'name': str(row.id)
},
{
'url':reverse(workout_fusion_list,kwargs={'id':id}),
'name': 'Sensor Fusion'
}
]
return render(request, 'fusion_list.html',
{'id':int(id),
'workout':row,
'rower':r,
'active':'nav-workouts',
'breadcrumbs':breadcrumbs,
'workouts': workouts,
'last_name':u.last_name,
'first_name':u.first_name,
@@ -6593,8 +6615,6 @@ def workout_fusion_list(request,id=0,message='',successmessage='',
'enddate':enddate,
'teams':get_my_teams(request.user),
})
except Rower.DoesNotExist:
raise Http404("User has no rower instance")
# Basic view of workout
def workout_view(request,id=0):
@@ -11021,6 +11041,9 @@ def workout_split_view(request,id=id):
# Fuse two workouts
@user_passes_test(ispromember,login_url="/",redirect_field_name=None)
def workout_fusion_view(request,id1=0,id2=1):
r = getrower(request.user)
try:
w1 = Workout.objects.get(id=id1)
w2 = Workout.objects.get(id=id2)
@@ -11062,19 +11085,35 @@ def workout_fusion_view(request,id1=0,id2=1):
return HttpResponseRedirect(url)
else:
return render(request, 'fusion.html',
{'form':form,
'teams':get_my_teams(request.user),
'workout1':w1,
'workout2':w2,
})
form = FusionMetricChoiceForm(instance=w2)
breadcrumbs = [
{
'url':'/rowers/list-workouts',
'name':'Workouts'
},
{
'url':get_workout_default_page(request,w1.id),
'name': str(w1.id)
},
{
'url':reverse(workout_fusion_list,kwargs={'id':id1}),
'name': 'Sensor Fusion'
},
{
'url':reverse(workout_fusion_view,kwargs={'id1':id1,'id2':id2}),
'name': 'Sensor Fusion'
}
]
return render(request, 'fusion.html',
{'form':form,
'teams':get_my_teams(request.user),
'workout':w1,
'rower':r,
'breadcrumbs':breadcrumbs,
'active':'nav-workouts',
'workout1':w1,
'workout2':w2,
})