Private
Public Access
1
0

first changes for template planned sessions

This commit is contained in:
Sander Roosendaal
2019-09-22 12:56:53 +02:00
parent 2917513be1
commit d0b0c37674
8 changed files with 129 additions and 2 deletions

View File

@@ -240,6 +240,7 @@ def plannedsession_multiclone_view(
sps = PlannedSession.objects.filter(
manager=request.user,
rower__in=[r],
is_template=False,
startdate__lte=enddate,
enddate__gte=startdate).order_by(
"startdate","preferreddate","enddate").exclude(
@@ -435,6 +436,10 @@ def plannedsession_create_view(request,
sps = get_sessions(r,startdate=startdate,enddate=enddate).exclude(
sessiontype='race')
sessiontemplates = PlannedSession.objects.filter(manager=request.user,is_template=True)
try:
trainingplan = TrainingPlan.objects.filter(
startdate__lte = startdate,
@@ -458,6 +463,7 @@ def plannedsession_create_view(request,
'form':sessioncreateform,
'active':'nav-plan',
'plannedsessions':sps,
'sessiontemplates':sessiontemplates,
'rower':r,
'timeperiod':timeperiod,
})
@@ -1412,13 +1418,16 @@ def plannedsession_clone_view(request,id=0,userid=0):
teams = ps.team.all()
ps.pk = None
ps.id = None
if not ps.is_template:
ps.name += ' (copy)'
ps.is_template = False
deltadays = ps.enddate-ps.startdate
ps.startdate = timezone.now().date()
ps.enddate = (timezone.now()+deltadays).date()
ps.preferreddate = ps.preferreddate+deltadays
ps.name += ' (copy)'
ps.save()
@@ -1441,6 +1450,37 @@ def plannedsession_clone_view(request,id=0,userid=0):
return HttpResponseRedirect(url)
@user_passes_test(hasplannedsessions, login_url="/rowers/paidplans/",
message="This functionality requires a Coach or Self-Coach plan",
redirect_field_name=None)
def plannedsession_totemplate_view(request,id=0):
r = getrequestplanrower(request)
startdate, enddate = get_dates_timeperiod(request)
try:
ps = PlannedSession.objects.get(id=id)
except PlannedSession.DoesNotExist:
raise Http404("Planned Session does not exist")
if ps.manager != request.user:
raise PermissionDenied("You can only store your own sessions as a template")
ps.pk = None
ps.id = None
ps.is_template = True
ps.startdate = datetime.date(1970,1,1)
ps.enddate = datetime.date(1970,1,1)
ps.save()
url = reverse(plannedsession_create_view,kwargs={'userid':request.user.id})
startdatestring = startdate.strftime('%Y-%m-%d')
enddatestring = enddate.strftime('%Y-%m-%d')
url += '?when='+startdatestring+'/'+enddatestring
return HttpResponseRedirect(url)
# Edit an existing planned session
@user_passes_test(hasplannedsessions,login_url="/rowers/paidplans/",
@@ -1547,6 +1587,8 @@ def plannedsession_edit_view(request,id=0,userid=0):
]
sessiontemplates = PlannedSession.objects.filter(manager=request.user,is_template=True)
dateform = DateRangeForm(initial={
'startdate':startdate,
'enddate':enddate,
@@ -1564,6 +1606,7 @@ def plannedsession_edit_view(request,id=0,userid=0):
'plannedsessions':sps,
'thesession':ps,
'dateform':dateform,
'sessiontemplates':sessiontemplates,
'rower':r,
'timeperiod':timeperiod,
})