diff --git a/rowers/dataprep.py b/rowers/dataprep.py index cc8f199f..c14d7d2d 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -1126,6 +1126,9 @@ def save_workout_database(f2, r, dosmooth=True, workouttype='rower', summary='', makeprivate=False, oarlength=2.89, inboard=0.88, + boatname='', + empowerside='port', + seatnumber=1, forceunit='lbs', consistencychecks=False, startdatetime='', @@ -1343,6 +1346,9 @@ def save_workout_database(f2, r, dosmooth=True, workouttype='rower', w.startdatetime = workoutstartdatetime w.inboard = inboard w.oarlength = oarlength + w.seatnumber = seatnumber + w.boatname = boatname + w.empowerside = empowerside w.timezone = timezone_str w.privacy = privacy w.impeller = impeller @@ -1367,6 +1373,9 @@ def save_workout_database(f2, r, dosmooth=True, workouttype='rower', maxhr=maxhr, averagehr=averagehr, startdatetime=workoutstartdatetime, inboard=inboard, oarlength=oarlength, + boatname=boatname, + empowerside=empowerside, + seatnumber=seatnumber, timezone=timezone_str, privacy=privacy, impeller=impeller) @@ -1418,6 +1427,9 @@ def new_workout_from_file(r, f2, oarlockfirmware='', inboard=None, oarlength=None, + boatname='', + seatnumber=1, + empowerside='port', impeller=False, uploadoptions={'boattype': '1x', 'workouttype': 'rower'}): message = "" @@ -1583,6 +1595,8 @@ def new_workout_from_file(r, f2, startdatetime=startdatetime, rpe=rpe, inboard=inboard, oarlength=oarlength, + seatnumber=seatnumber, boatname=boatname, + empowerside=empowerside, title=title, forceunit='N', impeller=impeller, diff --git a/rowers/models.py b/rowers/models.py index be3247eb..bfa22a1c 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -3626,9 +3626,9 @@ class Workout(models.Model): # empower stuff inboard = models.FloatField(default=0.88) oarlength = models.FloatField(default=2.89) - seatnumber = models.IntegerField(default=1) - boatname = models.CharField(default='', blank=True, null=True, max_length=150) - empowerside = models.CharField(default='starboard', blank=True, null=True, max_length=150) + seatnumber = models.IntegerField(default=1, verbose_name='Seat Number') + boatname = models.CharField(default='', blank=True, null=True, max_length=150, verbose_name='Boat Name') + empowerside = models.CharField(default='starboard', blank=True, null=True, max_length=150, verbose_name='Empower Oarlock side') notes = models.CharField(blank=True, null=True, max_length=1000) summary = models.TextField(blank=True) @@ -4363,6 +4363,9 @@ class WorkoutForm(ModelForm): 'distance', 'workouttype', 'boattype', + 'boatname', + 'seatnumber', + 'empowerside', 'dragfactor', 'weightcategory', 'adaptiveclass', diff --git a/rowers/tests/testdata/testdata.tcx.gz b/rowers/tests/testdata/testdata.tcx.gz index 5735f761..e5817eac 100644 Binary files a/rowers/tests/testdata/testdata.tcx.gz and b/rowers/tests/testdata/testdata.tcx.gz differ diff --git a/rowers/views/workoutviews.py b/rowers/views/workoutviews.py index e4b49aef..4151a620 100644 --- a/rowers/views/workoutviews.py +++ b/rowers/views/workoutviews.py @@ -4855,6 +4855,13 @@ def workout_upload_api(request): inboard = post_data.get('inboard', None) oarlength = post_data.get('oarlength', None) useImpeller = post_data.get('useImpeller', False) + seatnumber = post_data.get('seatNumber', 1) + boatname = post_data.get('boatName','') + portStarboard = post_data.get('portStarboard', 1) + empowerside = 'port' + if portStarboard == 1: + empowerside = 'starboard' + totalDistance = post_data.get('totalDistance', None) elapsedTime = post_data.get('elapsedTime', None) @@ -4946,6 +4953,9 @@ def workout_upload_api(request): oarlength=oarlength, impeller=useImpeller, workoutid=workoutid, + empowerside=empowerside, + boatname=boatname, + seatnumber=seatnumber, ) if id == 0: # pragma: no cover