Private
Public Access
1
0

Merge branch 'release/v8.31'

This commit is contained in:
Sander Roosendaal
2018-10-29 11:11:37 +01:00
3 changed files with 82 additions and 50 deletions
-1
View File
@@ -247,7 +247,6 @@ 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
+1 -1
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
+60 -27
View File
@@ -6692,27 +6692,50 @@ 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,
workouts = Workout.objects.filter(
team=theteam,
startdatetime__gte=startdate,
startdatetime__lte=enddate).order_by("-date","-starttime")
g_workouts = Workout.objects.filter(team=theteam,
startdatetime__lte=enddate,
privacy='visible').order_by("-date","-starttime")
g_workouts = Workout.objects.filter(
team=theteam,
startdatetime__gte=activity_startdate,
startdatetime__lte=activity_enddate).order_by("-date", "-starttime")
startdatetime__lte=activity_enddate,
privacy='visible').order_by("-date", "-starttime")
elif theteam.viewing == 'coachonly':
workouts = Workout.objects.filter(team=theteam,user=r,
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__lte=enddate,
privacy='visible').order_by("-startdatetime")
g_workouts = Workout.objects.filter(
team=theteam,user=r,
startdatetime__gte=activity_startdate,
enddatetime__lte=activity_enddate).order_by("-startdatetime")
enddatetime__lte=activity_enddate,
privacy='visible').order_by("-startdatetime")
elif request.user != r.user:
theteam = None
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,
workouts = Workout.objects.filter(
user=r,
startdatetime__gte=startdate,
startdatetime__lte=enddate).order_by("-date", "-starttime")
g_workouts = Workout.objects.filter(user=r,
g_workouts = Workout.objects.filter(
user=r,
startdatetime__gte=activity_startdate,
startdatetime__lte=activity_enddate).order_by("-startdatetime")
@@ -7036,7 +7059,7 @@ def workout_view(request,id=0):
},
{
'url':reverse(workout_view,kwargs={'id':id}),
'name': id,
'name': row.name,
}
]
@@ -14623,14 +14646,6 @@ def plannedsessions_view(request,
r = getrequestrower(request,userid=userid)
when = request.GET.get('when')
if when:
timeperiod = when
else:
timeperiod = 'thisweek'
startdate,enddate = get_dates_timeperiod(timeperiod)
if startdatestring:
try:
startdate = iso8601.parse_date(startdatestring)
@@ -14643,6 +14658,21 @@ def plannedsessions_view(request,
except ParseError:
pass
when = request.GET.get('when')
if when:
timeperiod = when
startdate,enddate = get_dates_timeperiod(timeperiod)
else:
timeperiod = 'thisweek'
startdate1,enddate1 = get_dates_timeperiod(timeperiod)
if not startdatestring:
startdate = startdate1
if not enddatestring:
enddate = enddate1
try:
trainingplan = TrainingPlan.objects.filter(
startdate__lte = startdate,
@@ -16982,7 +17012,7 @@ class TrainingTargetUpdate(UpdateView):
def allsundays(startdate,enddate):
d = startdate
d += timedelta(days = 6 - d.weekday()) # first Sunday
while d<enddate:
while d<=enddate:
yield d
d += timedelta(days=7)
@@ -16990,6 +17020,7 @@ def allsundays(startdate,enddate):
message="This functionality requires a Coach or Self-Coach plan",
redirect_field_name=None)
def planmesocyclebyweek(request,id=0,userid=0):
print 'planning by week'
try:
cycle = TrainingMesoCycle.objects.get(id=id)
except TrainingMesoCycle.DoesNotExist:
@@ -17007,17 +17038,19 @@ def planmesocyclebyweek(request,id=0,userid=0):
#we're still here. We have permission
sundays = [s for s in allsundays(cycle.startdate,cycle.enddate)]
for i in range(len(sundays)-1):
monday = sundays[i]+timedelta(days=1)
nextsunday = sundays[i+1]
if i == 0 and monday > cycle.startdate:
for i in range(len(sundays)):
if i==0:
monday = cycle.startdate
if nextsunday < cycle.enddate and i == len(sundays)-2:
nextsunday = cycle.enddate
else:
monday = sundays[i]-timedelta(days=6)
if monday < cycle.startdate:
monday = cycle.startdate
nextsunday = sundays[i]
micro = TrainingMicroCycle(startdate = monday,
enddate = nextsunday,
plan = cycle,
name = 'Week %s' % sundays[i+1].isocalendar()[1],
name = 'Week %s' % monday.isocalendar()[1],
type = 'userdefined')
micro.save()