teamcreate done
This commit is contained in:
@@ -32,27 +32,27 @@ import courses
|
||||
|
||||
from rowers.tasks import handle_check_race_course
|
||||
|
||||
def get_todays_micro(plan):
|
||||
def get_todays_micro(plan,thedate=date.today()):
|
||||
thismicro = None
|
||||
|
||||
thismacro = TrainingMacroCycle.objects.filter(
|
||||
plan=plan,
|
||||
startdate__lte = date.today(),
|
||||
enddate__gte = date.today()
|
||||
startdate__lte = thedate,
|
||||
enddate__gte = thedate
|
||||
)
|
||||
|
||||
if thismacro:
|
||||
thismeso = TrainingMesoCycle.objects.filter(
|
||||
plan=thismacro[0],
|
||||
startdate__lte = date.today(),
|
||||
enddate__gte = date.today()
|
||||
startdate__lte = thedate,
|
||||
enddate__gte = thedate
|
||||
)
|
||||
|
||||
if thismeso:
|
||||
thismicro = TrainingMicroCycle.objects.filter(
|
||||
plan=thismeso[0],
|
||||
startdate__lte = date.today(),
|
||||
enddate__gte = date.today()
|
||||
startdate__lte = thedate,
|
||||
enddate__gte = thedate
|
||||
)
|
||||
|
||||
if thismicro:
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
</li>
|
||||
{% for plan in rower|trainingplans %}
|
||||
<li id="plan-{{ plan.id }}">
|
||||
<a href="/rowers/plan/{{ plan.id }}">
|
||||
<a href="/rowers/plan/{{ plan.id }}/">
|
||||
<i class="fal fa-calendar-alt fa-fw"></i> {{ plan.name }}
|
||||
</a>
|
||||
</li>
|
||||
@@ -29,17 +29,17 @@
|
||||
</label>
|
||||
<ul>
|
||||
<li id="sessions-list">
|
||||
<a href="">
|
||||
<a href="/rowers/sessions/">
|
||||
<i class="far fa-calendar-alt fa-fw"></i> Sessions
|
||||
</a>
|
||||
</li>
|
||||
<li id="sessions-link">
|
||||
<a href="">
|
||||
<a href="/rowers/sessions/manage/">
|
||||
<i class="fas fa-tasks fa-fw"></i> Link Workouts
|
||||
</a>
|
||||
</li>
|
||||
<li id="sessions-coach">
|
||||
<a href="">
|
||||
<li id="sessions-coach/">
|
||||
<a href="/rowers/sessions/coach">
|
||||
<i class="fas fa-bullhorn fa-fw"></i> Coach View
|
||||
</a>
|
||||
</li>
|
||||
@@ -52,17 +52,17 @@
|
||||
</label>
|
||||
<ul>
|
||||
<li id="plan-session">
|
||||
<a href="">
|
||||
<a href="/rowers/sessions/create/">
|
||||
<i class="far fa-calendar-plus fa-fw"></i> Add Session
|
||||
</a>
|
||||
</li>
|
||||
<li id="plan-teamsession">
|
||||
<a href="">
|
||||
<a href="/rowers/sessions/teamcreate/">
|
||||
<i class="fas fa-whistle fa-fw"></i> Add Team Session
|
||||
</a>
|
||||
</li>
|
||||
<li id="plan-microcycle">
|
||||
<a href="">
|
||||
<a href="/rowers/sessions/multicreate/">
|
||||
<i class="fas fa-expand fa-fw"></i>Plan Microcycle
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -61,4 +61,3 @@
|
||||
</li>
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
@@ -1,134 +1,90 @@
|
||||
{% extends "base.html" %}
|
||||
{% extends "newbase.html" %}
|
||||
{% load staticfiles %}
|
||||
{% load rowerfilters %}
|
||||
|
||||
{% block title %}New Planned Session{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="grid_12 alpha">
|
||||
{% include "planningbuttons.html" %}
|
||||
</div>
|
||||
{% block main %}
|
||||
<h1>Create Team Session</h1>
|
||||
|
||||
<div class="grid_12 alpha">
|
||||
<div id="left" class="grid_6 alpha">
|
||||
<h1>Create Team Session</h1>
|
||||
</div>
|
||||
<div id="timeperiod" class="grid_2 dropdown">
|
||||
<button class="grid_2 alpha button gray small dropbtn">Select Time Period ({{ timeperiod|verbosetimeperiod }})</button>
|
||||
<div class="dropdown-content">
|
||||
<a class="button gray small alpha"
|
||||
href="/rowers/sessions/create/today/rower/{{ rower.id }}">
|
||||
Today
|
||||
</a>
|
||||
<a class="button gray small alpha"
|
||||
href="/rowers/sessions/create/thisweek/rower/{{ rower.id }}">
|
||||
This Week
|
||||
</a>
|
||||
<a class="button gray small alpha"
|
||||
href="/rowers/sessions/create/thismonth/rower/{{ rower.id }}">
|
||||
This Month
|
||||
</a>
|
||||
<a class="button gray small alpha"
|
||||
href="/rowers/sessions/create/lastweek/rower/{{ rower.id }}">
|
||||
Last Week
|
||||
</a>
|
||||
<a class="button gray small alpha"
|
||||
href="/rowers/sessions/create/lastmonth/rower/{{ rower.id }}">
|
||||
Last Month
|
||||
</a>
|
||||
<a class="button gray small alpha"
|
||||
href="/rowers/sessions/create/nextweek/rower/{{ rower.id }}">
|
||||
Next Week
|
||||
</a>
|
||||
<a class="button gray small alpha"
|
||||
href="/rowers/sessions/create/nextmonth/rower/{{ rower.id }}">
|
||||
Next Month
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grid_12 alpha">
|
||||
<form enctype="multipart/form-data" action="{{ formloc }}" method="post">
|
||||
{% if form.errors %}
|
||||
<p style="color: red;">
|
||||
Please correct the error{{ form.errors|pluralize }} below.
|
||||
</p>
|
||||
{% endif %}
|
||||
<form enctype="multipart/form-data" action="{{ formloc }}" method="post">
|
||||
{% if form.errors %}
|
||||
<p style="color: red;">
|
||||
Please correct the error{{ form.errors|pluralize }} below.
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
<ul class="main-content">
|
||||
<li class="grid_2">
|
||||
{% csrf_token %}
|
||||
|
||||
<div id="right" class="grid_6 alpha">
|
||||
<h1>Select Team</h1>
|
||||
<p>
|
||||
<table>
|
||||
{{ teamform.as_table }}
|
||||
</table></p>
|
||||
{% if plannedsessions %}
|
||||
<h1>Team Plan Sessions</h1>
|
||||
<p>
|
||||
<table class="listtable shortpadded" width="80%">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>After</th>
|
||||
<th>Before</th>
|
||||
<th>Name</th>
|
||||
<th>Value</th>
|
||||
<th> </th>
|
||||
<th>Edit</th>
|
||||
<th>Clone</th>
|
||||
<th>Delete</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for ps in plannedsessions %}
|
||||
<tr>
|
||||
<td> {{ ps.startdate|date:"Y-m-d" }} </td>
|
||||
<td> {{ ps.enddate|date:"Y-m-d" }} </td>
|
||||
<td>
|
||||
{% if ps.name != '' %}
|
||||
<a class="small"
|
||||
href="/rowers/sessions/{{ ps.id }}">{{ ps.name }}</a>
|
||||
{% else %}
|
||||
<a class="small"
|
||||
href="/rowers/sessions/{{ ps.id }}">Unnamed Session</a>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td> {{ ps.sessionvalue }} </td>
|
||||
<td> {{ ps.sessionunit }} </td>
|
||||
<td>
|
||||
<a class="small" href="/rowers/sessions/{{ ps.id }}/edit">Edit</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="small" href="/rowers/sessions/{{ ps.id }}/clone">Clone</a>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<a class="small" href="/rowers/sessions/{{ ps.id }}/deleteconfirm">Delete</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="grid_6 omega">
|
||||
<h1>New Session</h1>
|
||||
<h1>Select Team</h1>
|
||||
<p>
|
||||
<table>
|
||||
{{ teamform.as_table }}
|
||||
</table></p>
|
||||
{% if plannedsessions %}
|
||||
<h1>Team Plan Sessions</h1>
|
||||
<p>
|
||||
<table class="listtable shortpadded" width="80%">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>After</th>
|
||||
<th>Before</th>
|
||||
<th>Name</th>
|
||||
<th>Value</th>
|
||||
<th> </th>
|
||||
<th>Edit</th>
|
||||
<th>Clone</th>
|
||||
<th>Delete</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for ps in plannedsessions %}
|
||||
<tr>
|
||||
<td> {{ ps.startdate|date:"Y-m-d" }} </td>
|
||||
<td> {{ ps.enddate|date:"Y-m-d" }} </td>
|
||||
<td>
|
||||
{% if ps.name != '' %}
|
||||
<a class="small"
|
||||
href="/rowers/sessions/{{ ps.id }}">{{ ps.name }}</a>
|
||||
{% else %}
|
||||
<a class="small"
|
||||
href="/rowers/sessions/{{ ps.id }}">Unnamed Session</a>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td> {{ ps.sessionvalue }} </td>
|
||||
<td> {{ ps.sessionunit }} </td>
|
||||
<td>
|
||||
<a class="small" href="/rowers/sessions/{{ ps.id }}/edit">Edit</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="small" href="/rowers/sessions/{{ ps.id }}/clone">Clone</a>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<a class="small" href="/rowers/sessions/{{ ps.id }}/deleteconfirm">Delete</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</p>
|
||||
{% endif %}
|
||||
</li>
|
||||
<li class="grid_2">
|
||||
<h1>New Session</h1>
|
||||
<table>
|
||||
{{ form.as_table }}
|
||||
</table>
|
||||
<div id="formbutton" class="grid_1 prefix_4 suffix_1">
|
||||
<input class="button green" type="submit" value="Save">
|
||||
<input class="button green" type="submit" value="Save">
|
||||
<div id="id_guidance" class="padded">
|
||||
|
||||
</div>
|
||||
</form>
|
||||
<div class="grid_6" id="id_guidance">
|
||||
</li>
|
||||
</ul>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block scripts %}
|
||||
@@ -234,3 +190,7 @@
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
{% include 'menu_plan.html' %}
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
{% extends "base.html" %}
|
||||
{% extends "newbase.html" %}
|
||||
|
||||
{% block content %}
|
||||
{% if form.errors %}
|
||||
<p style="color: red;">
|
||||
Please correct the error{{ form.errors|pluralize }} below.
|
||||
</p>
|
||||
{% endif %}
|
||||
<div class="grid_12 alpha">
|
||||
<h1>Stroke Data for workout {{ id }}</h1>
|
||||
{% block main %}
|
||||
{% if form.errors %}
|
||||
<p style="color: red;">
|
||||
Please correct the error{{ form.errors|pluralize }} below.
|
||||
</p>
|
||||
{% endif %}
|
||||
<h1>Stroke Data for workout</h1>
|
||||
|
||||
<form enctype="application/json" action="/rowers/api/workouts/{{ id }}/strokedata" method="post">
|
||||
<table>
|
||||
{{ form.as_table }}
|
||||
</table>
|
||||
{% csrf_token %}
|
||||
<div class="grid_2 prefix_2 suffix_2">
|
||||
<input class="button green" type="submit" value="POST">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<form enctype="application/json" action="/rowers/api/workouts/{{ id }}/strokedata" method="post">
|
||||
<table>
|
||||
{{ form.as_table }}
|
||||
</table>
|
||||
{% csrf_token %}
|
||||
<input class="button green" type="submit" value="POST">
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
{% include 'menu_workout.html' %}
|
||||
{% endblock %}
|
||||
|
||||
@@ -39,9 +39,9 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<a href="/rowers/macrocycle/{{ macrocycle.0.id }}">edit</a>
|
||||
<a href="/rowers/macrocycle/{{ macrocycle.0.id }}/">edit</a>
|
||||
/
|
||||
<a href="/rowers/deletemacrocycle/{{ macrocycle.0.id }}">delete</a>
|
||||
<a href="/rowers/deletemacrocycle/{{ macrocycle.0.id }}/">delete</a>
|
||||
/
|
||||
<a href='/rowers/sessions/{{ macrocycle.0.startdate|date:"Y-m-d" }}/{{ macrocycle.0.enddate|date:"Y-m-d" }}'>sessions</a>
|
||||
</td>
|
||||
@@ -95,9 +95,9 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<a href="/rowers/macrocycle/{{ macrocycle.0.id }}">edit</a>
|
||||
<a href="/rowers/macrocycle/{{ macrocycle.0.id }}/">edit</a>
|
||||
/
|
||||
<a href="/rowers/deletemacrocycle/{{ macrocycle.0.id }}">delete</a>
|
||||
<a href="/rowers/deletemacrocycle/{{ macrocycle.0.id }}/">delete</a>
|
||||
/
|
||||
<a href='/rowers/sessions/{{ macrocycle.0.startdate|date:"Y-m-d" }}/{{ macrocycle.0.enddate|date:"Y-m-d" }}'>sessions</a>
|
||||
</td>
|
||||
@@ -140,9 +140,9 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<a href="/rowers/mesocycle/{{ mesocycle.0.id }}">edit</a>
|
||||
<a href="/rowers/mesocycle/{{ mesocycle.0.id }}/">edit</a>
|
||||
/
|
||||
<a href="/rowers/deletemesocycle/{{ mesocycle.0.id }}">delete</a>
|
||||
<a href="/rowers/deletemesocycle/{{ mesocycle.0.id }}/">delete</a>
|
||||
/
|
||||
<a href='/rowers/sessions/{{ mesocycle.0.startdate|date:"Y-m-d" }}/{{ mesocycle.0.enddate|date:"Y-m-d" }}'>sessions</a>
|
||||
</td>
|
||||
@@ -197,9 +197,9 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<a href="/rowers/mesocycle/{{ mesocycle.0.id }}">edit</a>
|
||||
<a href="/rowers/mesocycle/{{ mesocycle.0.id }}/">edit</a>
|
||||
/
|
||||
<a href="/rowers/deletemesocycle/{{ mesocycle.0.id }}">delete</a>
|
||||
<a href="/rowers/deletemesocycle/{{ mesocycle.0.id }}/">delete</a>
|
||||
/
|
||||
<a href='/rowers/sessions/{{ mesocycle.0.startdate|date:"Y-m-d" }}/{{ mesocycle.0.enddate|date:"Y-m-d" }}'>sessions</a>
|
||||
</td>
|
||||
@@ -247,9 +247,9 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<a href="/rowers/microcycle/{{ microcycle.id }}">edit</a>
|
||||
<a href="/rowers/microcycle/{{ microcycle.id }}/">edit</a>
|
||||
/
|
||||
<a href="/rowers/deletemicrocycle/{{ microcycle.id }}">delete</a>
|
||||
<a href="/rowers/deletemicrocycle/{{ microcycle.id }}/">delete</a>
|
||||
/
|
||||
<a href='/rowers/sessions/{{ microcycle.startdate|date:"Y-m-d" }}/{{ microcycle.enddate|date:"Y-m-d" }}'>sessions</a>
|
||||
</td>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{% extends "base.html" %}
|
||||
{% extends "newbase.html" %}
|
||||
{% load staticfiles %}
|
||||
{% load rowerfilters %}
|
||||
|
||||
@@ -8,25 +8,20 @@
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<style>
|
||||
#mypointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
{% block main %}
|
||||
|
||||
<div class="grid_12">
|
||||
<form action="" method="post">
|
||||
{% csrf_token %}
|
||||
<table>
|
||||
{{ form.as_table }}
|
||||
</table>
|
||||
<input class="button green" type="submit" value="Save">
|
||||
</form>
|
||||
|
||||
<form action="" method="post">
|
||||
{% csrf_token %}
|
||||
<table>
|
||||
{{ form.as_table }}
|
||||
</table>
|
||||
<div class="grid_1 prefix_2 suffix_9 alpha">
|
||||
<input class="button green" type="submit" value="Save">
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
{% include 'menu_plan.html' %}
|
||||
{% endblock %}
|
||||
|
||||
|
||||
@@ -57,7 +57,10 @@ def secondstotimestring(tdelta):
|
||||
|
||||
@register.filter
|
||||
def aantalcomments(workout):
|
||||
comments = WorkoutComment.objects.filter(workout=workout)
|
||||
try:
|
||||
comments = WorkoutComment.objects.filter(workout=workout)
|
||||
except:
|
||||
return 0
|
||||
|
||||
aantalcomments = len(comments)
|
||||
|
||||
|
||||
@@ -415,9 +415,9 @@ urlpatterns = [
|
||||
url(r'^createplan/$',views.rower_create_trainingplan),
|
||||
url(r'^createplan/user/(?P<userid>\d+)/$',views.rower_create_trainingplan),
|
||||
url(r'^deleteplan/(?P<pk>\d+)$',views.TrainingPlanDelete.as_view()),
|
||||
url(r'^deletemicrocycle/(?P<pk>\d+)$',views.MicroCycleDelete.as_view()),
|
||||
url(r'^deletemesocycle/(?P<pk>\d+)$',views.MesoCycleDelete.as_view()),
|
||||
url(r'^deletemacrocycle/(?P<pk>\d+)$',views.MacroCycleDelete.as_view()),
|
||||
url(r'^deletemicrocycle/(?P<pk>\d+)/$',views.MicroCycleDelete.as_view()),
|
||||
url(r'^deletemesocycle/(?P<pk>\d+)/$',views.MesoCycleDelete.as_view()),
|
||||
url(r'^deletemacrocycle/(?P<pk>\d+)/$',views.MacroCycleDelete.as_view()),
|
||||
# url(r'^deleteplan/(?P<id>\d+)$',views.rower_delete_trainingplan),
|
||||
url(r'^plan/(?P<id>\d+)/$',views.rower_trainingplan_view),
|
||||
url(r'^plan/(?P<id>\d+)/user/(?P<userid>\d+)/$',views.rower_trainingplan_view),
|
||||
@@ -427,22 +427,24 @@ urlpatterns = [
|
||||
url(r'^plan/(?P<id>\d+)/meso/(?P<thismesoid>\d+)/user/(?P<userid>\d+)/$',views.rower_trainingplan_view),
|
||||
url(r'^plan/(?P<id>\d+)/macro/(?P<thismacroid>\d+)/$',views.rower_trainingplan_view),
|
||||
url(r'^plan/(?P<id>\d+)/macro/(?P<thismacroid>\d+)/user/(?P<userid>\d+)/$',views.rower_trainingplan_view),
|
||||
url(r'^macrocycle/(?P<pk>\d+)$',views.TrainingMacroCycleUpdate.as_view()),
|
||||
url(r'^mesocycle/(?P<pk>\d+)$',views.TrainingMesoCycleUpdate.as_view()),
|
||||
url(r'^microcycle/(?P<pk>\d+)$',views.TrainingMicroCycleUpdate.as_view()),
|
||||
url(r'^deletetarget/(?P<id>\d+)$',views.rower_delete_trainingtarget),
|
||||
url(r'^editplan/(?P<pk>\d+)$',views.TrainingPlanUpdate.as_view()),
|
||||
url(r'^edittarget/(?P<pk>\d+)$',views.TrainingTargetUpdate.as_view()),
|
||||
url(r'^macrocycle/(?P<pk>\d+)/$',views.TrainingMacroCycleUpdate.as_view(),
|
||||
name='macrocycle_update_view'),
|
||||
url(r'^mesocycle/(?P<pk>\d+)/$',views.TrainingMesoCycleUpdate.as_view(),
|
||||
name='mesocycle_update_view'),
|
||||
url(r'^microcycle/(?P<pk>\d+)/$',views.TrainingMicroCycleUpdate.as_view(),
|
||||
name='microcycle_update_view'),
|
||||
url(r'^deletetarget/(?P<id>\d+)/$',views.rower_delete_trainingtarget),
|
||||
url(r'^editplan/(?P<pk>\d+)$',views.TrainingPlanUpdate.as_view(),
|
||||
name='trainingplan_update_view'),
|
||||
url(r'^edittarget/(?P<pk>\d+)/$',views.TrainingTargetUpdate.as_view(),
|
||||
name='trainingtarget_update_view'),
|
||||
url(r'^workout/(?P<id>\d+)/test\_strokedata$',views.strokedataform),
|
||||
|
||||
url(r'^sessions/teamcreate$',views.plannedsession_teamcreate_view),
|
||||
url(r'^sessions/teamcreate/(?P<timeperiod>[\w\ ]+.*)$',
|
||||
url(r'^sessions/teamcreate/user/(?P<userid>\d+)/$',views.plannedsession_teamcreate_view),
|
||||
url(r'^sessions/teamcreate/team/(?P<teamid>\d+)/user/(?P<userid>\d+)/$',
|
||||
views.plannedsession_teamcreate_view),
|
||||
url(r'^sessions/teamcreate/(?P<timeperiod>[\w\ ]+.*)/team/(?P<teamid>\d+)$',
|
||||
url(r'^sessions/teamcreate/$',views.plannedsession_teamcreate_view),
|
||||
url(r'^sessions/teamcreate/team/$',
|
||||
views.plannedsession_teamcreate_view),
|
||||
url(r'^sessions/teamcreate/team/(?P<teamid>\d+)$',
|
||||
views.plannedsession_teamcreate_view),
|
||||
|
||||
url(r'^sessions/teamedit/(?P<sessionid>\d+)$',views.plannedsession_teamedit_view),
|
||||
url(r'^sessions/teamedit/(?P<sessionid>\d+)/(?P<timeperiod>[\w\ ]+.*)$',views.plannedsession_teamedit_view),
|
||||
|
||||
|
||||
281
rowers/views.py
281
rowers/views.py
@@ -12663,13 +12663,25 @@ def trydf(df,aantal,column):
|
||||
# Stroke data form to test API upload
|
||||
@login_required()
|
||||
def strokedataform(request,id=0):
|
||||
|
||||
try:
|
||||
id=int(id)
|
||||
except ValueError:
|
||||
id = 0
|
||||
|
||||
try:
|
||||
w = Workout.objects.get(id=id)
|
||||
except Workout.DoesNotExist:
|
||||
raise Http404("Workout doesn't exist")
|
||||
|
||||
if request.method == 'GET':
|
||||
form = StrokeDataForm()
|
||||
return render(request, 'strokedata_form.html',
|
||||
{
|
||||
'form':form,
|
||||
'teams':get_my_teams(request.user),
|
||||
'id':int(id),
|
||||
'id':id,
|
||||
'workout':w,
|
||||
})
|
||||
elif request.method == 'POST':
|
||||
form = StrokeDataForm()
|
||||
@@ -12678,7 +12690,8 @@ def strokedataform(request,id=0):
|
||||
{
|
||||
'form':form,
|
||||
'teams':get_my_teams(request.user),
|
||||
'id':int(id),
|
||||
'id':id,
|
||||
'workout':w,
|
||||
})
|
||||
|
||||
# Process the POSTed stroke data according to the API definition
|
||||
@@ -13860,9 +13873,16 @@ def plannedsession_multicreate_view(request,timeperiod='thisweek',
|
||||
@user_passes_test(iscoachmember,login_url="/rowers/planmembership/",
|
||||
redirect_field_name=None)
|
||||
def plannedsession_teamcreate_view(request,timeperiod='thisweek',
|
||||
teamid=0):
|
||||
teamid=0,userid=0):
|
||||
|
||||
therower = getrequestrower(request,userid=userid)
|
||||
|
||||
when = request.GET.get('when')
|
||||
if when:
|
||||
timeperiod = when
|
||||
else:
|
||||
timeperiod = 'thisweek'
|
||||
|
||||
teams = Team.objects.filter(manager=request.user)
|
||||
if len(teams)>0:
|
||||
teamchoices = [(team.id, team.name) for team in teams]
|
||||
@@ -13940,7 +13960,13 @@ def plannedsession_teamcreate_view(request,timeperiod='thisweek',
|
||||
})
|
||||
return HttpResponseRedirect(url)
|
||||
else:
|
||||
sessioncreateform = PlannedSessionForm()
|
||||
initial = {
|
||||
'startdate':startdate,
|
||||
'enddate':enddate,
|
||||
'preferreddate':startdate,
|
||||
}
|
||||
|
||||
sessioncreateform = PlannedSessionForm(initial=initial)
|
||||
sessionteamselectform = PlannedSessionTeamForm(
|
||||
request.user
|
||||
)
|
||||
@@ -13953,7 +13979,8 @@ def plannedsession_teamcreate_view(request,timeperiod='thisweek',
|
||||
'teamform':sessionteamselectform,
|
||||
'timeperiod':timeperiod,
|
||||
'plannedsessions':sps,
|
||||
'rower':getrower(request.user),
|
||||
'rower':therower,
|
||||
'active':'nav-plan'
|
||||
})
|
||||
|
||||
# Manager edits sessions for entire team
|
||||
@@ -15584,6 +15611,51 @@ class MicroCycleDelete(DeleteView):
|
||||
model = TrainingMicroCycle
|
||||
template_name = 'trainingplan_delete.html'
|
||||
|
||||
# extra parameters
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(MicroCycleDelete, self).get_context_data(**kwargs)
|
||||
|
||||
if 'userid' in kwargs:
|
||||
userid = kwargs['userid']
|
||||
else:
|
||||
userid=0
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
'url':reverse(plannedsessions_view,
|
||||
kwargs={'userid':userid}),
|
||||
'name': 'Plan'
|
||||
},
|
||||
{
|
||||
'url':reverse(rower_trainingplan_view,
|
||||
kwargs={'userid':userid,
|
||||
'id':self.object.plan.plan.plan.id}),
|
||||
'name': self.object.plan.plan.plan.name
|
||||
},
|
||||
{
|
||||
'url':reverse('macrocycle_update_view',
|
||||
kwargs={'pk':self.object.plan.plan.pk}),
|
||||
'name': self.object.plan.plan.name
|
||||
},
|
||||
{
|
||||
'url':reverse('mesocycle_update_view',
|
||||
kwargs={'pk':self.object.plan.pk}),
|
||||
'name': self.object.plan.name
|
||||
},
|
||||
{
|
||||
'url':reverse('microcycle_update_view',
|
||||
kwargs={'pk':self.object.pk}),
|
||||
'name': self.object.name
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
context['active'] = 'nav-plan'
|
||||
context['breadcrumbs'] = breadcrumbs
|
||||
context['rower'] = getrequestrower(self.request,userid=userid)
|
||||
|
||||
return context
|
||||
|
||||
def get_success_url(self):
|
||||
plan = self.object.plan.plan.plan
|
||||
createmacrofillers(plan)
|
||||
@@ -15605,6 +15677,46 @@ class MesoCycleDelete(DeleteView):
|
||||
model = TrainingMesoCycle
|
||||
template_name = 'trainingplan_delete.html'
|
||||
|
||||
# extra parameters
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(MesoCycleDelete, self).get_context_data(**kwargs)
|
||||
|
||||
if 'userid' in kwargs:
|
||||
userid = kwargs['userid']
|
||||
else:
|
||||
userid=0
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
'url':reverse(plannedsessions_view,
|
||||
kwargs={'userid':userid}),
|
||||
'name': 'Plan'
|
||||
},
|
||||
{
|
||||
'url':reverse(rower_trainingplan_view,
|
||||
kwargs={'userid':userid,
|
||||
'id':self.object.plan.plan.id}),
|
||||
'name': self.object.plan.plan.name
|
||||
},
|
||||
{
|
||||
'url':reverse('macrocycle_update_view',
|
||||
kwargs={'pk':self.object.plan.pk}),
|
||||
'name': self.object.plan.name
|
||||
},
|
||||
{
|
||||
'url':reverse('mesocycle_update_view',
|
||||
kwargs={'pk':self.object.pk}),
|
||||
'name': self.object.name
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
context['active'] = 'nav-plan'
|
||||
context['breadcrumbs'] = breadcrumbs
|
||||
context['rower'] = getrequestrower(self.request,userid=userid)
|
||||
|
||||
return context
|
||||
|
||||
def get_success_url(self):
|
||||
plan = self.object.plan.plan
|
||||
thismacroid = self.object.plan.pk
|
||||
@@ -15725,6 +15837,40 @@ class MacroCycleDelete(DeleteView):
|
||||
model = TrainingMacroCycle
|
||||
template_name = 'trainingplan_delete.html'
|
||||
|
||||
# extra parameters
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(MacroCycleDelete, self).get_context_data(**kwargs)
|
||||
|
||||
if 'userid' in kwargs:
|
||||
userid = kwargs['userid']
|
||||
else:
|
||||
userid=0
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
'url':reverse(plannedsessions_view,
|
||||
kwargs={'userid':userid}),
|
||||
'name': 'Plan'
|
||||
},
|
||||
{
|
||||
'url':reverse(rower_trainingplan_view,
|
||||
kwargs={'userid':userid,
|
||||
'id':self.object.plan.id}),
|
||||
'name': self.object.plan.name
|
||||
},
|
||||
{
|
||||
'url':reverse('macrocycle_update_view',
|
||||
kwargs={'pk':self.object.pk}),
|
||||
'name': self.object.name
|
||||
}
|
||||
]
|
||||
|
||||
context['active'] = 'nav-plan'
|
||||
context['breadcrumbs'] = breadcrumbs
|
||||
context['rower'] = getrequestrower(self.request,userid=userid)
|
||||
|
||||
return context
|
||||
|
||||
def get_success_url(self):
|
||||
plan = self.object.plan
|
||||
createmacrofillers(plan)
|
||||
@@ -15750,6 +15896,13 @@ def rower_trainingplan_view(request,
|
||||
thismicroid=0,
|
||||
thismacroid=0,
|
||||
thismesoid=0):
|
||||
|
||||
when = request.GET.get('when')
|
||||
if when:
|
||||
startdate,enddate = get_dates_timeperiod(when)
|
||||
else:
|
||||
startdate = datetime.date.today()
|
||||
|
||||
try:
|
||||
plan = TrainingPlan.objects.get(id=id)
|
||||
except TrainingPlan.DoesNotExist:
|
||||
@@ -15901,7 +16054,7 @@ def rower_trainingplan_view(request,
|
||||
thismicro = TrainingMicroCycle.objects.get(id=int(thismicroid))
|
||||
else:
|
||||
if not thismacroid and not thismesoid:
|
||||
thismicro = get_todays_micro(plan)
|
||||
thismicro = get_todays_micro(plan,thedate=startdate)
|
||||
else:
|
||||
thismicro = None
|
||||
|
||||
@@ -15935,6 +16088,39 @@ class TrainingMacroCycleUpdate(UpdateView):
|
||||
template_name = 'trainingplan_edit.html'
|
||||
form_class = TrainingMacroCycleForm
|
||||
|
||||
# extra parameters
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(TrainingMacroCycleUpdate, self).get_context_data(**kwargs)
|
||||
|
||||
if 'userid' in kwargs:
|
||||
userid = kwargs['userid']
|
||||
else:
|
||||
userid=0
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
'url':reverse(plannedsessions_view,
|
||||
kwargs={'userid':userid}),
|
||||
'name': 'Plan'
|
||||
},
|
||||
{
|
||||
'url':reverse(rower_trainingplan_view,
|
||||
kwargs={'userid':userid,
|
||||
'id':self.object.plan.id}),
|
||||
'name': self.object.plan.name
|
||||
},
|
||||
{
|
||||
'url':reverse('macrocycle_update_view',
|
||||
kwargs={'pk':self.object.pk}),
|
||||
'name': self.object.name
|
||||
}
|
||||
]
|
||||
|
||||
context['active'] = 'nav-plan'
|
||||
context['breadcrumbs'] = breadcrumbs
|
||||
context['rower'] = getrequestrower(self.request,userid=userid)
|
||||
|
||||
return context
|
||||
|
||||
def get_success_url(self):
|
||||
plan = self.object.plan
|
||||
@@ -15967,6 +16153,45 @@ class TrainingMesoCycleUpdate(UpdateView):
|
||||
template_name = 'trainingplan_edit.html'
|
||||
form_class = TrainingMesoCycleForm
|
||||
|
||||
# extra parameters
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(TrainingMesoCycleUpdate, self).get_context_data(**kwargs)
|
||||
|
||||
if 'userid' in kwargs:
|
||||
userid = kwargs['userid']
|
||||
else:
|
||||
userid=0
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
'url':reverse(plannedsessions_view,
|
||||
kwargs={'userid':userid}),
|
||||
'name': 'Plan'
|
||||
},
|
||||
{
|
||||
'url':reverse(rower_trainingplan_view,
|
||||
kwargs={'userid':userid,
|
||||
'id':self.object.plan.plan.id}),
|
||||
'name': self.object.plan.plan.name
|
||||
},
|
||||
{
|
||||
'url':reverse('macrocycle_update_view',
|
||||
kwargs={'pk':self.object.plan.pk}),
|
||||
'name': self.object.plan.name
|
||||
},
|
||||
{
|
||||
'url':reverse('mesocycle_update_view',
|
||||
kwargs={'pk':self.object.pk}),
|
||||
'name': self.object.name
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
context['active'] = 'nav-plan'
|
||||
context['breadcrumbs'] = breadcrumbs
|
||||
context['rower'] = getrequestrower(self.request,userid=userid)
|
||||
|
||||
return context
|
||||
|
||||
def get_success_url(self):
|
||||
plan = self.object.plan
|
||||
@@ -16002,6 +16227,50 @@ class TrainingMicroCycleUpdate(UpdateView):
|
||||
template_name = 'trainingplan_edit.html'
|
||||
form_class = TrainingMicroCycleForm
|
||||
|
||||
# extra parameters
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(TrainingMicroCycleUpdate, self).get_context_data(**kwargs)
|
||||
|
||||
if 'userid' in kwargs:
|
||||
userid = kwargs['userid']
|
||||
else:
|
||||
userid=0
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
'url':reverse(plannedsessions_view,
|
||||
kwargs={'userid':userid}),
|
||||
'name': 'Plan'
|
||||
},
|
||||
{
|
||||
'url':reverse(rower_trainingplan_view,
|
||||
kwargs={'userid':userid,
|
||||
'id':self.object.plan.plan.plan.id}),
|
||||
'name': self.object.plan.plan.plan.name
|
||||
},
|
||||
{
|
||||
'url':reverse('macrocycle_update_view',
|
||||
kwargs={'pk':self.object.plan.plan.pk}),
|
||||
'name': self.object.plan.plan.name
|
||||
},
|
||||
{
|
||||
'url':reverse('mesocycle_update_view',
|
||||
kwargs={'pk':self.object.plan.pk}),
|
||||
'name': self.object.plan.name
|
||||
},
|
||||
{
|
||||
'url':reverse('microcycle_update_view',
|
||||
kwargs={'pk':self.object.pk}),
|
||||
'name': self.object.name
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
context['active'] = 'nav-plan'
|
||||
context['breadcrumbs'] = breadcrumbs
|
||||
context['rower'] = getrequestrower(self.request,userid=userid)
|
||||
|
||||
return context
|
||||
|
||||
def get_success_url(self):
|
||||
plan = self.object.plan
|
||||
|
||||
Reference in New Issue
Block a user