Private
Public Access
1
0

next steps in training plan/target

- delete cycles
- change user
This commit is contained in:
Sander Roosendaal
2018-09-10 15:10:43 +02:00
parent 2c4c0030b4
commit 357193c9c8
7 changed files with 219 additions and 52 deletions

View File

@@ -28,7 +28,7 @@ import isodate
from django.shortcuts import render
from django.views.generic.edit import UpdateView
from django.views.generic.edit import UpdateView,DeleteView
from django.http import (
HttpResponse, HttpResponseRedirect,
@@ -45,7 +45,8 @@ from rowers.forms import (
VirtualRaceSelectForm,WorkoutRaceSelectForm,CourseSelectForm,
RaceResultFilterForm,PowerIntervalUpdateForm
)
from django.core.urlresolvers import reverse
from django.core.urlresolvers import reverse, reverse_lazy
from django.core.exceptions import PermissionDenied
from django.template import RequestContext
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
@@ -207,6 +208,7 @@ class JSONResponse(HttpResponse):
def getrequestrower(request,rowerid=0,userid=0,notpermanent=False):
if notpermanent == False:
if rowerid == 0 and 'rowerid' in request.session:
rowerid = request.session['rowerid']
@@ -14181,47 +14183,11 @@ def virtualevent_submit_result_view(request,id=0):
})
@user_passes_test(hasplannedsessions,login_url="/", redirect_field_name=None)
def rower_delete_trainingtarget(request,id=0):
try:
target = TrainingTarget.objects.get(id=id)
except TrainingPlan.DoesNotExist:
raise Http404("Training Plan Does Not Exist")
if checkaccessuser(request.user,target.rower):
target.delete()
messages.info(request,"We have deleted the training plan")
else:
raise PermissionDenied("Access denied")
def rower_create_trainingplan(request,userid=0):
url = reverse(rower_create_trainingplan)
return HttpResponseRedirect(url)
@user_passes_test(hasplannedsessions,login_url="/", redirect_field_name=None)
def rower_delete_trainingplan(request,id=0):
try:
plan = TrainingPlan.objects.get(id=id)
except TrainingPlan.DoesNotExist:
raise Http404("Training Plan Does Not Exist")
if checkaccessuser(request.user,plan.rower):
plan.delete()
messages.info(request,"We have deleted the training plan")
else:
raise PermissionDenied("Access denied")
url = reverse(rower_create_trainingplan)
return HttpResponseRedirect(url)
@user_passes_test(hasplannedsessions,login_url="/", redirect_field_name=None)
def rower_create_trainingplan(request,id=0):
therower = getrequestrower(request,userid=id)
therower = getrequestrower(request,userid=userid)
theuser = therower.user
if request.method == 'POST' and 'date' in request.POST:
targetform = TrainingTargetForm(request.POST)
if targetform.is_valid():
@@ -14266,10 +14232,119 @@ def rower_create_trainingplan(request,id=0):
return render(request,'trainingplan_create.html',
{
'form':form,
'rower':therower,
'plans':plans,
'targets':targets,
'targetform':targetform,
})
@user_passes_test(hasplannedsessions,login_url="/", redirect_field_name=None)
def rower_delete_trainingtarget(request,id=0):
try:
target = TrainingTarget.objects.get(id=id)
except TrainingPlan.DoesNotExist:
raise Http404("Training Plan Does Not Exist")
if checkaccessuser(request.user,target.rower):
target.delete()
messages.info(request,"We have deleted the training plan")
else:
raise PermissionDenied("Access denied")
url = reverse(rower_create_trainingplan)
return HttpResponseRedirect(url)
@user_passes_test(hasplannedsessions,login_url="/", redirect_field_name=None)
def rower_delete_trainingplan(request,id=0):
try:
plan = TrainingPlan.objects.get(id=id)
except TrainingPlan.DoesNotExist:
raise Http404("Training Plan Does Not Exist")
if checkaccessuser(request.user,plan.rower):
plan.delete()
messages.info(request,"We have deleted the training plan")
else:
raise PermissionDenied("Access denied")
url = reverse(rower_create_trainingplan)
return HttpResponseRedirect(url)
class TrainingPlanDelete(DeleteView):
model = TrainingPlan
template_name = 'trainingplan_delete.html'
success_url = reverse_lazy(rower_create_trainingplan)
def get_object(self, *args, **kwargs):
obj = super(TrainingPlanDelete, self).get_object(*args, **kwargs)
if not checkaccessuser(self.request.user,obj.plan.rower):
raise Http404
return obj
class MicroCycleDelete(DeleteView):
model = TrainingMicroCycle
template_name = 'trainingplan_delete.html'
def get_success_url(self):
plan = self.object.plan.plan.plan
createmacrofillers(plan)
return reverse(rower_trainingplan_view,
kwargs = {
'id':plan.id
})
def get_object(self, *args, **kwargs):
obj = super(MicroCycleDelete, self).get_object(*args, **kwargs)
if not checkaccessuser(self.request.user,obj.plan.plan.plan.rower):
raise Http404
return obj
class MesoCycleDelete(DeleteView):
model = TrainingMesoCycle
template_name = 'trainingplan_delete.html'
def get_success_url(self):
plan = self.object.plan.plan
createmacrofillers(plan)
return reverse(rower_trainingplan_view,
kwargs = {
'id':plan.id
})
def get_object(self, *args, **kwargs):
obj = super(MesoCycleDelete, self).get_object(*args, **kwargs)
if not checkaccessuser(self.request.user,obj.plan.plan.rower):
raise Http404
return obj
class MacroCycleDelete(DeleteView):
model = TrainingMacroCycle
template_name = 'trainingplan_delete.html'
def get_success_url(self):
plan = self.object.plan
createmacrofillers(plan)
return reverse(rower_trainingplan_view,
kwargs = {
'id':plan.id
})
def get_object(self, *args, **kwargs):
obj = super(MacroCycleDelete, self).get_object(*args, **kwargs)
if not checkaccessuser(self.request.user,obj.plan.rower):
raise Http404
return obj
@user_passes_test(hasplannedsessions,login_url="/", redirect_field_name=None)
@@ -14371,6 +14446,8 @@ class TrainingMesoCycleUpdate(UpdateView):
else:
obj.type = 'userdefined'
obj.save()
obj.plan.type = 'userdefined'
obj.plan.save()
return obj
class TrainingMicroCycleUpdate(UpdateView):
@@ -14401,6 +14478,8 @@ class TrainingMicroCycleUpdate(UpdateView):
else:
obj.type = 'userdefined'
obj.save()
obj.plan.type = 'userdefined'
obj.plan.save()
return obj
class TrainingPlanUpdate(UpdateView):