Private
Public Access
1
0

removing rower from trainingplan/trainingtarget

This commit is contained in:
Sander Roosendaal
2018-10-30 13:20:06 +01:00
parent 2b02fcc1ec
commit 95d6ab4d29
3 changed files with 27 additions and 46 deletions

View File

@@ -934,7 +934,6 @@ def a_week_from_now():
# models related to training planning - draft
# Do we need a separate class TestTarget?
class TrainingTarget(models.Model):
rower = models.ForeignKey(Rower,related_name='targetathlete',null=True)
rowers = models.ManyToManyField(Rower, related_name='targetathletes',
verbose_name='Athletes')
manager = models.ForeignKey(Rower,related_name='targetmanager',null=True)
@@ -976,10 +975,12 @@ class TrainingTargetForm(ModelForm):
try:
teams = Team.objects.filter(manager=self.instance.manager.user)
self.fields['rowers'].queryset = Rower.objects.filter(
team__in=teams
).distinct().order_by("user__last_name","user__first_name")
if not teams:
self.fields.pop('rowers')
else:
self.fields['rowers'].queryset = Rower.objects.filter(
team__in=teams
).distinct().order_by("user__last_name","user__first_name")
except AttributeError:
self.fields.pop('rowers')
@@ -1007,8 +1008,6 @@ class TrainingPlan(models.Model):
('deactivated','inactive'),
)
# rower field is obsolete. Use rowers
rower = models.ForeignKey(Rower,related_name='planathlete',null=True)
rowers = models.ManyToManyField(Rower,related_name='planathletes',
verbose_name='Athletes')
manager = models.ForeignKey(Rower,related_name='planmanager',null=True)
@@ -1043,31 +1042,29 @@ class TrainingPlan(models.Model):
self.startdate = enddate
self.enddate = startdate
if not self.enddate <= self.startdate:
super(TrainingPlan,self).save(*args, **kwargs)
if self.status:
otherplans = TrainingPlan.objects.filter(
status=True).exclude(
pk=self.pk).order_by(
"-startdate")
for otherplan in otherplans:
if otherplan.startdate <= self.enddate and otherplan.startdate >= self.startdate:
for rower in self.rowers.all():
if rower in otherplan.rowers.all():
print otherplan
self.status = False
self.save()
if otherplan.enddate >= self.startdate and otherplan.enddate <= self.enddate:
for rower in self.rowers.all():
if rower in otherplan.rowers.all():
print otherplan
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)
@@ -1106,9 +1103,12 @@ class TrainingPlanForm(ModelForm):
try:
teams = Team.objects.filter(manager=self.instance.manager.user)
self.fields['rowers'].queryset = Rower.objects.filter(
team__in=teams
).distinct().order_by("user__last_name","user__first_name")
if not teams:
self.fields.pop('rowers')
else:
self.fields['rowers'].queryset = Rower.objects.filter(
team__in=teams
).distinct().order_by("user__last_name","user__first_name")
except AttributeError:
self.fields.pop('rowers')