replaced len with count() on a few queries
This commit is contained in:
@@ -13,7 +13,7 @@ def create_alert(manager, rower, measured,period=7, emailalert=True,
|
||||
if manager.rower != rower:
|
||||
if rower not in coach_getcoachees(manager.rower):
|
||||
return 0,'You are not allowed to create this alert'
|
||||
|
||||
|
||||
m = Condition(
|
||||
metric = measured['metric'],
|
||||
value1 = measured['value1'],
|
||||
@@ -22,7 +22,7 @@ def create_alert(manager, rower, measured,period=7, emailalert=True,
|
||||
)
|
||||
|
||||
m.save()
|
||||
|
||||
|
||||
alert = Alert(name=name,
|
||||
manager=manager,
|
||||
rower=rower,
|
||||
@@ -46,7 +46,7 @@ def create_alert(manager, rower, measured,period=7, emailalert=True,
|
||||
value2 = f['value2'],
|
||||
condition = f['condition']
|
||||
)
|
||||
|
||||
|
||||
m.save()
|
||||
|
||||
alert.filter.add(m)
|
||||
@@ -79,7 +79,7 @@ def alert_add_filters(alert,filters):
|
||||
m.save()
|
||||
|
||||
alert.filter.add(m)
|
||||
|
||||
|
||||
return 1
|
||||
|
||||
# get alert stats
|
||||
@@ -104,7 +104,7 @@ def alert_get_stats(alert,nperiod=0):
|
||||
|
||||
if df.empty:
|
||||
return {
|
||||
'workouts':len(workouts),
|
||||
'workouts':workouts.count(),
|
||||
'startdate':startdate,
|
||||
'enddate':enddate,
|
||||
'nr_strokes':0,
|
||||
@@ -139,7 +139,7 @@ def alert_get_stats(alert,nperiod=0):
|
||||
df.dropna(inplace=True,axis=0)
|
||||
else:
|
||||
return {
|
||||
'workouts':len(workouts),
|
||||
'workouts':workouts.count(),
|
||||
'startdate':startdate,
|
||||
'enddate':enddate,
|
||||
'nr_strokes':0,
|
||||
@@ -150,11 +150,11 @@ def alert_get_stats(alert,nperiod=0):
|
||||
'median_q': 0,
|
||||
'standard_dev': 0,
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
# count strokes
|
||||
nr_strokes = len(df)
|
||||
|
||||
|
||||
|
||||
# count qualifying
|
||||
if alert.measured.condition == '>':
|
||||
@@ -164,7 +164,7 @@ def alert_get_stats(alert,nperiod=0):
|
||||
mask = df[alert.measured.metric] < alert.measured.value1
|
||||
df2 = df[mask].copy()
|
||||
elif alert.measured.condition == 'between':
|
||||
mask = df[alert.measured.metric] > alert.measured.value1
|
||||
mask = df[alert.measured.metric] > alert.measured.value1
|
||||
mask2 = df[alert.measured.metric] < alert.measured.value2
|
||||
df2 = df[mask & mask2].copy()
|
||||
else:
|
||||
@@ -181,9 +181,9 @@ def alert_get_stats(alert,nperiod=0):
|
||||
median_q = df2[alert.measured.metric].median()
|
||||
median = df[alert.measured.metric].median()
|
||||
std = df[alert.measured.metric].std()
|
||||
|
||||
|
||||
return {
|
||||
'workouts':len(workouts),
|
||||
'workouts':workouts.count(),
|
||||
'startdate':startdate,
|
||||
'enddate':enddate,
|
||||
'nr_strokes':nr_strokes,
|
||||
|
||||
@@ -364,7 +364,7 @@ class Team(models.Model):
|
||||
|
||||
if manager.rower.rowerplan in ['plan','pro']:
|
||||
otherteams = Team.objects.filter(manager=manager)
|
||||
if len(otherteams) >= 1:
|
||||
if otherteams.count() >= 1:
|
||||
raise ValidationError(
|
||||
"Pro and Self-Coach users cannot have more than one team"
|
||||
)
|
||||
@@ -569,7 +569,7 @@ def course_length(course):
|
||||
if not polygons:
|
||||
return 0
|
||||
|
||||
for i in range(len(polygons)-1):
|
||||
for i in range(polygons.count()-1):
|
||||
latitude1,longitude1 = polygon_coord_center(polygons[i])
|
||||
latitude2,longitude2 = polygon_coord_center(polygons[i+1])
|
||||
|
||||
@@ -656,7 +656,7 @@ class CoachingGroup(models.Model):
|
||||
|
||||
def __len__(self):
|
||||
rs = Rower.objects.filter(coachinggroups__in=[self])
|
||||
return len(rs)
|
||||
return rs.count()
|
||||
|
||||
# Extension of User with rowing specific data
|
||||
@python_2_unicode_compatible
|
||||
@@ -3133,7 +3133,7 @@ def auto_delete_image_on_delete(sender,instance, **kwargs):
|
||||
if instance.filename:
|
||||
if os.path.isfile(instance.filename):
|
||||
others = GraphImage.objects.filter(filename=instance.filename)
|
||||
if len(others) == 0:
|
||||
if others.count() == 0:
|
||||
os.remove(instance.filename)
|
||||
else:
|
||||
print("couldn't find the file "+instance.filename)
|
||||
|
||||
@@ -62,7 +62,7 @@ def checkscores(r,macrocycles):
|
||||
m.plantrimp = 0
|
||||
m.actualtrimp = 0
|
||||
|
||||
|
||||
|
||||
mesocycles = TrainingMesoCycle.objects.filter(
|
||||
plan=m,
|
||||
type='userdefined').order_by("startdate")
|
||||
@@ -76,19 +76,19 @@ def checkscores(r,macrocycles):
|
||||
me.actualrscore = 0
|
||||
me.plantrimp = 0
|
||||
me.actualtrimp = 0
|
||||
|
||||
|
||||
microcycles = TrainingMicroCycle.objects.filter(
|
||||
plan=me,
|
||||
type='userdefined').order_by("startdate")
|
||||
|
||||
for mm in microcycles:
|
||||
sps = get_sessions(r,startdate=mm.startdate,enddate=mm.enddate)
|
||||
|
||||
|
||||
# sps = PlannedSession.objects.filter(
|
||||
# rower = r,
|
||||
# startdate__lte=mm.enddate,
|
||||
# enddate__gte=mm.startdate)
|
||||
|
||||
|
||||
|
||||
mm.plantime = 0
|
||||
mm.actualtime = 0
|
||||
@@ -139,11 +139,11 @@ def checkscores(r,macrocycles):
|
||||
m.plantrimp += me.plantrimp
|
||||
m.actualtrimp += me.actualtrimp
|
||||
|
||||
|
||||
|
||||
|
||||
if m.type == 'userdefined':
|
||||
m.save()
|
||||
|
||||
|
||||
|
||||
def get_execution_report(rower,startdate,enddate,plan=None):
|
||||
if plan:
|
||||
@@ -188,7 +188,7 @@ def get_execution_report(rower,startdate,enddate,plan=None):
|
||||
startdates = []
|
||||
planned = []
|
||||
executed = []
|
||||
|
||||
|
||||
for mm in micros:
|
||||
plannedscore = 0
|
||||
actualscore = 0
|
||||
@@ -219,7 +219,7 @@ def get_execution_report(rower,startdate,enddate,plan=None):
|
||||
plannedscore += 60.
|
||||
elif ps.sessionmode == 'TRIMP':
|
||||
plannedscore += ps.sessionvalue/2.
|
||||
|
||||
|
||||
for w in ws:
|
||||
if w.rscore != 0:
|
||||
if ratio > 0:
|
||||
@@ -234,19 +234,19 @@ def get_execution_report(rower,startdate,enddate,plan=None):
|
||||
actualscore += w.hrtss
|
||||
else:
|
||||
plannedscore += 60
|
||||
actualscore += 0
|
||||
actualscore += 0
|
||||
else:
|
||||
minutes = w.duration.hour*60+w.duration.minute
|
||||
if ratio > 0:
|
||||
plannedscore += minutes/ratio
|
||||
else:
|
||||
plannedscore += 60
|
||||
|
||||
|
||||
actualscore += minutes
|
||||
|
||||
actualscore = int(actualscore)
|
||||
plannedscore = int(plannedscore)
|
||||
|
||||
|
||||
startdates += [mm.startdate]
|
||||
planned += [plannedscore]
|
||||
executed += [actualscore]
|
||||
@@ -272,14 +272,14 @@ def get_indoorraces(workout):
|
||||
if workout.duration.second == 0 and workout.duration.microsecond == 0:
|
||||
duration = 60*workout.duration.hour+workout.duration.minute
|
||||
|
||||
|
||||
|
||||
races2 = VirtualRace.objects.filter(
|
||||
sessiontype='indoorrace',
|
||||
startdate__lte=workout.date,
|
||||
enddate__gte=workout.date,
|
||||
sessionmode='time',
|
||||
sessionvalue=duration)
|
||||
|
||||
|
||||
races = races1 | races2
|
||||
else:
|
||||
races = races1
|
||||
@@ -290,13 +290,13 @@ def get_indoorraces(workout):
|
||||
userid=workout.user.id)
|
||||
|
||||
races = [r.race for r in registrations]
|
||||
|
||||
|
||||
|
||||
|
||||
return races
|
||||
|
||||
def get_todays_micro(plan,thedate=date.today()):
|
||||
thismicro = None
|
||||
|
||||
|
||||
thismacro = TrainingMacroCycle.objects.filter(
|
||||
plan=plan,
|
||||
startdate__lte = thedate,
|
||||
@@ -334,7 +334,7 @@ def add_workouts_plannedsession(ws,ps,r):
|
||||
errors.append('For tests and training sessions, selected workouts must all be done on the same date')
|
||||
return result,comments,errors
|
||||
|
||||
if len(ws)>1 and ps.sessiontype == 'test':
|
||||
if ws.count()>1 and ps.sessiontype == 'test':
|
||||
errors.append('For tests, you can only attach one workout')
|
||||
return result,comments,errors
|
||||
|
||||
@@ -438,7 +438,7 @@ def get_session_metrics(ps):
|
||||
|
||||
ws = Workout.objects.filter(user=r,plannedsession=ps).order_by("date")
|
||||
|
||||
if len(ws) != 0:
|
||||
if ws.count() != 0:
|
||||
for w in ws:
|
||||
distancev += w.distance
|
||||
durationv += timefield_to_seconds_duration(w.duration)
|
||||
@@ -493,7 +493,7 @@ cratiocolors = {
|
||||
|
||||
def is_session_complete_ws(ws,ps):
|
||||
ws = ws.order_by("date")
|
||||
if len(ws)==0:
|
||||
if ws.count()==0:
|
||||
today = date.today()
|
||||
if today > ps.enddate:
|
||||
verdict = 'missed'
|
||||
@@ -519,7 +519,7 @@ def is_session_complete_ws(ws,ps):
|
||||
'way over target': 1.5
|
||||
}
|
||||
|
||||
|
||||
|
||||
if ps.criterium == 'none':
|
||||
if ps.sessiontype == 'session':
|
||||
cratiomin = 0.8
|
||||
@@ -549,7 +549,7 @@ def is_session_complete_ws(ws,ps):
|
||||
elif rscore == 0:
|
||||
trimp,hrtss = dataprep.workout_trimp(w)
|
||||
score += hrtss
|
||||
|
||||
|
||||
if not completiondate and score>=cratiomin*value:
|
||||
completiondate = w.date
|
||||
|
||||
@@ -646,7 +646,7 @@ def is_session_complete_ws(ws,ps):
|
||||
mode='coursetest')
|
||||
|
||||
return (0,'not done',None)
|
||||
|
||||
|
||||
|
||||
else:
|
||||
if not completiondate:
|
||||
@@ -657,7 +657,7 @@ def is_session_complete_ws(ws,ps):
|
||||
def is_session_complete(r,ps):
|
||||
verdict = 'not done'
|
||||
|
||||
|
||||
|
||||
if r not in ps.rower.all():
|
||||
return 0,'not assigned',None
|
||||
|
||||
@@ -686,7 +686,7 @@ def add_rower_session(r,ps):
|
||||
elif ps.manager.rower == r and r.rowerplan != 'freecoach':
|
||||
ps.rower.add(r)
|
||||
ps.save()
|
||||
|
||||
|
||||
return 0
|
||||
|
||||
def remove_team_session(t,ps):
|
||||
@@ -722,9 +722,9 @@ def get_dates_timeperiod(request,startdatestring='',enddatestring='',
|
||||
except ValueError:
|
||||
startdate = parser.parse(startdatestring,fuzzy=True)
|
||||
enddate = parser.parse(enddatestring, fuzzy=True)
|
||||
|
||||
|
||||
return startdate,enddate
|
||||
|
||||
|
||||
daterangetester = re.compile('^(\d+-\d+-\d+)\/(\d+-\d+-\d+)')
|
||||
|
||||
if timeperiod=='today':
|
||||
@@ -770,7 +770,7 @@ def get_dates_timeperiod(request,startdatestring='',enddatestring='',
|
||||
elif timeperiod=='lastyear':
|
||||
today = date.today()
|
||||
startdate = today-timezone.timedelta(days=365)
|
||||
enddate = today+timezone.timedelta(days=1)
|
||||
enddate = today+timezone.timedelta(days=1)
|
||||
elif daterangetester.match(timeperiod):
|
||||
tstartdatestring = daterangetester.match(timeperiod).group(1)
|
||||
tenddatestring = daterangetester.match(timeperiod).group(2)
|
||||
@@ -783,18 +783,18 @@ def get_dates_timeperiod(request,startdatestring='',enddatestring='',
|
||||
startdate = startdate2
|
||||
except ValueError:
|
||||
startdate = date.today()
|
||||
enddate = date.today()
|
||||
enddate = date.today()
|
||||
else:
|
||||
startdate = date.today()
|
||||
enddate = date.today()
|
||||
|
||||
|
||||
|
||||
if startdatestring != '':
|
||||
try:
|
||||
startdate = iso8601.parse_date(startdatestring)
|
||||
except ParseError:
|
||||
pass
|
||||
|
||||
|
||||
if enddatestring != '':
|
||||
try:
|
||||
enddate = iso8601.parse_date(enddatestring)
|
||||
@@ -834,7 +834,7 @@ def get_sessions(r,startdate=date.today(),
|
||||
rower__in=[r],
|
||||
startdate__lte=enddate,
|
||||
enddate__gte=startdate,
|
||||
is_template=False,
|
||||
is_template=False,
|
||||
).order_by("preferreddate","startdate","enddate").exclude(
|
||||
sessiontype='race').exclude(sessiontype='indoorrace')
|
||||
|
||||
@@ -871,14 +871,14 @@ def update_indoorvirtualrace(ps,cd):
|
||||
value.replace("\r\n", "
");
|
||||
value.replace("\n", "
");
|
||||
setattr(ps, attr, value)
|
||||
|
||||
|
||||
timezone_str = cd['timezone']
|
||||
|
||||
# correct times
|
||||
|
||||
|
||||
startdatetime = datetime.combine(cd['startdate'],cd['start_time'])
|
||||
enddatetime = datetime.combine(cd['enddate'],cd['end_time'])
|
||||
|
||||
|
||||
startdatetime = pytz.timezone(timezone_str).localize(
|
||||
startdatetime
|
||||
)
|
||||
@@ -910,7 +910,7 @@ def update_indoorvirtualrace(ps,cd):
|
||||
ps.registration_closure = registration_closure
|
||||
|
||||
ps.timezone = timezone_str
|
||||
|
||||
|
||||
ps.save()
|
||||
|
||||
return 1,'Virtual Race Updated'
|
||||
@@ -924,14 +924,14 @@ def update_virtualrace(ps,cd):
|
||||
setattr(ps, attr, value)
|
||||
|
||||
# correct times
|
||||
|
||||
|
||||
course = cd['course']
|
||||
geocourse = GeoCourse.objects.get(id= course.id)
|
||||
timezone_str = get_course_timezone(geocourse)
|
||||
|
||||
|
||||
startdatetime = datetime.combine(cd['startdate'],cd['start_time'])
|
||||
enddatetime = datetime.combine(cd['enddate'],cd['end_time'])
|
||||
|
||||
|
||||
startdatetime = pytz.timezone(timezone_str).localize(
|
||||
startdatetime
|
||||
)
|
||||
@@ -963,7 +963,7 @@ def update_virtualrace(ps,cd):
|
||||
ps.registration_closure = registration_closure
|
||||
|
||||
ps.timezone = timezone_str
|
||||
|
||||
|
||||
ps.save()
|
||||
|
||||
return 1,'Virtual Race Updated'
|
||||
@@ -977,12 +977,12 @@ def race_rower_status(r,race):
|
||||
resultobj = VirtualRaceResult
|
||||
else:
|
||||
resultobj = IndoorVirtualRaceResult
|
||||
|
||||
|
||||
vs = resultobj.objects.filter(userid=r.id,race=race)
|
||||
if vs:
|
||||
has_registered = True
|
||||
is_complete = vs[0].coursecompleted
|
||||
|
||||
|
||||
return is_complete,has_registered
|
||||
|
||||
def race_can_edit(r,race):
|
||||
@@ -999,7 +999,7 @@ def race_can_edit(r,race):
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
|
||||
return False
|
||||
|
||||
@@ -1058,7 +1058,7 @@ def race_can_adddiscipline(r,race):
|
||||
|
||||
if race.sessiontype != 'race':
|
||||
return False
|
||||
|
||||
|
||||
records = VirtualRaceResult.objects.filter(
|
||||
userid=r.id,
|
||||
race=race)
|
||||
@@ -1066,7 +1066,7 @@ def race_can_adddiscipline(r,race):
|
||||
if not records:
|
||||
return False
|
||||
|
||||
|
||||
|
||||
start_time = race.start_time
|
||||
start_date = race.startdate
|
||||
startdatetime = datetime.combine(start_date,start_time)
|
||||
@@ -1086,24 +1086,24 @@ def race_can_adddiscipline(r,race):
|
||||
return False
|
||||
|
||||
return False
|
||||
|
||||
|
||||
|
||||
def race_can_withdraw(r,race):
|
||||
if race.sessiontype == 'race':
|
||||
recordobj = VirtualRaceResult
|
||||
else:
|
||||
recordobj = IndoorVirtualRaceResult
|
||||
|
||||
|
||||
records = recordobj.objects.filter(
|
||||
userid=r.id,
|
||||
race=race
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
if not records:
|
||||
return False
|
||||
|
||||
|
||||
start_time = race.start_time
|
||||
start_date = race.startdate
|
||||
startdatetime = datetime.combine(start_date,start_time)
|
||||
@@ -1114,7 +1114,7 @@ def race_can_withdraw(r,race):
|
||||
registration_closure = race.registration_closure
|
||||
if registration_closure is None or registration_closure == '':
|
||||
registration_closure = startdatetime
|
||||
|
||||
|
||||
if timezone.now() > registration_closure:
|
||||
return False
|
||||
elif timezone.now() > startdatetime:
|
||||
@@ -1145,7 +1145,7 @@ def email_submit_race(r,race,workoutid):
|
||||
w.distance = race.sessionvalue
|
||||
w.save()
|
||||
|
||||
|
||||
|
||||
if race_can_register(r,race):
|
||||
teamname = ''
|
||||
weightcategory = w.weightcategory
|
||||
@@ -1213,16 +1213,16 @@ def email_submit_race(r,race,workoutid):
|
||||
record = records[0]
|
||||
|
||||
workouts = Workout.objects.filter(id=w.id)
|
||||
|
||||
|
||||
result,comments,errors,jobid = add_workout_indoorrace(
|
||||
workouts,race,r,recordid=record.id
|
||||
)
|
||||
|
||||
|
||||
|
||||
if result:
|
||||
otherrecords = IndoorVirtualRaceResult.objects.filter(
|
||||
race = race)
|
||||
|
||||
|
||||
for otherrecord in otherrecords:
|
||||
otheruser = Rower.objects.get(id=otherrecord.userid)
|
||||
othername = otheruser.user.first_name+' '+otheruser.user.last_name
|
||||
@@ -1241,18 +1241,18 @@ def email_submit_race(r,race,workoutid):
|
||||
else:
|
||||
return 0
|
||||
else:
|
||||
|
||||
|
||||
return 0
|
||||
|
||||
return 0
|
||||
|
||||
|
||||
|
||||
def race_can_register(r,race):
|
||||
if race.sessiontype == 'race':
|
||||
recordobj = VirtualRaceResult
|
||||
else:
|
||||
recordobj = IndoorVirtualRaceResult
|
||||
|
||||
|
||||
records = recordobj.objects.filter(
|
||||
userid=r.id,
|
||||
race=race)
|
||||
@@ -1330,7 +1330,7 @@ def add_workout_indoorrace(ws,race,r,recordid=0):
|
||||
errors.append('For tests and training sessions, selected workouts must all be done on the same date')
|
||||
return result,comments,errors,0
|
||||
|
||||
if len(ws)>1 and race.sessiontype == 'test':
|
||||
if ws.count()>1 and race.sessiontype == 'test':
|
||||
errors.append('For tests, you can only attach one workout')
|
||||
return result,comments,errors,0
|
||||
|
||||
@@ -1343,7 +1343,7 @@ def add_workout_indoorrace(ws,race,r,recordid=0):
|
||||
errors.append('For tests, you can only attach one workout')
|
||||
return result,comments,errors,0
|
||||
|
||||
|
||||
|
||||
|
||||
username = r.user.first_name+' '+r.user.last_name
|
||||
if r.birthdate:
|
||||
@@ -1388,10 +1388,10 @@ def add_workout_indoorrace(ws,race,r,recordid=0):
|
||||
if ws[0].workouttype != record.boatclass:
|
||||
errors.append('Your workout boat class is different than on your race registration')
|
||||
return 0,comments,errors,0
|
||||
|
||||
|
||||
if ws[0].workouttype not in mytypes.otetypes:
|
||||
errors.append('You must submit a indoor rowing workout')
|
||||
return 0,comments, errors, 0
|
||||
return 0,comments, errors, 0
|
||||
|
||||
if ws[0].weightcategory != record.weightcategory:
|
||||
errors.append('Your workout weight category did not match the weight category you registered')
|
||||
@@ -1416,7 +1416,7 @@ def add_workout_indoorrace(ws,race,r,recordid=0):
|
||||
otherrecord.workoutid = None
|
||||
otherrecord.coursecompleted = False
|
||||
otherrecord.save()
|
||||
|
||||
|
||||
record.coursecompleted = True
|
||||
record.workoutid = ws[0].id
|
||||
|
||||
@@ -1424,15 +1424,15 @@ def add_workout_indoorrace(ws,race,r,recordid=0):
|
||||
ws[0].privacy = 'visible'
|
||||
ws[0].save()
|
||||
comments.append('Workouts submitted to virtual events have to be public. We have changed the workout to a public workout.')
|
||||
|
||||
|
||||
record.save()
|
||||
|
||||
add_workouts_plannedsession(ws,race,r)
|
||||
|
||||
|
||||
|
||||
return result,comments,errors,0
|
||||
|
||||
|
||||
|
||||
def add_workout_race(ws,race,r,splitsecond=0,recordid=0):
|
||||
result = 0
|
||||
comments = []
|
||||
@@ -1458,7 +1458,7 @@ def add_workout_race(ws,race,r,splitsecond=0,recordid=0):
|
||||
errors.append('For tests and training sessions, selected workouts must all be done on the same date')
|
||||
return result,comments,errors,0
|
||||
|
||||
if len(ws)>1 and race.sessiontype == 'test':
|
||||
if ws.count()>1 and race.sessiontype == 'test':
|
||||
errors.append('For tests, you can only attach one workout')
|
||||
return result,comments,errors,0
|
||||
|
||||
@@ -1471,7 +1471,7 @@ def add_workout_race(ws,race,r,splitsecond=0,recordid=0):
|
||||
errors.append('For tests, you can only attach one workout')
|
||||
return result,comments,errors,0
|
||||
|
||||
|
||||
|
||||
|
||||
username = r.user.first_name+' '+r.user.last_name
|
||||
if r.birthdate:
|
||||
@@ -1498,11 +1498,11 @@ def add_workout_race(ws,race,r,splitsecond=0,recordid=0):
|
||||
if ws[0].workouttype not in mytypes.otwtypes:
|
||||
errors.append('You have to submit a rowing on water workout')
|
||||
return 0,comments,errors,0
|
||||
|
||||
|
||||
if ws[0].workouttype != record.boatclass:
|
||||
errors.append('Your workout boat class is different than on your race registration')
|
||||
return 0,comments,errors,0
|
||||
|
||||
|
||||
if ws[0].boattype != record.boattype:
|
||||
errors.append('Your workout boat type did not match the boat type you registered')
|
||||
return 0,comments,errors,0
|
||||
@@ -1530,7 +1530,7 @@ def add_workout_race(ws,race,r,splitsecond=0,recordid=0):
|
||||
otherrecord.workoutid = None
|
||||
otherrecord.coursecompleted = False
|
||||
otherrecord.save()
|
||||
|
||||
|
||||
if ws[0].privacy == 'private':
|
||||
ws[0].privacy = 'visible'
|
||||
ws[0].save()
|
||||
@@ -1538,10 +1538,10 @@ def add_workout_race(ws,race,r,splitsecond=0,recordid=0):
|
||||
|
||||
job = myqueue(queue,handle_check_race_course,ws[0].csvfilename,
|
||||
ws[0].id,race.course.id,record.id,splitsecond=splitsecond)
|
||||
|
||||
|
||||
add_workouts_plannedsession(ws,race,r)
|
||||
|
||||
|
||||
|
||||
return result,comments,errors,job.id
|
||||
|
||||
def delete_race_result(workout,race):
|
||||
@@ -1549,5 +1549,3 @@ def delete_race_result(workout,race):
|
||||
for r in results:
|
||||
r.workoutid = None
|
||||
r.save()
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user