From cef4a6e8186fd3b9d006dc0093926ceeb8c2f701 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Mon, 3 Jul 2017 15:50:10 +0200 Subject: [PATCH] added coastal as type, made workouttype sticky --- rowers/c2stuff.py | 6 +++++- rowers/forms.py | 4 ++-- rowers/models.py | 1 + rowers/views.py | 19 +++++++++++++++++-- 4 files changed, 25 insertions(+), 5 deletions(-) diff --git a/rowers/c2stuff.py b/rowers/c2stuff.py index 9f5639ad..7df1d228 100644 --- a/rowers/c2stuff.py +++ b/rowers/c2stuff.py @@ -247,8 +247,12 @@ def createc2workoutdata_as_splits(w): except TypeError: newnotes = 'from '+w.workoutsource+' via rowsandall.com' + wtype = w.workouttype + if wtype in ('other','coastal'): + wtype = 'water' + data = { - "type": w.workouttype, + "type": wtype, "date": w.startdatetime.isoformat(), "distance": int(w.distance), "time": int(10*makeseconds(durationstr)), diff --git a/rowers/forms.py b/rowers/forms.py index 8b1e7622..abbf3863 100644 --- a/rowers/forms.py +++ b/rowers/forms.py @@ -61,8 +61,8 @@ class DocumentsForm(forms.Form): file = forms.FileField(required=True, validators=[validate_file_extension]) workouttype = forms.ChoiceField(required=True, - choices=Workout.workouttypes, - initial='rower') + choices=Workout.workouttypes) +# initial='rower') notes = forms.CharField(required=False, widget=forms.Textarea) diff --git a/rowers/models.py b/rowers/models.py index 1c305c70..9bb87132 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -361,6 +361,7 @@ class Workout(models.Model): ('slides','Indoor Rower on Slides'), ('paddle','Paddle Adapter'), ('snow','On-snow'), + ('coastal','Coastal'), ('other','Other'), ) diff --git a/rowers/views.py b/rowers/views.py index 0a268c8a..f4493a48 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -6658,6 +6658,9 @@ def workout_upload_view(request, 'make_plot':False, 'upload_to_C2':False, 'plottype':'timeplot', + }, + docformoptions={ + 'workouttype':'rower', }): if 'uploadoptions' in request.session: @@ -6665,6 +6668,10 @@ def workout_upload_view(request, else: request.session['uploadoptions'] = uploadoptions + if 'docformoptions' in request.session: + docformoptions = request.session['docformoptions'] + else: + request.session['docformoptions'] = docformoptions try: makeprivate = uploadoptions['makeprivate'] @@ -6675,6 +6682,11 @@ def workout_upload_view(request, except KeyError: make_plot = False + try: + workouttype = docformoptions['workouttype'] + except KeyError: + workouttype = 'rower' + try: plottype = uploadoptions['plottype'] except KeyError: @@ -6719,7 +6731,10 @@ def workout_upload_view(request, res = handle_uploaded_file(f) t = form.cleaned_data['title'] workouttype = form.cleaned_data['workouttype'] - + request.session['docformoptions'] = { + 'workouttype':workouttype, + } + notes = form.cleaned_data['notes'] if optionsform.is_valid(): @@ -6930,7 +6945,7 @@ def workout_upload_view(request, return response else: - form = DocumentsForm() + form = DocumentsForm(initial=docformoptions) optionsform = UploadOptionsForm(initial=uploadoptions) return render(request, 'document_form.html', {'form':form,