Private
Public Access
1
0

fine tuning

This commit is contained in:
Sander Roosendaal
2018-02-08 15:31:23 +01:00
parent 7d51bb9356
commit 42426cdda2
9 changed files with 376 additions and 162 deletions

View File

@@ -11710,11 +11710,19 @@ def agegrouprecordview(request,sex='male',weightcategory='hwt',
})
# Individual user creates training for himself
@user_passes_test(hasplannedsessions,login_url="/rowers/promembership/",
@user_passes_test(hasplannedsessions,login_url="/rowers/planmembership/",
redirect_field_name=None)
def plannedsession_create_view(request):
def plannedsession_create_view(request,timeperiod='today',rowerid=0):
r = getrower(request.user)
if rowerid==0:
r = getrower(request.user)
else:
try:
r = Rower.objects.get(id=rowerid)
except Rower.DoesNotExist:
raise Http404("This rower doesn't exist")
if not checkaccessuser(request.user,r):
raise Http404("You don't have access to this plan")
if request.method == 'POST':
sessioncreateform = PlannedSessionForm(request.POST)
@@ -11724,6 +11732,7 @@ def plannedsession_create_view(request):
enddate = cd['enddate']
sessiontype = cd['sessiontype']
sessionmode = cd['sessionmode']
criterium = cd['criterium']
sessionvalue = cd['sessionvalue']
sessionunit = cd['sessionunit']
comment = cd['comment']
@@ -11743,6 +11752,7 @@ def plannedsession_create_view(request):
sessionvalue=sessionvalue,
sessionunit=sessionunit,
comment=comment,
criterium=criterium,
manager=request.user)
ps.save()
@@ -11754,13 +11764,15 @@ def plannedsession_create_view(request):
else:
sessioncreateform = PlannedSessionForm()
sps = get_sessions(r)
startdate,enddate = get_dates_timeperiod(timeperiod)
sps = get_sessions(r,startdate=startdate,enddate=enddate)
return render(request,'plannedsessioncreate.html',
{
'teams':get_my_teams(request.user),
'form':sessioncreateform,
'plannedsessions':sps,
'rower':r,
})
@login_required()
@@ -11909,12 +11921,22 @@ def plannedsessions_manage_view(request,timeperiod='today',rowerid=0,
})
# Edit an existing planned session
@user_passes_test(hasplannedsessions,login_url="/rowers/promembership/",
# Clone an existing planned session
@user_passes_test(hasplannedsessions,login_url="/rowers/planmembership/",
redirect_field_name=None)
def plannedsession_edit_view(request,id=0):
def plannedsession_clone_view(request,id=0,rowerid=0,
timeperiod='today'):
if rowerid==0:
r = getrower(request.user)
else:
try:
r = Rower.objects.get(id=rowerid)
except Rower.DoesNotExist:
raise Http404("This rower doesn't exist")
if not checkaccessuser(request.user,r):
raise Http404("You don't have access to this plan")
r = getrower(request.user)
startdate,enddate = get_dates_timeperiod(timeperiod)
try:
ps = PlannedSession.objects.get(id=id)
@@ -11922,26 +11944,65 @@ def plannedsession_edit_view(request,id=0):
raise Http404("Planned Session does not exist")
if ps.manager != request.user:
raise Http404("You are not allowed to delete this planned session")
raise Http404("You are not allowed to clone this planned session")
ps.pk = None
ps.startdate = timezone.now()
ps.enddate = timezone.now()
ps.name += ' (copy)'
ps.save()
add_rower_session(r,ps)
url = reverse(plannedsession_edit_view,
kwargs = {
'id':ps.id,
'timeperiod':timeperiod,
'rowerid':r.id,
}
)
return HttpResponseRedirect(url)
# Edit an existing planned session
@user_passes_test(hasplannedsessions,login_url="/rowers/planmembership/",
redirect_field_name=None)
def plannedsession_edit_view(request,id=0,timeperiod='today',rowerid=0):
if rowerid==0:
r = getrower(request.user)
else:
try:
r = Rower.objects.get(id=rowerid)
except Rower.DoesNotExist:
raise Http404("This rower doesn't exist")
if not checkaccessuser(request.user,r):
raise Http404("You don't have access to this plan")
startdate,enddate = get_dates_timeperiod(timeperiod)
try:
ps = PlannedSession.objects.get(id=id)
except PlannedSession.DoesNotExist:
raise Http404("Planned Session does not exist")
if ps.manager != request.user:
raise Http404("You are not allowed to edit this planned session")
if request.method == 'POST':
sessioncreateform = PlannedSessionForm(request.POST,instance=ps)
if sessioncreateform.is_valid():
cd = sessioncreateform.cleaned_data
startdate = cd['startdate']
enddate = cd['enddate']
sessiontype = cd['sessiontype']
sessionmode = cd['sessionmode']
sessionvalue = cd['sessionvalue']
sessionunit = cd['sessionunit']
if sessionunit == 'min':
sessionmode = 'time'
elif sessionunit in ['km','m']:
sessionmode = 'distance'
if cd['sessionunit'] == 'min':
cd['sessionmode'] = 'time'
elif cd['sessionunit'] in ['km','m']:
cd['sessionmode'] = 'distance'
comment = cd['comment']
name = cd['name']
res,message = update_plannedsession(ps,cd)
@@ -11953,12 +12014,14 @@ def plannedsession_edit_view(request,id=0):
url = reverse(plannedsession_edit_view,
kwargs={
'id':int(ps.id),
'timeperiod':timeperiod,
'rowerid':r.id,
})
return HttpResponseRedirect(url)
else:
sessioncreateform = PlannedSessionForm(instance=ps)
sps = get_sessions(r)
sps = get_sessions(r,startdate=startdate,enddate=enddate)
return render(request,'plannedsessionedit.html',
{
@@ -11966,6 +12029,8 @@ def plannedsession_edit_view(request,id=0):
'form':sessioncreateform,
'plannedsessions':sps,
'thesession':ps,
'rower':r,
'timeperiod':timeperiod,
})