Private
Public Access
1
0

better protection of private workouts

This commit is contained in:
Sander Roosendaal
2018-10-29 11:08:49 +01:00
parent a10cba74f6
commit 0a469e81fe
3 changed files with 55 additions and 33 deletions

View File

@@ -247,19 +247,18 @@ def interactive_activitychart(workouts,startdate,enddate,stack='type'):
durations = []
for w in workouts:
if w.privacy == 'visible':
dd = w.date.strftime('%m/%d')
dd2 = w.date.strftime('%Y/%m/%d')
du = w.duration.hour*60+w.duration.minute
dates.append(dd)
dates_sorting.append(dd2)
durations.append(du)
types.append(w.workouttype)
try:
rowers.append(w.user.user.first_name[0]+w.user.user.last_name[0])
except IndexError:
rowers.append(str(w.user))
dd = w.date.strftime('%m/%d')
dd2 = w.date.strftime('%Y/%m/%d')
du = w.duration.hour*60+w.duration.minute
dates.append(dd)
dates_sorting.append(dd2)
durations.append(du)
types.append(w.workouttype)
try:
rowers.append(w.user.user.first_name[0]+w.user.user.last_name[0])
except IndexError:
rowers.append(str(w.user))
try:
d = utc.localize(startdate)

View File

@@ -837,7 +837,7 @@ def checkworkoutuser(user,workout):
return True
elif teams:
for team in teams:
if user == team.manager:
if user == team.manager and workout.privacy == 'visible':
return True
else:
return False

View File

@@ -6692,29 +6692,52 @@ def workouts_view(request,message='',successmessage='',
raise Http404("Team doesn't exist")
if theteam.viewing == 'allmembers' or theteam.manager == request.user:
workouts = Workout.objects.filter(team=theteam,
startdatetime__gte=startdate,
startdatetime__lte=enddate).order_by("-date","-starttime")
g_workouts = Workout.objects.filter(team=theteam,
startdatetime__gte=activity_startdate,
startdatetime__lte=activity_enddate).order_by("-date", "-starttime")
workouts = Workout.objects.filter(
team=theteam,
startdatetime__gte=startdate,
startdatetime__lte=enddate,
privacy='visible').order_by("-date","-starttime")
g_workouts = Workout.objects.filter(
team=theteam,
startdatetime__gte=activity_startdate,
startdatetime__lte=activity_enddate,
privacy='visible').order_by("-date", "-starttime")
elif theteam.viewing == 'coachonly':
workouts = Workout.objects.filter(team=theteam,user=r,
startdatetime__gte=startdate,
startdatetime__lte=enddate).order_by("-startdatetime")
g_workouts = Workout.objects.filter(team=theteam,user=r,
startdatetime__gte=activity_startdate,
enddatetime__lte=activity_enddate).order_by("-startdatetime")
workouts = Workout.objects.filter(
team=theteam,user=r,
startdatetime__gte=startdate,
startdatetime__lte=enddate,
privacy='visible').order_by("-startdatetime")
g_workouts = Workout.objects.filter(
team=theteam,user=r,
startdatetime__gte=activity_startdate,
enddatetime__lte=activity_enddate,
privacy='visible').order_by("-startdatetime")
else:
elif request.user != r.user:
theteam = None
workouts = Workout.objects.filter(user=r,
startdatetime__gte=startdate,
startdatetime__lte=enddate).order_by("-date", "-starttime")
g_workouts = Workout.objects.filter(user=r,
startdatetime__gte=activity_startdate,
startdatetime__lte=activity_enddate).order_by("-startdatetime")
workouts = Workout.objects.filter(
user=r,
startdatetime__gte=startdate,
startdatetime__lte=enddate,
privacy='visible').order_by("-date", "-starttime")
g_workouts = Workout.objects.filter(
user=r,
startdatetime__gte=activity_startdate,
startdatetime__lte=activity_enddate,
privacy='visible').order_by("-startdatetime")
else:
theteam = None
workouts = Workout.objects.filter(
user=r,
startdatetime__gte=startdate,
startdatetime__lte=enddate).order_by("-date", "-starttime")
g_workouts = Workout.objects.filter(
user=r,
startdatetime__gte=activity_startdate,
startdatetime__lte=activity_enddate).order_by("-startdatetime")
if rankingonly:
workouts = [w for w in workouts if w.rankingpiece]