From 4c0f165dda6abfe9976cf58275491246bab8e675 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Fri, 16 Oct 2020 16:28:22 +0200 Subject: [PATCH 1/2] bug fix registration entry --- rowers/plannedsessions.py | 20 ++++++++++++++++++++ rowers/views/racesviews.py | 2 +- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/rowers/plannedsessions.py b/rowers/plannedsessions.py index a896b372..e1be3af1 100644 --- a/rowers/plannedsessions.py +++ b/rowers/plannedsessions.py @@ -1064,6 +1064,26 @@ def race_can_submit(r,race): return False +def race_can_editentry(r,race): + start_time = race.start_time + start_date = race.startdate + startdatetime = datetime.combine(start_date,start_time) + startdatetime = pytz.timezone(race.timezone).localize( + startdatetime + ) + evaluation_closure = race.evaluation_closure + + if timezone.now() < evaluation_closure: + is_complete,has_registered = race_rower_status(r,race) + if is_complete == False: + return True + else: + return False + else: + return False + + return False + def race_can_resubmit(r,race): records = VirtualRaceResult.objects.filter( userid=r.id, diff --git a/rowers/views/racesviews.py b/rowers/views/racesviews.py index 9afa2ffb..e304d20e 100644 --- a/rowers/views/racesviews.py +++ b/rowers/views/racesviews.py @@ -3380,7 +3380,7 @@ def virtualevent_entry_edit_view(request,id=0,entryid=0): except VirtualRace.DoesNotExist: raise Http404("Virtual Challenge does not exist") - if not race_can_submit(r,race): + if not race_can_editentry(r,race): messages.error(request,'You cannot change your entries for this challenge') url = reverse('virtualevent_view', kwargs={'id':race.id} From 7109f5aa88f1b5a285bb0b7474fdb3e9fff0a9e3 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Fri, 16 Oct 2020 18:07:02 +0200 Subject: [PATCH 2/2] fixes, test_aworkouts misbehaving --- requirements.txt | 1 + rowers/datautils.py | 8 +-- rowers/tests/test_analysis.py | 4 ++ rowers/tests/test_aworkouts.py | 91 ++++++++++++++++++---------------- 4 files changed, 58 insertions(+), 46 deletions(-) diff --git a/requirements.txt b/requirements.txt index 8173de9e..ec986f8e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -170,6 +170,7 @@ pytest-django==3.4.8 pytest-forked==1.0.2 pytest-runner==4.4 pytest-sugar==0.9.2 +pytest-timeout==1.4.2 pytest-xdist==1.27.0 python-dateutil==2.8.0 python-memcached==1.59 diff --git a/rowers/datautils.py b/rowers/datautils.py index 554ea19e..08b7f5b5 100644 --- a/rowers/datautils.py +++ b/rowers/datautils.py @@ -60,7 +60,7 @@ def updatecp(delta,cpvalues,r,workouttype='water'): return 1 -def cpfit(powerdf): +def cpfit(powerdf,fraclimit=0.0001,nmax=1000): # Fit the data to thee parameter CP model fitfunc = lambda pars,x: abs(pars[0])/(1+(x/abs(pars[2]))) + abs(pars[1])/(1+(x/abs(pars[3]))) errfunc = lambda pars,x,y: fitfunc(pars,x)-y @@ -96,11 +96,13 @@ def cpfit(powerdf): frac = abs(ddmin)/fitpoints.mean() - while frac>0.0001: + counter = 0 + while frac>fraclimit and counter