diff --git a/rowers/models.py b/rowers/models.py index 6d7f2c96..343b9a22 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -175,6 +175,7 @@ class Rower(models.Model): choices=plans) planexpires = models.DateField(default=timezone.now) + teamplanexpires = models.DateField(default=timezone.now) clubsize = models.IntegerField(default=0) # Friends/Team @@ -324,7 +325,7 @@ class Workout(models.Model): ) user = models.ForeignKey(Rower) - team = models.ManyToManyField(Team,blank=True,null=True) + team = models.ManyToManyField(Team,blank=True) name = models.CharField(max_length=150) date = models.DateField() workouttype = models.CharField(choices=workouttypes,max_length=50) diff --git a/rowers/teams.py b/rowers/teams.py index 0b5b4b92..7223a378 100644 --- a/rowers/teams.py +++ b/rowers/teams.py @@ -33,6 +33,20 @@ def remove_team(id): t = Team.objects.get(id=id) return t.delete() +def set_teamplanexpires(rower): + ts = Team.objects.filter(rower=rower) + + texp = datetime.date(timezone.now()) + + for t in ts: + mr = Rower.objects.get(user=t.manager) + if mr.teamplanexpires > texp: + rower.teamplanexpires = mr.teamplanexpires + + t.save() + + return (1,'Updated rower team expiry') + def add_member(id,rower): t= Team.objects.get(id=id) rower.team.add(t) @@ -40,7 +54,9 @@ def add_member(id,rower): ws = Workout.objects.filter(user=rower) for w in ws: w.team.add(t) - + + set_teamplanexpires(rower) + return (1,'Member added') def remove_member(id,rower): @@ -51,6 +67,7 @@ def remove_member(id,rower): for w in ws: w.team.remove(t) + set_teamplanexpires(rower) return (1,'Member removed') def mgr_remove_member(id,manager,rower):