reinstated club sizes
This commit is contained in:
@@ -111,16 +111,20 @@ def remove_team(id):
|
|||||||
|
|
||||||
def add_coach(coach,rower):
|
def add_coach(coach,rower):
|
||||||
# get coaching group
|
# get coaching group
|
||||||
|
|
||||||
coachgroup = coach.mycoachgroup
|
coachgroup = coach.mycoachgroup
|
||||||
if coachgroup is None:
|
if coachgroup is None:
|
||||||
coachgroup = CoachingGroup(name=coach.user.first_name)
|
coachgroup = CoachingGroup(name=coach.user.first_name)
|
||||||
coachgroup.save()
|
coachgroup.save()
|
||||||
coach.mycoachgroup = coachgroup
|
coach.mycoachgroup = coachgroup
|
||||||
coach.save()
|
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):
|
def add_member(id,rower):
|
||||||
t= Team.objects.get(id=id)
|
t= Team.objects.get(id=id)
|
||||||
@@ -287,6 +291,15 @@ def create_request(team,user):
|
|||||||
|
|
||||||
return (0,'Something went wrong in create_request')
|
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
|
# request by coach to coach user
|
||||||
def create_coaching_offer(coach,user):
|
def create_coaching_offer(coach,user):
|
||||||
r = user.rower
|
r = user.rower
|
||||||
@@ -299,7 +312,7 @@ def create_coaching_offer(coach,user):
|
|||||||
while code in codes:
|
while code in codes:
|
||||||
code = uuid.uuid4().hex[:10].upper()
|
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 = CoachOffer(coach=coach,user=user,code=code)
|
||||||
rekwest.save()
|
rekwest.save()
|
||||||
|
|
||||||
@@ -634,7 +647,7 @@ def process_coachrequest_code(coach,code):
|
|||||||
|
|
||||||
result = add_coach(coach,rekwest.user.rower)
|
result = add_coach(coach,rekwest.user.rower)
|
||||||
if not result:
|
if not result:
|
||||||
return (result,"Something went wrong")
|
return result
|
||||||
else:
|
else:
|
||||||
send_coachrequest_accepted_email(rekwest)
|
send_coachrequest_accepted_email(rekwest)
|
||||||
|
|
||||||
@@ -655,7 +668,7 @@ def process_coachoffer_code(user,code):
|
|||||||
|
|
||||||
result = add_coach(rekwest.coach,rekwest.user.rower)
|
result = add_coach(rekwest.coach,rekwest.user.rower)
|
||||||
if not result:
|
if not result:
|
||||||
return (result,"Something went wrong")
|
return result
|
||||||
else:
|
else:
|
||||||
send_coachoffer_accepted_email(rekwest)
|
send_coachoffer_accepted_email(rekwest)
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ class PermissionsBasicsTests(TestCase):
|
|||||||
self.rcoach = Rower.objects.create(user=self.ucoach,
|
self.rcoach = Rower.objects.create(user=self.ucoach,
|
||||||
birthdate=faker.profile()['birthdate'],
|
birthdate=faker.profile()['birthdate'],
|
||||||
gdproptin=True,gdproptindate=timezone.now(),
|
gdproptin=True,gdproptindate=timezone.now(),
|
||||||
rowerplan='coach')
|
rowerplan='coach',clubsize=10)
|
||||||
|
|
||||||
self.ucoach_workouts = WorkoutFactory.create_batch(5, user=self.rcoach)
|
self.ucoach_workouts = WorkoutFactory.create_batch(5, user=self.rcoach)
|
||||||
self.coachinggroup = CoachingGroup.objects.create()
|
self.coachinggroup = CoachingGroup.objects.create()
|
||||||
@@ -280,7 +280,7 @@ class PermissionsViewTests(TestCase):
|
|||||||
self.rcoach = Rower.objects.create(user=self.ucoach,
|
self.rcoach = Rower.objects.create(user=self.ucoach,
|
||||||
birthdate=faker.profile()['birthdate'],
|
birthdate=faker.profile()['birthdate'],
|
||||||
gdproptin=True,gdproptindate=timezone.now(),
|
gdproptin=True,gdproptindate=timezone.now(),
|
||||||
rowerplan='coach')
|
rowerplan='coach',clubsize=10)
|
||||||
|
|
||||||
self.ucoach_workouts = WorkoutFactory.create_batch(5, user=self.rcoach)
|
self.ucoach_workouts = WorkoutFactory.create_batch(5, user=self.rcoach)
|
||||||
self.coachinggroup = CoachingGroup.objects.create()
|
self.coachinggroup = CoachingGroup.objects.create()
|
||||||
@@ -1009,7 +1009,7 @@ class PermissionsCoachingTests(TestCase):
|
|||||||
self.rcoach = Rower.objects.create(user=self.ucoach,
|
self.rcoach = Rower.objects.create(user=self.ucoach,
|
||||||
birthdate=faker.profile()['birthdate'],
|
birthdate=faker.profile()['birthdate'],
|
||||||
gdproptin=True,gdproptindate=timezone.now(),
|
gdproptin=True,gdproptindate=timezone.now(),
|
||||||
rowerplan='coach')
|
rowerplan='coach',clubsize=10)
|
||||||
|
|
||||||
self.ucoach_workouts = WorkoutFactory.create_batch(5, user=self.rcoach)
|
self.ucoach_workouts = WorkoutFactory.create_batch(5, user=self.rcoach)
|
||||||
self.coachinggroup = CoachingGroup.objects.create()
|
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