diff --git a/rowers/teams.py b/rowers/teams.py index ad4c8414..a8fdad1a 100644 --- a/rowers/teams.py +++ b/rowers/teams.py @@ -28,6 +28,8 @@ from rowers.tasks import ( handle_sendemail_invite_accept,handle_sendemail_team_removed, ) +from rowers.models import ValidationError + # Low level functions - to be called by higher level methods inviteduration = 14 # days @@ -102,7 +104,11 @@ def remove_team(id): def add_member(id,rower): t= Team.objects.get(id=id) - rower.team.add(t) + try: + rower.team.add(t) + except ValidationError: + return(0,"Couldn't add member") + # code to add all workouts ws = Workout.objects.filter(user=rower) @@ -406,7 +412,12 @@ def process_request_code(manager,code): return (0,'You are not the manager of this team') result = add_member(t.id,r) + if not result: + return (result,"The member couldn't be added") + send_request_accept_email(rekwest) + + rekwest.delete() return result @@ -425,6 +436,9 @@ def process_invite_code(user,code): t = invitation.team result = add_member(t.id,r) + if not result: + return (result,"The member couldn't be added") + send_invite_accept_email(invitation) invitation.delete() return result