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