Private
Public Access
1
0

teamcreate done

This commit is contained in:
Sander Roosendaal
2018-10-12 16:55:22 +02:00
parent 3cfc620906
commit a2c1777c74
10 changed files with 434 additions and 206 deletions

View File

@@ -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:

View File

@@ -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>&nbsp;{{ 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>&nbsp;Sessions
</a>
</li>
<li id="sessions-link">
<a href="">
<a href="/rowers/sessions/manage/">
<i class="fas fa-tasks fa-fw"></i>&nbsp;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>&nbsp;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>&nbsp;Add Session
</a>
</li>
<li id="plan-teamsession">
<a href="">
<a href="/rowers/sessions/teamcreate/">
<i class="fas fa-whistle fa-fw"></i>&nbsp;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>

View File

@@ -61,4 +61,3 @@
</li>
</ul>
{% endif %}
{% endif %}

View File

@@ -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>&nbsp;</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>&nbsp;</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 %}

View File

@@ -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 %}

View File

@@ -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>

View File

@@ -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 %}

View File

@@ -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)

View File

@@ -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),

View File

@@ -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