diff --git a/rowers/dataprep.py b/rowers/dataprep.py index 6efa68d0..6fa013b4 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -56,7 +56,7 @@ import sys import utils import datautils -from utils import lbstoN,myqueue +from utils import lbstoN,myqueue,is_ranking_piece from timezonefinder import TimezoneFinder @@ -921,6 +921,9 @@ def save_workout_database(f2, r, dosmooth=True, workouttype='rower', w.startdatetime = timezone.now() w.save() + if is_ranking_piece(w): + w.rankingpiece = True + w.save() if privacy == 'visible': ts = Team.objects.filter(rower=r) diff --git a/rowers/views.py b/rowers/views.py index 65b9bdcf..5d9f9b82 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -711,7 +711,8 @@ def splitstdata(lijst): from utils import ( geo_distance,serialize_list,deserialize_list,uniqify, str2bool,range_to_color_hex,absolute,myqueue,get_call, - calculate_age,rankingdistances,rankingdurations + calculate_age,rankingdistances,rankingdurations, + is_ranking_piece ) import datautils @@ -3175,7 +3176,7 @@ def addmanual_view(request): if id: w = Workout.objects.get(id=id) - w.rankingpiece = rankingpiece + w.rankingpiece = rankingpiece or is_ranking_piece(w) w.notes = notes w.save() messages.info(request,'New workout created') @@ -3306,10 +3307,13 @@ def rankings_view(request,theuser=0, for rankingdistance in rankingdistances: - workouts = Workout.objects.filter(user=r,distance=rankingdistance, - workouttype__in=['rower','dynamic','slides'], - startdatetime__gte=startdate, - startdatetime__lte=enddate).order_by('duration') + workouts = Workout.objects.filter( + user=r,distance=rankingdistance, + workouttype__in=['rower','dynamic','slides'], + rankingpiece=True, + startdatetime__gte=startdate, + startdatetime__lte=enddate + ).order_by('duration') if workouts: thedistances.append(rankingdistance) theworkouts.append(workouts[0]) @@ -3323,10 +3327,13 @@ def rankings_view(request,theuser=0, for rankingduration in rankingdurations: - workouts = Workout.objects.filter(user=r,duration=rankingduration, - workouttype='rower', - startdatetime__gte=startdate, - startdatetime__lte=enddate).order_by('-distance') + workouts = Workout.objects.filter( + user=r,duration=rankingduration, + workouttype='rower', + rankingpiece=True, + startdatetime__gte=startdate, + startdatetime__lte=enddate + ).order_by('-distance') if workouts: thedistances.append(workouts[0].distance) theworkouts.append(workouts[0]) @@ -3631,13 +3638,6 @@ def rankings_view2(request,theuser=0, enddate = datetime.datetime.combine(enddate,datetime.time(23,59,59)) enddate = enddate+datetime.timedelta(days=1) - rankingdistances = [100,500,1000,2000,5000,6000,10000,21097,42195,100000] - rankingdurations = [] - rankingdurations.append(datetime.time(minute=1)) - rankingdurations.append(datetime.time(minute=4)) - rankingdurations.append(datetime.time(minute=30)) - rankingdurations.append(datetime.time(hour=1,minute=15)) - rankingdurations.append(datetime.time(hour=1)) thedistances = [] theworkouts = [] @@ -3650,10 +3650,12 @@ def rankings_view2(request,theuser=0, for rankingdistance in rankingdistances: - workouts = Workout.objects.filter(user=r,distance=rankingdistance, - workouttype__in=['rower','dynamic','slides'], - startdatetime__gte=startdate, - startdatetime__lte=enddate).order_by('duration') + workouts = Workout.objects.filter( + user=r,distance=rankingdistance, + workouttype__in=['rower','dynamic','slides'], + rankingpiece=True, + startdatetime__gte=startdate, + startdatetime__lte=enddate).order_by('duration') if workouts: thedistances.append(rankingdistance) theworkouts.append(workouts[0]) @@ -3667,10 +3669,12 @@ def rankings_view2(request,theuser=0, for rankingduration in rankingdurations: - workouts = Workout.objects.filter(user=r,duration=rankingduration, - workouttype='rower', - startdatetime__gte=startdate, - startdatetime__lte=enddate).order_by('-distance') + workouts = Workout.objects.filter( + user=r,duration=rankingduration, + workouttype='rower', + rankingpiece=True, + startdatetime__gte=startdate, + startdatetime__lte=enddate).order_by('-distance') if workouts: thedistances.append(workouts[0].distance) theworkouts.append(workouts[0]) @@ -3973,12 +3977,6 @@ def otwrankings_view(request,theuser=0, enddate = enddate+datetime.timedelta(days=1) - rankingdurations = [] - rankingdurations.append(datetime.time(minute=1)) - rankingdurations.append(datetime.time(minute=4)) - rankingdurations.append(datetime.time(minute=30)) - rankingdurations.append(datetime.time(hour=1)) - rankingdurations.append(datetime.time(hour=1,minute=15)) thedistances = [] theworkouts = [] @@ -4225,14 +4223,6 @@ def oterankings_view(request,theuser=0, enddate = enddate+datetime.timedelta(days=1) - rankingdurations = [] - rankingdurations.append(datetime.time(minute=1)) - rankingdurations.append(datetime.time(minute=4)) - rankingdurations.append(datetime.time(minute=30)) - rankingdurations.append(datetime.time(hour=1)) - rankingdurations.append(datetime.time(hour=1,minute=15)) - - rankingdistances = [100,500,1000,2000,5000,6000,10000,21097,42195,100000] thedistances = [] theworkouts = []