diff --git a/rowers/templatetags/rowerfilters.py b/rowers/templatetags/rowerfilters.py index a822388f..08fb80c0 100644 --- a/rowers/templatetags/rowerfilters.py +++ b/rowers/templatetags/rowerfilters.py @@ -389,7 +389,7 @@ def team_members(user): team__in=teams ).distinct().order_by( "user__last_name","user__first_name" - ) + ).exclude(rowerplan='freecoach') return [rower.user for rower in members] except TypeError: return [] @@ -405,7 +405,7 @@ def team_rowers(user): teams = Team.objects.filter(manager=user) members = Rower.objects.filter(team__in=teams).distinct().order_by( "user__last_name","user__last_name" - ) + ).exclude(rowerplan='freecoach') return members except TypeError: return [] @@ -416,7 +416,10 @@ from rowers.teams import coach_getcoachees @register.filter def coach_rowers(user): - thelist = [user.rower]+[c for c in coach_getcoachees(user.rower)] + if user.rower.rowerplan != 'freecoach': + thelist = [user.rower]+[c for c in coach_getcoachees(user.rower)] + else: + thelist = [c for c in coach_getcoachees(user.rower)] return thelist diff --git a/rowers/tests/testdata/testdata.csv.gz b/rowers/tests/testdata/testdata.csv.gz index fb8749c5..284bf7a6 100644 Binary files a/rowers/tests/testdata/testdata.csv.gz and b/rowers/tests/testdata/testdata.csv.gz differ diff --git a/rowers/views/workoutviews.py b/rowers/views/workoutviews.py index 6e48ca84..b78c4ec5 100644 --- a/rowers/views/workoutviews.py +++ b/rowers/views/workoutviews.py @@ -4298,7 +4298,14 @@ def team_workout_upload_view(request,message="", rowerform = TeamInviteForm(request.POST) rowerform.fields.pop('email') - rowers = Rower.objects.filter(coachinggroups__in=[r.mycoachgroup]).distinct() + rowers = Rower.objects.filter( + coachinggroups__in=[r.mycoachgroup] + ).exclude( + rowerplan='freecoach' + ).distinct() + if r.rowerplan == 'freecoach': + rowers = rowers.exclude(rowerplan='basic') + rowerform.fields['user'].queryset = User.objects.filter(rower__in=rowers).distinct() if form.is_valid(): f = request.FILES['file'] @@ -4423,9 +4430,20 @@ def team_workout_upload_view(request,message="", optionsform = TeamUploadOptionsForm(initial=uploadoptions) rowerform = TeamInviteForm() rowerform.fields.pop('email') - rowerform.fields['user'].queryset = User.objects.filter(rower__isnull=False,rower__team__in=myteams).distinct() + + rowers = Rower.objects.filter( + coachinggroups__in=[r.mycoachgroup] + ).exclude( + rowerplan='freecoach' + ).distinct() + if r.rowerplan == 'freecoach': + rowers = rowers.exclude(rowerplan='basic') + + rowerform.fields['user'].queryset = User.objects.filter(rower__in=rowers).distinct() + + return render(request, 'team_document_form.html', - {'form':form, + {'form':form, # 'teams':get_my_teams(request.user), 'optionsform': optionsform, 'active': 'nav-workouts',