diff --git a/rowers/dataprep.py b/rowers/dataprep.py index 026fa09a..c042b4af 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -1621,7 +1621,26 @@ def get_existing_job(w): def workout_trimp(w, reset=False): r = w.user - if w.trimp > -1 and not reset: + if w.trimp is None: + if get_existing_job(w): + return 0, 0 + elif w.averagehr is None: + if get_existing_job(w): + return w.trimp, 0 + elif w.trimp <= 0 and w.averagehr > 0: + ftp = float(r.ftp) + _ = myqueue( + queuehigh, + handle_calctrimp, + w.id, + w.csvfilename, + ftp, + r.sex, + r.hrftp, + r.max, + r.rest) + return w.trimp, w.hrtss + elif w.trimp > -1 and not reset: return w.trimp, w.hrtss if get_existing_job(w): @@ -1662,7 +1681,14 @@ def workout_trimp(w, reset=False): r.max, r.rest) - return 0, 0 + trimp = 0 + averagehr = 0 + if w.trimp is not None and w.trimp > 0: + trimp = w.trimp + if w.averagehr is not None and w.averagehr > 0: + averagehr = w.averagehr + + return trimp, averagehr def workout_rscore(w, reset=False): diff --git a/rowers/tests/testdata/testdata.tcx.gz b/rowers/tests/testdata/testdata.tcx.gz index a343ff95..76d8220c 100644 Binary files a/rowers/tests/testdata/testdata.tcx.gz and b/rowers/tests/testdata/testdata.tcx.gz differ diff --git a/rowers/views/analysisviews.py b/rowers/views/analysisviews.py index 7793ae1d..46366473 100644 --- a/rowers/views/analysisviews.py +++ b/rowers/views/analysisviews.py @@ -2105,7 +2105,7 @@ class SavedAnalysisView(UserPassesTestMixin, View): self.searchform = SearchForm(initial={'q': query}) date_initial = {} if startdate: - self.analyses = self.analyses.filter(date__gte=startdate) + self.analyses = self.analyses.filter(date__gte=startdate) date_initial['startdate'] = startdate if enddate: self.analyses = self.analyses.filter(date__lte=enddate) diff --git a/rowers/views/importviews.py b/rowers/views/importviews.py index 838bc287..a0cb1d15 100644 --- a/rowers/views/importviews.py +++ b/rowers/views/importviews.py @@ -372,7 +372,7 @@ def workout_import_view(request, source='c2'): _ = integration.open() except NoTokenError: # pragma: no cover try: - url = importauthorizeviews[source] + url = reverse(importauthorizeviews[source],kwargs={'source':source}) return HttpResponseRedirect(url) except KeyError: messages.error(request,'Sorry, an error occurred. Please reauthorize')