next steps in training plan/target
- delete cycles - change user
This commit is contained in:
159
rowers/views.py
159
rowers/views.py
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user