Merge branch 'develop' into feature/rules
This commit is contained in:
@@ -685,7 +685,9 @@ def plannedsession_teamcreate_view(request,
|
||||
enddatestring = enddate.strftime('%Y-%m-%d')
|
||||
url += '?when='+startdatestring+'/'+enddatestring
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
next = request.GET.get('next', url)
|
||||
|
||||
return HttpResponseRedirect(next)
|
||||
else:
|
||||
timeperiod = startdate.strftime('%Y-%m-%d')+'/'+enddate.strftime('%Y-%m-%d')
|
||||
breadcrumbs = [
|
||||
@@ -873,8 +875,8 @@ def plannedsession_teamedit_view(request,
|
||||
enddatestring = enddate.strftime('%Y-%m-%d')
|
||||
url += '?when='+startdatestring+'/'+enddatestring
|
||||
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
next = request.GET.get('next', url)
|
||||
return HttpResponseRedirect(next)
|
||||
else:
|
||||
sessioncreateform = PlannedSessionForm(instance=ps)
|
||||
sessionteamselectform = PlannedSessionTeamForm(
|
||||
@@ -1436,8 +1438,8 @@ def plannedsession_clone_view(request,id=0,userid=0):
|
||||
enddatestring = enddate.strftime('%Y-%m-%d')
|
||||
url += '?when='+startdatestring+'/'+enddatestring
|
||||
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
next = request.GET.get('next', url)
|
||||
return HttpResponseRedirect(next)
|
||||
|
||||
# Clone an existing planned session
|
||||
# need clarity on cloning behavior time shift
|
||||
@@ -1497,8 +1499,101 @@ def plannedsession_teamclone_view(request,id=0):
|
||||
enddatestring = enddate.strftime('%Y-%m-%d')
|
||||
url += '?when='+startdatestring+'/'+enddatestring
|
||||
|
||||
next = request.GET.get('next', url)
|
||||
return HttpResponseRedirect(next)
|
||||
|
||||
@user_passes_test(hasplannedsessions, login_url="/rowers/paidplans/",
|
||||
message="This functionality requires a Coach or Self-Coach plan",
|
||||
redirect_field_name=None)
|
||||
def plannedsession_templateedit_view(request,id=0):
|
||||
r = getrequestrower(request)
|
||||
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 edit this planned session")
|
||||
|
||||
if ps.sessiontype in ['race','indoorrace']:
|
||||
raise PermissionDenied("You are not allowed to edit this planned session because it is a race")
|
||||
|
||||
if not ps.is_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.team.clear()
|
||||
ps.save()
|
||||
|
||||
sessioncreateform = PlannedSessionTemplateForm(instance=ps)
|
||||
|
||||
if request.method == 'POST':
|
||||
sessioncreateform = PlannedSessionTemplateForm(request.POST,instance=ps)
|
||||
if sessioncreateform.is_valid():
|
||||
cd = sessioncreateform.cleaned_data
|
||||
if cd['sessionunit'] == 'min':
|
||||
cd['sessionmode'] = 'time'
|
||||
elif cd['sessionunit'] in ['km','m']:
|
||||
cd['sessionmode'] = 'distance'
|
||||
|
||||
res, message = update_plannedsession(ps,cd)
|
||||
|
||||
if res:
|
||||
messages.info(request,message)
|
||||
else:
|
||||
messages.error(request,message)
|
||||
|
||||
url = reverse(plannedsession_templateedit_view,
|
||||
kwargs = {
|
||||
'id':int(ps.id),
|
||||
})
|
||||
|
||||
startdatestring = startdate.strftime('%Y-%m-%d')
|
||||
enddatestring = enddate.strftime('%Y-%m-%d')
|
||||
url += '?when='+startdatestring+'/'+enddatestring
|
||||
next = request.GET.get('next', url)
|
||||
return HttpResponseRedirect(next)
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
'url': reverse(plannedsessions_view),
|
||||
'name': 'Sessions'
|
||||
},
|
||||
{
|
||||
'url':reverse(plannedsession_templateedit_view,
|
||||
kwargs={
|
||||
'id':id,
|
||||
}
|
||||
),
|
||||
'name': 'Edit'
|
||||
}
|
||||
]
|
||||
|
||||
sessiontemplates = PlannedSession.objects.filter(manager=request.user,is_template=True)
|
||||
|
||||
return render(request,'plannedsessiontemplateedit.html',
|
||||
{
|
||||
'teams':get_my_teams(request.user),
|
||||
'plan': trainingplan,
|
||||
'breadcrumbs': breadcrumbs,
|
||||
'form': sessioncreateform,
|
||||
'active':'nav-plan',
|
||||
'thesession': ps,
|
||||
'sessiontemplates': sessiontemplates,
|
||||
'rower': r,
|
||||
})
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
@permission_required('plannedsession.change_session',fn=get_session_by_pk,raise_exception=True)
|
||||
@user_passes_test(can_plan, login_url="/rowers/paidplans/",
|
||||
@@ -1525,7 +1620,9 @@ def plannedsession_totemplate_view(request,id=0):
|
||||
enddatestring = enddate.strftime('%Y-%m-%d')
|
||||
url += '?when='+startdatestring+'/'+enddatestring
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
next = request.GET.get('next', url)
|
||||
|
||||
return HttpResponseRedirect(next)
|
||||
|
||||
# Edit an existing planned session
|
||||
@permission_required('plannedsession.change_session',fn=get_session_by_pk,raise_exception=True)
|
||||
@@ -1663,8 +1760,8 @@ def plannedsession_detach_view(request,id=0,psid=0):
|
||||
remove_workout_plannedsession(w,ps)
|
||||
|
||||
url = reverse(plannedsession_view,kwargs={'id':psid})
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
next = request.GET.get('next', url)
|
||||
return HttpResponseRedirect(next)
|
||||
|
||||
@login_required()
|
||||
@permission_required('plannedsession.view_session',fn=get_session_by_pk,raise_exception=True)
|
||||
|
||||
Reference in New Issue
Block a user