better time switching
This commit is contained in:
@@ -29,7 +29,7 @@ import metrics
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
import dataprep
|
import dataprep
|
||||||
import courses
|
import courses
|
||||||
|
import iso8601
|
||||||
from rowers.tasks import handle_check_race_course
|
from rowers.tasks import handle_check_race_course
|
||||||
|
|
||||||
def get_todays_micro(plan,thedate=date.today()):
|
def get_todays_micro(plan,thedate=date.today()):
|
||||||
@@ -400,8 +400,12 @@ def remove_rower_session(r,ps):
|
|||||||
|
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
def get_dates_timeperiod(timeperiod):
|
def get_dates_timeperiod(timeperiod,startdatestring='',enddatestring=''):
|
||||||
# set start end date according timeperiod
|
# set start end date according timeperiod
|
||||||
|
|
||||||
|
if not timeperiod:
|
||||||
|
timeperiod = 'thisweek'
|
||||||
|
|
||||||
daterangetester = re.compile('^(\d+-\d+-\d+)\/(\d+-\d+-\d+)')
|
daterangetester = re.compile('^(\d+-\d+-\d+)\/(\d+-\d+-\d+)')
|
||||||
|
|
||||||
if timeperiod=='today':
|
if timeperiod=='today':
|
||||||
@@ -445,11 +449,11 @@ def get_dates_timeperiod(timeperiod):
|
|||||||
enddate = enddate.replace(day=1)
|
enddate = enddate.replace(day=1)
|
||||||
enddate = enddate-timezone.timedelta(days=1)
|
enddate = enddate-timezone.timedelta(days=1)
|
||||||
elif daterangetester.match(timeperiod):
|
elif daterangetester.match(timeperiod):
|
||||||
startdatestring = daterangetester.match(timeperiod).group(1)
|
tstartdatestring = daterangetester.match(timeperiod).group(1)
|
||||||
enddatestring = daterangetester.match(timeperiod).group(2)
|
tenddatestring = daterangetester.match(timeperiod).group(2)
|
||||||
try:
|
try:
|
||||||
startdate = dt.datetime.strptime(startdatestring,'%Y-%m-%d').date()
|
startdate = dt.datetime.strptime(tstartdatestring,'%Y-%m-%d').date()
|
||||||
enddate = dt.datetime.strptime(enddatestring,'%Y-%m-%d').date()
|
enddate = dt.datetime.strptime(tenddatestring,'%Y-%m-%d').date()
|
||||||
if startdate > enddate:
|
if startdate > enddate:
|
||||||
startdate2 = enddate
|
startdate2 = enddate
|
||||||
enddate = startdate
|
enddate = startdate
|
||||||
@@ -460,6 +464,19 @@ def get_dates_timeperiod(timeperiod):
|
|||||||
else:
|
else:
|
||||||
startdate = date.today()
|
startdate = date.today()
|
||||||
enddate = date.today()
|
enddate = date.today()
|
||||||
|
|
||||||
|
|
||||||
|
if startdatestring != '':
|
||||||
|
try:
|
||||||
|
startdate = iso8601.parse_date(startdatestring)
|
||||||
|
except ParseError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
if enddatestring != '':
|
||||||
|
try:
|
||||||
|
enddate = iso8601.parse_date(enddatestring)
|
||||||
|
except ParseError:
|
||||||
|
pass
|
||||||
|
|
||||||
return startdate,enddate
|
return startdate,enddate
|
||||||
|
|
||||||
|
|||||||
@@ -29,22 +29,22 @@
|
|||||||
</label>
|
</label>
|
||||||
<ul>
|
<ul>
|
||||||
<li id="sessions-list">
|
<li id="sessions-list">
|
||||||
<a href="/rowers/sessions/">
|
<a href="/rowers/sessions/?when={{ timeperiod }}">
|
||||||
<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="/rowers/sessions/manage/">
|
<a href="/rowers/sessions/manage/?when={{ timeperiod }}">
|
||||||
<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="/rowers/sessions/coach/">
|
<a href="/rowers/sessions/coach/?when={{ timeperiod }}">
|
||||||
<i class="fas fa-bullhorn fa-fw"></i> Coach View
|
<i class="fas fa-bullhorn fa-fw"></i> Coach View
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li id="sessions-print">
|
<li id="sessions-print">
|
||||||
<a href="/rowers/sessions/print/">
|
<a href="/rowers/sessions/print/?when={{ timeperiod }}">
|
||||||
<i class="fas fa-print fa-fw"></i> Print View
|
<i class="fas fa-print fa-fw"></i> Print View
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
@@ -57,17 +57,17 @@
|
|||||||
</label>
|
</label>
|
||||||
<ul>
|
<ul>
|
||||||
<li id="plan-session">
|
<li id="plan-session">
|
||||||
<a href="/rowers/sessions/create/">
|
<a href="/rowers/sessions/create/?when={{ timeperiod }}">
|
||||||
<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="/rowers/sessions/teamcreate/">
|
<a href="/rowers/sessions/teamcreate/?when={{ timeperiod }}">
|
||||||
<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="/rowers/sessions/multicreate/">
|
<a href="/rowers/sessions/multicreate/?when={{ timeperiod }}">
|
||||||
<i class="fas fa-expand fa-fw"></i>Plan Microcycle
|
<i class="fas fa-expand fa-fw"></i>Plan Microcycle
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@@ -7,6 +7,8 @@
|
|||||||
{% block main %}
|
{% block main %}
|
||||||
<h1>Create Sessions for {{ rower.user.first_name }} {{ rower.user.last_name }}</h1>
|
<h1>Create Sessions for {{ rower.user.first_name }} {{ rower.user.last_name }}</h1>
|
||||||
|
|
||||||
|
<p>{{ timeperiod }}</p>
|
||||||
|
|
||||||
<ul class="main-content">
|
<ul class="main-content">
|
||||||
<li class="grid_2">
|
<li class="grid_2">
|
||||||
<h1>Plan</h1>
|
<h1>Plan</h1>
|
||||||
@@ -59,7 +61,8 @@
|
|||||||
</li>
|
</li>
|
||||||
<li class="grid_2">
|
<li class="grid_2">
|
||||||
<h1>New Session</h1>
|
<h1>New Session</h1>
|
||||||
<form enctype="multipart/form-data" action="{{ formloc }}" method="post">
|
<form enctype="multipart/form-data" action=""
|
||||||
|
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.
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ by your coach if you are part of a team. You can create your own
|
|||||||
planned workouts by purchasing the "Coach" or "Self-Coach" plans.
|
planned workouts by purchasing the "Coach" or "Self-Coach" plans.
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<p>
|
<p>
|
||||||
<a class="grid_2 button gray"
|
<a
|
||||||
href="/rowers/sessions/print/user/{{ rower.user.id }}/?when={{ timeperiod }}">
|
href="/rowers/sessions/print/user/{{ rower.user.id }}/?when={{ timeperiod }}">
|
||||||
Print View</a>
|
Print View</a>
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -472,6 +472,10 @@ urlpatterns = [
|
|||||||
url(r'^sessions/create/$',views.plannedsession_create_view),
|
url(r'^sessions/create/$',views.plannedsession_create_view),
|
||||||
url(r'^sessions/create/user/(?P<userid>\d+)$',
|
url(r'^sessions/create/user/(?P<userid>\d+)$',
|
||||||
views.plannedsession_create_view),
|
views.plannedsession_create_view),
|
||||||
|
url(r'^sessions/create/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',
|
||||||
|
views.plannedsession_create_view),
|
||||||
|
url(r'^sessions/create/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/user/(?P<userid>\d+)$',
|
||||||
|
views.plannedsession_create_view),
|
||||||
url(r'^sessions/multiclone/$',views.plannedsession_multiclone_view),
|
url(r'^sessions/multiclone/$',views.plannedsession_multiclone_view),
|
||||||
url(r'^sessions/multiclone/user/(?P<userid>\d+)/$',
|
url(r'^sessions/multiclone/user/(?P<userid>\d+)/$',
|
||||||
views.plannedsession_multiclone_view),
|
views.plannedsession_multiclone_view),
|
||||||
|
|||||||
160
rowers/views.py
160
rowers/views.py
@@ -13952,19 +13952,12 @@ def agegrouprecordview(request,sex='male',weightcategory='hwt',
|
|||||||
redirect_field_name=None)
|
redirect_field_name=None)
|
||||||
def plannedsession_multiclone_view(
|
def plannedsession_multiclone_view(
|
||||||
request,
|
request,
|
||||||
userid=0,
|
userid=0,):
|
||||||
startdate=timezone.now()-datetime.timedelta(days=30),
|
|
||||||
enddate=timezone.now()):
|
|
||||||
|
|
||||||
r = getrequestrower(request,userid=userid)
|
r = getrequestrower(request,userid=userid)
|
||||||
|
|
||||||
when = request.GET.get('when')
|
when = request.GET.get('when')
|
||||||
if when:
|
startdate,enddate = get_dates_timeperiod(when)
|
||||||
timeperiod = when
|
|
||||||
else:
|
|
||||||
timeperiod = 'thisweek'
|
|
||||||
|
|
||||||
startdate,enddate = get_dates_timeperiod(timeperiod)
|
|
||||||
|
|
||||||
|
|
||||||
if request.method == 'POST' and 'daterange' in request.POST:
|
if request.method == 'POST' and 'daterange' in request.POST:
|
||||||
@@ -14044,9 +14037,21 @@ def plannedsession_multiclone_view(
|
|||||||
except IndexError:
|
except IndexError:
|
||||||
trainingplan = None
|
trainingplan = None
|
||||||
|
|
||||||
|
timeperiod = startdate.strftime('%Y-%m-%d')+'/'+enddate.strftime('%Y-%m-%d')
|
||||||
|
breadcrumbs = [
|
||||||
|
{
|
||||||
|
'url': reverse(plannedsessions_view),
|
||||||
|
'name': 'Planned Sessions'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'url': reverse(plannedsessions_multiclone_view),
|
||||||
|
'name': 'Clone Multiple Sessions'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
return render(request, 'plannedsessions_multiclone_select.html',
|
return render(request, 'plannedsessions_multiclone_select.html',
|
||||||
{'plannedsessions':sps,
|
{'plannedsessions':sps,
|
||||||
|
'breadcrumbs':breadcrumbs,
|
||||||
'plan':trainingplan,
|
'plan':trainingplan,
|
||||||
'dateform':dateform,
|
'dateform':dateform,
|
||||||
'startdate':startdate,
|
'startdate':startdate,
|
||||||
@@ -14064,19 +14069,19 @@ def plannedsession_multiclone_view(
|
|||||||
message="This functionality requires a Coach or Self-Coach plan",
|
message="This functionality requires a Coach or Self-Coach plan",
|
||||||
redirect_field_name=None)
|
redirect_field_name=None)
|
||||||
def plannedsession_create_view(request,
|
def plannedsession_create_view(request,
|
||||||
userid=0):
|
userid=0,
|
||||||
|
startdatestring='',
|
||||||
|
enddatestring=''):
|
||||||
|
|
||||||
r = getrequestrower(request,userid=userid)
|
r = getrequestrower(request,userid=userid)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
when = request.GET.get('when')
|
when = request.GET.get('when')
|
||||||
if when:
|
startdate,enddate = get_dates_timeperiod(when,startdatestring=startdatestring,
|
||||||
timeperiod = when
|
enddatestring=enddatestring)
|
||||||
else:
|
|
||||||
timeperiod = 'thisweek'
|
|
||||||
|
|
||||||
startdate,enddate = get_dates_timeperiod(timeperiod)
|
|
||||||
|
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
sessioncreateform = PlannedSessionForm(request.POST)
|
sessioncreateform = PlannedSessionForm(request.POST)
|
||||||
if sessioncreateform.is_valid():
|
if sessioncreateform.is_valid():
|
||||||
@@ -14116,15 +14121,11 @@ def plannedsession_create_view(request,
|
|||||||
|
|
||||||
add_rower_session(r,ps)
|
add_rower_session(r,ps)
|
||||||
|
|
||||||
|
|
||||||
request.session['fstartdate'] = str(arrow.get(startdate))
|
request.session['fstartdate'] = str(arrow.get(startdate))
|
||||||
request.session['fenddate'] = str(arrow.get(enddate))
|
request.session['fenddate'] = str(arrow.get(enddate))
|
||||||
request.session['fprefdate'] = str(arrow.get(preferreddate))
|
request.session['fprefdate'] = str(arrow.get(preferreddate))
|
||||||
|
|
||||||
url = reverse(plannedsession_create_view,
|
|
||||||
kwargs = {
|
|
||||||
'userid':r.user.id,
|
|
||||||
})
|
|
||||||
return HttpResponseRedirect(url)
|
|
||||||
else:
|
else:
|
||||||
if 'fstartdate' in request.session:
|
if 'fstartdate' in request.session:
|
||||||
try:
|
try:
|
||||||
@@ -14182,6 +14183,7 @@ def plannedsession_create_view(request,
|
|||||||
except IndexError:
|
except IndexError:
|
||||||
trainingplan = None
|
trainingplan = None
|
||||||
|
|
||||||
|
timeperiod = startdate.strftime('%Y-%m-%d')+'/'+enddate.strftime('%Y-%m-%d')
|
||||||
|
|
||||||
return render(request,'plannedsessioncreate.html',
|
return render(request,'plannedsessioncreate.html',
|
||||||
{
|
{
|
||||||
@@ -14205,12 +14207,7 @@ def plannedsession_multicreate_view(request,
|
|||||||
r = getrequestrower(request,userid=userid)
|
r = getrequestrower(request,userid=userid)
|
||||||
|
|
||||||
when = request.GET.get('when')
|
when = request.GET.get('when')
|
||||||
if when:
|
startdate,enddate = get_dates_timeperiod(when)
|
||||||
timeperiod = when
|
|
||||||
else:
|
|
||||||
timeperiod = 'thisweek'
|
|
||||||
|
|
||||||
startdate,enddate = get_dates_timeperiod(timeperiod)
|
|
||||||
try:
|
try:
|
||||||
trainingplan = TrainingPlan.objects.filter(
|
trainingplan = TrainingPlan.objects.filter(
|
||||||
startdate__lte = startdate,
|
startdate__lte = startdate,
|
||||||
@@ -14296,9 +14293,21 @@ def plannedsession_multicreate_view(request,
|
|||||||
|
|
||||||
ps_formset = PlannedSessionFormSet(queryset = qset,
|
ps_formset = PlannedSessionFormSet(queryset = qset,
|
||||||
initial=initials)
|
initial=initials)
|
||||||
|
timeperiod = startdate.strftime('%Y-%m-%d')+'/'+enddate.strftime('%Y-%m-%d')
|
||||||
|
breadcrumbs = [
|
||||||
|
{
|
||||||
|
'url': reverse(plannedsessions_view),
|
||||||
|
'name': 'Planned Sessions'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'url': reverse(plannedsessions_multicreate_view),
|
||||||
|
'name': 'Plan MicroCycle'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
context = {
|
context = {
|
||||||
'ps_formset':ps_formset,
|
'ps_formset':ps_formset,
|
||||||
|
'breadcrumbs':breadcrumbs,
|
||||||
'rower':r,
|
'rower':r,
|
||||||
'active':'nav-plan',
|
'active':'nav-plan',
|
||||||
'plan':trainingplan,
|
'plan':trainingplan,
|
||||||
@@ -14318,10 +14327,6 @@ def plannedsession_teamcreate_view(request,
|
|||||||
therower = getrequestrower(request,userid=userid)
|
therower = getrequestrower(request,userid=userid)
|
||||||
|
|
||||||
when = request.GET.get('when')
|
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:
|
||||||
@@ -14411,10 +14416,23 @@ def plannedsession_teamcreate_view(request,
|
|||||||
request.user
|
request.user
|
||||||
)
|
)
|
||||||
|
|
||||||
return render(request,'plannedsessionteamcreate.html',
|
timeperiod = startdate.strftime('%Y-%m-%d')+'/'+enddate.strftime('%Y-%m-%d')
|
||||||
|
breadcrumbs = [
|
||||||
|
{
|
||||||
|
'url': reverse(plannedsessions_view),
|
||||||
|
'name': 'Planned Sessions'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'url': reverse(plannedsessions_teamcreate_view),
|
||||||
|
'name': 'Add Team Session'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
return render(request,'plannedsessionteamcreate.html',
|
||||||
{
|
{
|
||||||
'teams':get_my_teams(request.user),
|
'teams':get_my_teams(request.user),
|
||||||
'plan':trainingplan,
|
'plan':trainingplan,
|
||||||
|
'breadcrumbs':breadcrumbs,
|
||||||
'form':sessioncreateform,
|
'form':sessioncreateform,
|
||||||
'teamform':sessionteamselectform,
|
'teamform':sessionteamselectform,
|
||||||
'timeperiod':timeperiod,
|
'timeperiod':timeperiod,
|
||||||
@@ -14432,11 +14450,6 @@ def plannedsession_teamedit_view(request,
|
|||||||
r = getrequestrower(request,userid=userid)
|
r = getrequestrower(request,userid=userid)
|
||||||
|
|
||||||
when = request.GET.get('when')
|
when = request.GET.get('when')
|
||||||
if when:
|
|
||||||
timeperiod = when
|
|
||||||
else:
|
|
||||||
timeperiod = 'thisweek'
|
|
||||||
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
ps = PlannedSession.objects.get(id=sessionid)
|
ps = PlannedSession.objects.get(id=sessionid)
|
||||||
@@ -14546,10 +14559,24 @@ def plannedsession_teamedit_view(request,
|
|||||||
|
|
||||||
sessionrowerform.fields['members'].initial = ps.rower.all()
|
sessionrowerform.fields['members'].initial = ps.rower.all()
|
||||||
|
|
||||||
|
timeperiod = startdate.strftime('%Y-%m-%d')+'/'+enddate.strftime('%Y-%m-%d')
|
||||||
|
breadcrumbs = [
|
||||||
|
{
|
||||||
|
'url': reverse(plannedsessions_view),
|
||||||
|
'name': 'Planned Sessions'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'url': reverse(plannedsessions_teamcreate_view),
|
||||||
|
'name': 'Add Team Session'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
return render(request,'plannedsessionteamedit.html',
|
return render(request,'plannedsessionteamedit.html',
|
||||||
{
|
{
|
||||||
'plannedsession':ps,
|
'plannedsession':ps,
|
||||||
'plan':trainingplan,
|
'plan':trainingplan,
|
||||||
|
'breadcrumbs':breadcrumbs,
|
||||||
'rower':r,
|
'rower':r,
|
||||||
'active':'nav-plan',
|
'active':'nav-plan',
|
||||||
'teams':get_my_teams(request.user),
|
'teams':get_my_teams(request.user),
|
||||||
@@ -14569,10 +14596,6 @@ def plannedsessions_coach_view(request,
|
|||||||
therower = getrower(request.user)
|
therower = getrower(request.user)
|
||||||
|
|
||||||
when = request.GET.get('when')
|
when = request.GET.get('when')
|
||||||
if when:
|
|
||||||
timeperiod = when
|
|
||||||
else:
|
|
||||||
timeperiod = 'thisweek'
|
|
||||||
|
|
||||||
startdate,enddate = get_dates_timeperiod(timeperiod)
|
startdate,enddate = get_dates_timeperiod(timeperiod)
|
||||||
|
|
||||||
@@ -14624,10 +14647,23 @@ def plannedsessions_coach_view(request,
|
|||||||
|
|
||||||
myteams = Team.objects.filter(manager=request.user)
|
myteams = Team.objects.filter(manager=request.user)
|
||||||
|
|
||||||
|
timeperiod = startdate.strftime('%Y-%m-%d')+'/'+enddate.strftime('%Y-%m-%d')
|
||||||
|
breadcrumbs = [
|
||||||
|
{
|
||||||
|
'url': reverse(plannedsessions_view),
|
||||||
|
'name': 'Planned Sessions'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'url': reverse(plannedsessions_coach_view),
|
||||||
|
'name': 'Coach View'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
return render(request,'plannedsessionscoach.html',
|
return render(request,'plannedsessionscoach.html',
|
||||||
{
|
{
|
||||||
'myteams':myteams,
|
'myteams':myteams,
|
||||||
'plannedsessions':sps,
|
'plannedsessions':sps,
|
||||||
|
'breadcrumbs':breadcrumbs,
|
||||||
'plan':trainingplan,
|
'plan':trainingplan,
|
||||||
'statusdict':statusdict,
|
'statusdict':statusdict,
|
||||||
'timeperiod':timeperiod,
|
'timeperiod':timeperiod,
|
||||||
@@ -14660,18 +14696,8 @@ def plannedsessions_view(request,
|
|||||||
|
|
||||||
|
|
||||||
when = request.GET.get('when')
|
when = request.GET.get('when')
|
||||||
if when:
|
startdate,enddate = get_dates_timeperiod(when,startdatestring=startdatestring,
|
||||||
timeperiod = when
|
enddatestring=enddatestring)
|
||||||
startdate,enddate = get_dates_timeperiod(timeperiod)
|
|
||||||
else:
|
|
||||||
timeperiod = 'thisweek'
|
|
||||||
startdate1,enddate1 = get_dates_timeperiod(timeperiod)
|
|
||||||
|
|
||||||
if not startdatestring:
|
|
||||||
startdate = startdate1
|
|
||||||
|
|
||||||
if not enddatestring:
|
|
||||||
enddate = enddate1
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
trainingplan = TrainingPlan.objects.filter(
|
trainingplan = TrainingPlan.objects.filter(
|
||||||
@@ -14687,6 +14713,10 @@ def plannedsessions_view(request,
|
|||||||
completeness = {}
|
completeness = {}
|
||||||
actualvalue = {}
|
actualvalue = {}
|
||||||
completiondate = {}
|
completiondate = {}
|
||||||
|
|
||||||
|
if not sps and request.user.rower.rowerplan == 'basic':
|
||||||
|
messages.error(request,
|
||||||
|
"You must purchase Coach or Self-coach plans or be part of a team to get planned sessions")
|
||||||
|
|
||||||
for ps in sps:
|
for ps in sps:
|
||||||
ratio,status,cdate = is_session_complete(r,ps)
|
ratio,status,cdate = is_session_complete(r,ps)
|
||||||
@@ -14700,9 +14730,18 @@ def plannedsessions_view(request,
|
|||||||
plannedsession=None,
|
plannedsession=None,
|
||||||
date__gte=startdate,date__lte=enddate)
|
date__gte=startdate,date__lte=enddate)
|
||||||
|
|
||||||
|
timeperiod = startdate.strftime('%Y-%m-%d')+'/'+enddate.strftime('%Y-%m-%d')
|
||||||
|
breadcrumbs = [
|
||||||
|
{
|
||||||
|
'url': reverse(plannedsessions_view),
|
||||||
|
'name': 'Planned Sessions'
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
return render(request,'plannedsessions.html',
|
return render(request,'plannedsessions.html',
|
||||||
{
|
{
|
||||||
'teams':get_my_teams(request.user),
|
'teams':get_my_teams(request.user),
|
||||||
|
'breadcrumbs':breadcrumbs,
|
||||||
'plannedsessions':sps,
|
'plannedsessions':sps,
|
||||||
'plan':trainingplan,
|
'plan':trainingplan,
|
||||||
'active': 'nav-plan',
|
'active': 'nav-plan',
|
||||||
@@ -14720,10 +14759,6 @@ def plannedsessions_print_view(request,userid=0):
|
|||||||
r = getrequestrower(request,userid=userid)
|
r = getrequestrower(request,userid=userid)
|
||||||
|
|
||||||
when = request.GET.get('when')
|
when = request.GET.get('when')
|
||||||
if when:
|
|
||||||
timeperiod = when
|
|
||||||
else:
|
|
||||||
timeperiod = 'thisweek'
|
|
||||||
|
|
||||||
startdate,enddate = get_dates_timeperiod(timeperiod)
|
startdate,enddate = get_dates_timeperiod(timeperiod)
|
||||||
|
|
||||||
@@ -17038,6 +17073,10 @@ def planmesocyclebyweek(request,id=0,userid=0):
|
|||||||
|
|
||||||
#we're still here. We have permission
|
#we're still here. We have permission
|
||||||
sundays = [s for s in allsundays(cycle.startdate,cycle.enddate)]
|
sundays = [s for s in allsundays(cycle.startdate,cycle.enddate)]
|
||||||
|
|
||||||
|
if sundays[-1] < cycle.enddate:
|
||||||
|
sundays = sundays+[cycle.enddate]
|
||||||
|
|
||||||
for i in range(len(sundays)):
|
for i in range(len(sundays)):
|
||||||
if i==0:
|
if i==0:
|
||||||
monday = cycle.startdate
|
monday = cycle.startdate
|
||||||
@@ -17047,6 +17086,7 @@ def planmesocyclebyweek(request,id=0,userid=0):
|
|||||||
monday = cycle.startdate
|
monday = cycle.startdate
|
||||||
|
|
||||||
nextsunday = sundays[i]
|
nextsunday = sundays[i]
|
||||||
|
|
||||||
micro = TrainingMicroCycle(startdate = monday,
|
micro = TrainingMicroCycle(startdate = monday,
|
||||||
enddate = nextsunday,
|
enddate = nextsunday,
|
||||||
plan = cycle,
|
plan = cycle,
|
||||||
|
|||||||
Reference in New Issue
Block a user