diff --git a/rowers/models.py b/rowers/models.py index e659f300..5823717e 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -2487,7 +2487,7 @@ class StepEditorForm(ModelForm): if self.instance.durationtype == 'Time': self.initial['durationvalue'] = self.instance.durationvalue / 60000 elif self.instance.durationtype == 'Distance': - form.initial['durationvalue'] = self.instance.durationvalue / 100 + self.initial['durationvalue'] = self.instance.durationvalue / 100 def save(self, *args, **kwargs): # conversions diff --git a/rowers/views/planviews.py b/rowers/views/planviews.py index 6e8e8826..0a6221d4 100644 --- a/rowers/views/planviews.py +++ b/rowers/views/planviews.py @@ -1405,9 +1405,24 @@ def save_plan_yaml(request, userid=0): for ps in sps: if ps.preferreddate == dd: sessionsport = mytypes.fitmapping[ps.sessionsport].capitalize() - steps = ps.steps - steps['filename'] = "" - workouts.append(steps) + if ps.steps: + steps = ps.steps + steps['filename'] = "" + workouts.append(steps) + else: + if ps.sessionmode == 'distance': + ps.interval_string = '{d}m'.format(d=ps.sessionvalue) + elif ps.sessionmode == 'time': + ps.interval_string = '{d}min'.format(d=ps.sessionvalue) + ps.fitfile = '' + ps.steps = None + ps.save() + ps_reload = PlannedSession.objects.get(id=ps.id) + steps = ps_reload.steps + steps['filename'] = "" + steps['workoutName'] = ps.name + print(steps) + workouts.append(steps) trainingdays.append({'order': i+1, 'workouts': workouts}) @@ -3211,8 +3226,12 @@ def stepeditor(request, id=0): step.save() - steps = PlannedSessionStep.objects.filter(manager=request.user) - + steps = PlannedSessionStep.objects.filter( + manager=request.user, + durationtype__in=['Time','Distance','RepeatUntilStepsCmplt'] + ).order_by( + 'intensity','-durationvalue','durationtype', + ) stepdescriptions = {}