diff --git a/rowers/plannedsessions.py b/rowers/plannedsessions.py index d62b50eb..34642a46 100644 --- a/rowers/plannedsessions.py +++ b/rowers/plannedsessions.py @@ -465,12 +465,12 @@ def add_team_session(t,ps): def add_rower_session(r,ps): teams = Team.objects.filter(manager=ps.manager) members = Rower.objects.filter(team__in=teams).distinct() - if r in members: + if r in members and r.rowerplan != 'freecoach': ps.rower.add(r) ps.save() return 1 - elif ps.manager.rower == r: + elif ps.manager.rower == r and r.rowerplan != 'freecoach': ps.rower.add(r) ps.save() diff --git a/rowers/views/planviews.py b/rowers/views/planviews.py index e397e498..82e6e065 100644 --- a/rowers/views/planviews.py +++ b/rowers/views/planviews.py @@ -632,7 +632,7 @@ def plannedsession_teamcreate_view(request, request.session['teams'] = [team.id for team in teams] for team in teams: add_team_session(team,ps) - rs = Rower.objects.filter(team__in=[team]) + rs = Rower.objects.filter(team__in=[team]).exclude(rowerplan='freecoach') for r in rs: add_rower_session(r,ps) @@ -912,12 +912,16 @@ def plannedsessions_coach_view(request, rteams = therower.team.filter(viewing='allmembers') sps = get_sessions(therower,startdate=startdate,enddate=enddate) - rowers = [therower] + if therower.rowerplan != 'freecoach': + rowers = [therower] + else: + rowers = [] + for ps in sps: if 'coach' in request.user.rower.rowerplan: - rowers += ps.rower.all() + rowers += ps.rower.all().exclude(rowerplan='freecoach') else: - rowers += ps.rower.filter(team__in=rteams) + rowers += ps.rower.filter(team__in=rteams).exclude(rowerplan='freecoach') rowers = list(set(rowers))