diff --git a/rowers/tests/testdata/testdata.tcx.gz b/rowers/tests/testdata/testdata.tcx.gz index 711b7fac..42d7a365 100644 Binary files a/rowers/tests/testdata/testdata.tcx.gz and b/rowers/tests/testdata/testdata.tcx.gz differ diff --git a/rowers/views/apiviews.py b/rowers/views/apiviews.py index 1673ce2c..8c214655 100644 --- a/rowers/views/apiviews.py +++ b/rowers/views/apiviews.py @@ -469,7 +469,10 @@ def strokedata_tcx(request): if request.data: tcxdata = request.data tcxfilename = 'media/{code}.tcx'.format(code=uuid4().hex[:16]) - xml_string = ET.tostring(tcxdata, encoding='utf-8', method='xml').decode('utf-8') + try: + xml_string = ET.tostring(tcxdata, encoding='utf-8', method='xml').decode('utf-8') + except AttributeError: + return HttpResponseNotAllowed("Could not parse TCX data") with open(tcxfilename, 'w', encoding='utf-8') as xml_file: xml_file.write(xml_string) diff --git a/rowers/views/workoutviews.py b/rowers/views/workoutviews.py index a64e7324..ff1356ec 100644 --- a/rowers/views/workoutviews.py +++ b/rowers/views/workoutviews.py @@ -2543,7 +2543,7 @@ def workout_view(request, id=0, raceresult=0, sessionresult=0, nocourseraceresul mapscript, mapdiv = leaflet_chart( latitudes, longitudes, row.name, raceresult=raceresult) records = VirtualRaceResult.objects.filter( - workoutid=row.id, userid=row.user.user.id, coursecompleted=True) + workoutid=row.id, userid=row.user.id, coursecompleted=True) if records.count() > 0: # pragma: no cover courses = list(set([record.course for record in records]))