reinstated club sizes
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
BIN
rowers/tests/testdata/testdata.csv.gz
vendored
BIN
rowers/tests/testdata/testdata.csv.gz
vendored
Binary file not shown.
Reference in New Issue
Block a user