removing rower from trainingplan/trainingtarget
This commit is contained in:
@@ -934,7 +934,6 @@ def a_week_from_now():
|
|||||||
# models related to training planning - draft
|
# models related to training planning - draft
|
||||||
# Do we need a separate class TestTarget?
|
# Do we need a separate class TestTarget?
|
||||||
class TrainingTarget(models.Model):
|
class TrainingTarget(models.Model):
|
||||||
rower = models.ForeignKey(Rower,related_name='targetathlete',null=True)
|
|
||||||
rowers = models.ManyToManyField(Rower, related_name='targetathletes',
|
rowers = models.ManyToManyField(Rower, related_name='targetathletes',
|
||||||
verbose_name='Athletes')
|
verbose_name='Athletes')
|
||||||
manager = models.ForeignKey(Rower,related_name='targetmanager',null=True)
|
manager = models.ForeignKey(Rower,related_name='targetmanager',null=True)
|
||||||
@@ -976,10 +975,12 @@ class TrainingTargetForm(ModelForm):
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
teams = Team.objects.filter(manager=self.instance.manager.user)
|
teams = Team.objects.filter(manager=self.instance.manager.user)
|
||||||
|
if not teams:
|
||||||
self.fields['rowers'].queryset = Rower.objects.filter(
|
self.fields.pop('rowers')
|
||||||
team__in=teams
|
else:
|
||||||
).distinct().order_by("user__last_name","user__first_name")
|
self.fields['rowers'].queryset = Rower.objects.filter(
|
||||||
|
team__in=teams
|
||||||
|
).distinct().order_by("user__last_name","user__first_name")
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
self.fields.pop('rowers')
|
self.fields.pop('rowers')
|
||||||
|
|
||||||
@@ -1007,8 +1008,6 @@ class TrainingPlan(models.Model):
|
|||||||
('deactivated','inactive'),
|
('deactivated','inactive'),
|
||||||
)
|
)
|
||||||
|
|
||||||
# rower field is obsolete. Use rowers
|
|
||||||
rower = models.ForeignKey(Rower,related_name='planathlete',null=True)
|
|
||||||
rowers = models.ManyToManyField(Rower,related_name='planathletes',
|
rowers = models.ManyToManyField(Rower,related_name='planathletes',
|
||||||
verbose_name='Athletes')
|
verbose_name='Athletes')
|
||||||
manager = models.ForeignKey(Rower,related_name='planmanager',null=True)
|
manager = models.ForeignKey(Rower,related_name='planmanager',null=True)
|
||||||
@@ -1043,31 +1042,29 @@ class TrainingPlan(models.Model):
|
|||||||
self.startdate = enddate
|
self.startdate = enddate
|
||||||
self.enddate = startdate
|
self.enddate = startdate
|
||||||
|
|
||||||
|
if not self.enddate <= self.startdate:
|
||||||
|
super(TrainingPlan,self).save(*args, **kwargs)
|
||||||
|
|
||||||
if self.status:
|
if self.status:
|
||||||
otherplans = TrainingPlan.objects.filter(
|
otherplans = TrainingPlan.objects.filter(
|
||||||
status=True).exclude(
|
status=True).exclude(
|
||||||
pk=self.pk).order_by(
|
pk=self.pk).order_by(
|
||||||
"-startdate")
|
"-startdate")
|
||||||
|
|
||||||
|
|
||||||
for otherplan in otherplans:
|
for otherplan in otherplans:
|
||||||
if otherplan.startdate <= self.enddate and otherplan.startdate >= self.startdate:
|
if otherplan.startdate <= self.enddate and otherplan.startdate >= self.startdate:
|
||||||
for rower in self.rowers.all():
|
for rower in self.rowers.all():
|
||||||
if rower in otherplan.rowers.all():
|
if rower in otherplan.rowers.all():
|
||||||
print otherplan
|
|
||||||
self.status = False
|
self.status = False
|
||||||
|
self.save()
|
||||||
if otherplan.enddate >= self.startdate and otherplan.enddate <= self.enddate:
|
if otherplan.enddate >= self.startdate and otherplan.enddate <= self.enddate:
|
||||||
for rower in self.rowers.all():
|
for rower in self.rowers.all():
|
||||||
if rower in otherplan.rowers.all():
|
if rower in otherplan.rowers.all():
|
||||||
print otherplan
|
|
||||||
self.status = False
|
self.status = False
|
||||||
|
self.save()
|
||||||
|
|
||||||
if not self.enddate <= self.startdate:
|
|
||||||
super(TrainingPlan,self).save(*args, **kwargs)
|
|
||||||
|
|
||||||
if self.rower is not None:
|
|
||||||
self.rowers.add(self.rower)
|
|
||||||
self.rower = None
|
|
||||||
self.save()
|
|
||||||
|
|
||||||
|
|
||||||
macrocycles = TrainingMacroCycle.objects.filter(plan = self)
|
macrocycles = TrainingMacroCycle.objects.filter(plan = self)
|
||||||
@@ -1106,9 +1103,12 @@ class TrainingPlanForm(ModelForm):
|
|||||||
try:
|
try:
|
||||||
teams = Team.objects.filter(manager=self.instance.manager.user)
|
teams = Team.objects.filter(manager=self.instance.manager.user)
|
||||||
|
|
||||||
self.fields['rowers'].queryset = Rower.objects.filter(
|
if not teams:
|
||||||
team__in=teams
|
self.fields.pop('rowers')
|
||||||
).distinct().order_by("user__last_name","user__first_name")
|
else:
|
||||||
|
self.fields['rowers'].queryset = Rower.objects.filter(
|
||||||
|
team__in=teams
|
||||||
|
).distinct().order_by("user__last_name","user__first_name")
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
self.fields.pop('rowers')
|
self.fields.pop('rowers')
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td> {{ target.date }}</td>
|
<td> {{ target.date }}</td>
|
||||||
<td> {{ target.name }}</td>
|
<td> {{ target.name }}</td>
|
||||||
<td> {{ target.notes }}</td>
|
<td> {{ target.notes|linebreaks }}</td>
|
||||||
<td> <a href="/rowers/edittarget/{{ target.id }}">Edit</a>
|
<td> <a href="/rowers/edittarget/{{ target.id }}">Edit</a>
|
||||||
<td> <a href="/rowers/deletetarget/{{ target.id }}">Delete</a>
|
<td> <a href="/rowers/deletetarget/{{ target.id }}">Delete</a>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@@ -16177,7 +16177,6 @@ def rower_create_trainingplan(request,userid=0):
|
|||||||
|
|
||||||
p = TrainingPlan(
|
p = TrainingPlan(
|
||||||
name=name,
|
name=name,
|
||||||
rower=therower,
|
|
||||||
target=target,
|
target=target,
|
||||||
manager=themanager,
|
manager=themanager,
|
||||||
startdate=startdate,
|
startdate=startdate,
|
||||||
@@ -16186,22 +16185,14 @@ def rower_create_trainingplan(request,userid=0):
|
|||||||
|
|
||||||
p.save()
|
p.save()
|
||||||
|
|
||||||
|
p.rowers.add(therower)
|
||||||
|
|
||||||
targets2 = TrainingTarget.objects.filter(rower=therower).order_by("date")
|
|
||||||
for target in targets2:
|
|
||||||
if target.rower is not None:
|
|
||||||
target.rowers.add(target.rower)
|
|
||||||
target.rower = None
|
|
||||||
target.save()
|
|
||||||
|
|
||||||
targets = TrainingTarget.objects.filter(rowers=therower).order_by("date")
|
targets = TrainingTarget.objects.filter(rowers=therower).order_by("date")
|
||||||
targetform = TrainingTargetForm()
|
targetform = TrainingTargetForm()
|
||||||
|
|
||||||
plans = TrainingPlan.objects.filter(rower=therower).order_by("-startdate")
|
plans = TrainingPlan.objects.filter(rowers=therower).order_by("-startdate")
|
||||||
plans2 = TrainingPlan.objects.filter(rowers=therower).order_by("-startdate")
|
|
||||||
|
|
||||||
plans = plans | plans2
|
|
||||||
|
|
||||||
form = TrainingPlanForm(targets=targets,initial={'status':False})
|
form = TrainingPlanForm(targets=targets,initial={'status':False})
|
||||||
|
|
||||||
@@ -16578,10 +16569,6 @@ def rower_trainingplan_view(request,
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
plan = TrainingPlan.objects.get(id=id)
|
plan = TrainingPlan.objects.get(id=id)
|
||||||
if plan.rower is not None:
|
|
||||||
plan.rowers.add(plan.rower)
|
|
||||||
plan.rower = None
|
|
||||||
plan.save()
|
|
||||||
except TrainingPlan.DoesNotExist:
|
except TrainingPlan.DoesNotExist:
|
||||||
raise Http404("Training Plan Does Not Exist")
|
raise Http404("Training Plan Does Not Exist")
|
||||||
|
|
||||||
@@ -16724,8 +16711,11 @@ def rower_trainingplan_view(request,
|
|||||||
]
|
]
|
||||||
|
|
||||||
if not thismicroid and not thismacroid and not thismesoid:
|
if not thismicroid and not thismacroid and not thismesoid:
|
||||||
thismicro = get_todays_micro(plan,thedate=startdate)
|
try:
|
||||||
thismicroid = thismicro.pk
|
thismicro = get_todays_micro(plan,thedate=startdate)
|
||||||
|
thismicroid = thismicro.pk
|
||||||
|
except AttributeError:
|
||||||
|
thismicroid = None
|
||||||
|
|
||||||
|
|
||||||
return render(request,'trainingplan.html',
|
return render(request,'trainingplan.html',
|
||||||
@@ -16873,12 +16863,9 @@ class TrainingMesoCycleUpdate(UpdateView):
|
|||||||
|
|
||||||
def get_object(self, *args, **kwargs):
|
def get_object(self, *args, **kwargs):
|
||||||
obj = super(TrainingMesoCycleUpdate, self).get_object(*args, **kwargs)
|
obj = super(TrainingMesoCycleUpdate, self).get_object(*args, **kwargs)
|
||||||
r = obj.plan.plan.rower
|
|
||||||
if obj.plan.plan.manager is not None and self.request.user.rower != obj.plan.plan.manager:
|
if obj.plan.plan.manager is not None and self.request.user.rower != obj.plan.plan.manager:
|
||||||
raise PermissionDenied('You are not allowed to edit this training plan cycle')
|
raise PermissionDenied('You are not allowed to edit this training plan cycle')
|
||||||
|
|
||||||
if r is not None and not checkaccessuser(self.request.user,r):
|
|
||||||
raise PermissionDenied('You are not allowed to edit this training plan cycle')
|
|
||||||
else:
|
else:
|
||||||
obj.type = 'userdefined'
|
obj.type = 'userdefined'
|
||||||
obj.save()
|
obj.save()
|
||||||
@@ -16954,12 +16941,10 @@ class TrainingMicroCycleUpdate(UpdateView):
|
|||||||
|
|
||||||
def get_object(self, *args, **kwargs):
|
def get_object(self, *args, **kwargs):
|
||||||
obj = super(TrainingMicroCycleUpdate, self).get_object(*args, **kwargs)
|
obj = super(TrainingMicroCycleUpdate, self).get_object(*args, **kwargs)
|
||||||
r = obj.plan.plan.plan.rower
|
|
||||||
if obj.plan.plan.plan.manager is not None and self.request.user.rower != obj.plan.plan.plan.manager:
|
if obj.plan.plan.plan.manager is not None and self.request.user.rower != obj.plan.plan.plan.manager:
|
||||||
raise PermissionDenied('You are not allowed to edit this training plan cycle')
|
raise PermissionDenied('You are not allowed to edit this training plan cycle')
|
||||||
|
|
||||||
if r is not None and not checkaccessuser(self.request.user,r):
|
|
||||||
raise PermissionDenied('You are not allowed to edit this training plan cycle')
|
|
||||||
else:
|
else:
|
||||||
obj.type = 'userdefined'
|
obj.type = 'userdefined'
|
||||||
obj.save()
|
obj.save()
|
||||||
@@ -17071,10 +17056,6 @@ class TrainingTargetUpdate(UpdateView):
|
|||||||
|
|
||||||
def get_object(self, *args, **kwargs):
|
def get_object(self, *args, **kwargs):
|
||||||
obj = super(TrainingTargetUpdate, self).get_object(*args, **kwargs)
|
obj = super(TrainingTargetUpdate, self).get_object(*args, **kwargs)
|
||||||
if obj.rower is not None:
|
|
||||||
obj.rowers.add(obj.rower)
|
|
||||||
obj.rower = None
|
|
||||||
obj.save()
|
|
||||||
if obj.manager is not None and self.request.user.rower != obj.manager:
|
if obj.manager is not None and self.request.user.rower != obj.manager:
|
||||||
raise PermissionDenied('You are not allowed to edit this training plan cycle')
|
raise PermissionDenied('You are not allowed to edit this training plan cycle')
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user