Private
Public Access
1
0

adding templates to team create session

This commit is contained in:
Sander Roosendaal
2019-09-22 17:26:23 +02:00
parent d0b0c37674
commit d2d0e6c076
3 changed files with 107 additions and 0 deletions

View File

@@ -637,6 +637,8 @@ def plannedsession_teamcreate_view(request,
sps = PlannedSession.objects.filter(id__in=ids).order_by(
"preferreddate","startdate","enddate")
sessiontemplates = PlannedSession.objects.filter(manager=request.user,is_template=True)
if request.method == 'POST':
sessioncreateform = PlannedSessionForm(request.POST)
sessionteamselectform = PlannedSessionTeamForm(
@@ -713,6 +715,7 @@ def plannedsession_teamcreate_view(request,
'plan':trainingplan,
'breadcrumbs':breadcrumbs,
'form':sessioncreateform,
'sessiontemplates':sessiontemplates,
'teamform':sessionteamselectform,
'timeperiod':timeperiod,
'plannedsessions':sps,
@@ -765,6 +768,7 @@ def plannedsession_teamcreate_view(request,
'dateform':dateform,
'breadcrumbs':breadcrumbs,
'form':sessioncreateform,
'sessiontemplates':sessiontemplates,
'teamform':sessionteamselectform,
'timeperiod':timeperiod,
'plannedsessions':sps,
@@ -1448,6 +1452,72 @@ def plannedsession_clone_view(request,id=0,userid=0):
url += '?when='+startdatestring+'/'+enddatestring
return HttpResponseRedirect(url)
# Clone an existing planned session
# need clarity on cloning behavior time shift
@user_passes_test(hasplannedsessions,login_url="/rowers/paidplans/",
message="This functionality requires a Coach or Self-Coach plan",
redirect_field_name=None)
def plannedsession_teamclone_view(request,id=0):
r = getrequestplanrower(request)
teams = Team.objects.filter(manager=request.user)
if len(teams)>0:
teamchoices = [(team.id, team.name) for team in teams]
teaminitial = [str(teams[0].id)]
else:
messages.info(request,"You have no teams established yet. We are redirecting you to the Team Management page.")
url = reverse('rower_teams_view')
return HttpResponseRedirect(url)
startdate,enddate = get_dates_timeperiod(request)
try:
trainingplan = TrainingPlan.objects.filter(
startdate__lte = startdate,
rowers = r,
enddate__gte = enddate)[0]
except IndexError:
trainingplan = None
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 are not allowed to clone this planned session")
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.save()
url = reverse(plannedsession_teamedit_view,
kwargs = {
'sessionid':ps.id,
'userid':r.user.id,
}
)
startdatestring = startdate.strftime('%Y-%m-%d')
enddatestring = enddate.strftime('%Y-%m-%d')
url += '?when='+startdatestring+'/'+enddatestring
return HttpResponseRedirect(url)
@user_passes_test(hasplannedsessions, login_url="/rowers/paidplans/",