Private
Public Access
1
0

reinstated club sizes

This commit is contained in:
Sander Roosendaal
2019-02-21 19:56:33 +01:00
parent 7e46f6d6f3
commit fe59ead06b
3 changed files with 22 additions and 9 deletions

View File

@@ -111,16 +111,20 @@ def remove_team(id):
def add_coach(coach,rower):
# get coaching group
coachgroup = coach.mycoachgroup
if coachgroup is None:
coachgroup = CoachingGroup(name=coach.user.first_name)
coachgroup.save()
coach.mycoachgroup = coachgroup
coach.save()
rower.coachinggroups.add(coach.mycoachgroup)
return (1,"Added Coach")
if get_coach_club_size(coach)<=coach.clubsize:
rower.coachinggroups.add(coach.mycoachgroup)
return (1,"Added Coach")
else:
return (0,"Maximum number of athletes reached")
def add_member(id,rower):
t= Team.objects.get(id=id)
@@ -287,6 +291,15 @@ def create_request(team,user):
return (0,'Something went wrong in create_request')
def get_coach_club_size(coach):
rs = Rower.objects.filter(coachinggroups__in=[coach.mycoachgroup])
rekwests = CoachOffer.objects.filter(coach=coach)
result = len(rs)+len(rekwests)
return result
# request by coach to coach user
def create_coaching_offer(coach,user):
r = user.rower
@@ -299,7 +312,7 @@ def create_coaching_offer(coach,user):
while code in codes:
code = uuid.uuid4().hex[:10].upper()
if coach.rowerplan == 'coach':
if coach.rowerplan == 'coach' and get_coach_club_size(coach)<=coach.clubsize:
rekwest = CoachOffer(coach=coach,user=user,code=code)
rekwest.save()
@@ -634,7 +647,7 @@ def process_coachrequest_code(coach,code):
result = add_coach(coach,rekwest.user.rower)
if not result:
return (result,"Something went wrong")
return result
else:
send_coachrequest_accepted_email(rekwest)
@@ -655,7 +668,7 @@ def process_coachoffer_code(user,code):
result = add_coach(rekwest.coach,rekwest.user.rower)
if not result:
return (result,"Something went wrong")
return result
else:
send_coachoffer_accepted_email(rekwest)

View File

@@ -20,7 +20,7 @@ class PermissionsBasicsTests(TestCase):
self.rcoach = Rower.objects.create(user=self.ucoach,
birthdate=faker.profile()['birthdate'],
gdproptin=True,gdproptindate=timezone.now(),
rowerplan='coach')
rowerplan='coach',clubsize=10)
self.ucoach_workouts = WorkoutFactory.create_batch(5, user=self.rcoach)
self.coachinggroup = CoachingGroup.objects.create()
@@ -280,7 +280,7 @@ class PermissionsViewTests(TestCase):
self.rcoach = Rower.objects.create(user=self.ucoach,
birthdate=faker.profile()['birthdate'],
gdproptin=True,gdproptindate=timezone.now(),
rowerplan='coach')
rowerplan='coach',clubsize=10)
self.ucoach_workouts = WorkoutFactory.create_batch(5, user=self.rcoach)
self.coachinggroup = CoachingGroup.objects.create()
@@ -1009,7 +1009,7 @@ class PermissionsCoachingTests(TestCase):
self.rcoach = Rower.objects.create(user=self.ucoach,
birthdate=faker.profile()['birthdate'],
gdproptin=True,gdproptindate=timezone.now(),
rowerplan='coach')
rowerplan='coach',clubsize=10)
self.ucoach_workouts = WorkoutFactory.create_batch(5, user=self.rcoach)
self.coachinggroup = CoachingGroup.objects.create()

Binary file not shown.