From f0bfb810a45b00a9aac6dac7faed2fd580fd09d3 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Sun, 22 Oct 2017 11:11:30 +0200 Subject: [PATCH] made a landing page option --- rowers/forms.py | 4 ++++ rowers/models.py | 9 ++++++--- rowers/templates/list_workouts.html | 4 ++-- rowers/urls.py | 6 ++++-- rowers/utils.py | 6 ++++++ rowers/views.py | 15 ++++++++++++--- 6 files changed, 34 insertions(+), 10 deletions(-) diff --git a/rowers/forms.py b/rowers/forms.py index 7b7f2cc4..83de2878 100644 --- a/rowers/forms.py +++ b/rowers/forms.py @@ -12,6 +12,7 @@ import dataprep import types import datetime from django.forms import formset_factory +from utils import landingpages # login form class LoginForm(forms.Form): @@ -180,6 +181,9 @@ class UploadOptionsForm(forms.Form): makeprivate = forms.BooleanField(initial=False,required=False, label='Make Workout Private') + landingpage = forms.ChoiceField(choices=landingpages, + initial='workout_edit_view') + class Meta: fields = ['make_plot','plottype','upload_toc2','makeprivate'] diff --git a/rowers/models.py b/rowers/models.py index 5b7a89ac..fc40651a 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -198,7 +198,7 @@ class TeamRequest(models.Model): from utils import ( workflowleftpanel,workflowmiddlepanel, - defaultleft,defaultmiddle + defaultleft,defaultmiddle,landingpages ) # Extension of User with rowing specific data @@ -281,8 +281,10 @@ class Rower(models.Model): # Site Settings workflowleftpanel = TemplateListField(default=defaultleft) - workflowmiddlepanel = TemplateListField(default=defaultmiddle) + defaultlandingpage = models.CharField(default='workout_edit_view', + max_length=200, + choices=landingpages) # Access tokens c2token = models.CharField(default='',max_length=200,blank=True,null=True) @@ -889,7 +891,8 @@ class AccountRowerForm(ModelForm): class Meta: model = Rower fields = ['weightcategory','getemailnotifications', - 'defaulttimezone','showfavoritechartnotes'] + 'defaulttimezone','showfavoritechartnotes', + 'defaultlandingpage'] class UserForm(ModelForm): class Meta: diff --git a/rowers/templates/list_workouts.html b/rowers/templates/list_workouts.html index 9b61d44c..c04b7727 100644 --- a/rowers/templates/list_workouts.html +++ b/rowers/templates/list_workouts.html @@ -84,9 +84,9 @@ [RANKING PIECE] {% endif %} {% if workout.name != '' %} - {{ workout.name }} + {{ workout.name }} {% else %} - No Name + No Name {% endif %} {% else %} {% if workout.name != '' %} diff --git a/rowers/urls.py b/rowers/urls.py index 1691e9ae..a218c9b3 100644 --- a/rowers/urls.py +++ b/rowers/urls.py @@ -191,7 +191,8 @@ urlpatterns = [ url(r'^workout/compare/(?P\d+)/$',views.workout_comparison_list), url(r'^workout/compare2/(?P\d+)/(?P\d+)/(?P\w+.*)/(?P\w+.*)/$',views.workout_comparison_view), url(r'^workout/compare/(?P\d+)/(?P\d+-\d+-\d+)/(?P\w+.*)$',views.workout_comparison_list), - url(r'^workout/(?P\d+)/edit$',views.workout_edit_view), + url(r'^workout/(?P\d+)/edit$',views.workout_edit_view, + name='workout_edit_view'), url(r'^workout/(?P\d+)/navionics$',views.workout_edit_view_navionics), url(r'^workout/(?P\d+)/map$',views.workout_map_view), url(r'^workout/(?P\d+)/setprivate$',views.workout_setprivate_view), @@ -329,7 +330,8 @@ urlpatterns = [ url(r'^legal', TemplateView.as_view(template_name='legal.html'),name='legal'), url(r'^register$',views.rower_register_view), url(r'^register/thankyou/$', TemplateView.as_view(template_name='registerthankyou.html'), name='registerthankyou'), - url(r'^workout/(?P\d+)/workflow$',views.workout_workflow_view), + url(r'^workout/(?P\d+)/workflow$',views.workout_workflow_view, + name='workout_workflow_view'), url(r'^workout/(?P\d+)/flexchart/(?P\w+.*)/(?P\w+.*)/(?P\w+.*)/(?P\w+)/$',views.workout_flexchart3_view), url(r'^workout/(?P\d+)/flexchart/(?P\w+.*)/(?P\w+.*)/(?P\w+.*)/(?P\w+.*)$',views.workout_flexchart3_view), url(r'^workout/(?P\d+)/flexchart/(?P\w+.*)/(?P\w+.*)/(?P\w+.*)$',views.workout_flexchart3_view), diff --git a/rowers/utils.py b/rowers/utils.py index 23a04080..27133bf5 100644 --- a/rowers/utils.py +++ b/rowers/utils.py @@ -5,6 +5,12 @@ import colorsys lbstoN = 4.44822 +landingpages = ( + ('workout_edit_view','Edit View'), + ('workout_workflow_view','Workflow View'), +) + + workflowmiddlepanel = ( ('panel_statcharts.html','Static Charts'), ('flexthumbnails.html','Flex Charts'), diff --git a/rowers/views.py b/rowers/views.py index 09238cbc..ec138f07 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -4454,6 +4454,7 @@ def workouts_view(request,message='',successmessage='', return render(request, 'list_workouts.html', {'workouts': workouts, + 'rower':r, 'dateform':dateform, 'startdate':startdate, 'enddate':enddate, @@ -7587,13 +7588,17 @@ def workout_upload_view(request, 'make_plot':False, 'upload_to_C2':False, 'plottype':'timeplot', + 'landingpage':'workout_edit_view', }, docformoptions={ 'workouttype':'rower', }): + r = getrower(request.user) + if 'uploadoptions' in request.session: uploadoptions = request.session['uploadoptions'] + uploadoptions['landingpage'] = r.defaultlandingpage else: request.session['uploadoptions'] = uploadoptions @@ -7651,7 +7656,6 @@ def workout_upload_view(request, except KeyError: upload_totp = False - r = getrower(request.user) if request.method == 'POST': form = DocumentsForm(request.POST,request.FILES) optionsform = UploadOptionsForm(request.POST) @@ -7676,6 +7680,7 @@ def workout_upload_view(request, upload_to_ua = optionsform.cleaned_data['upload_to_MapMyFitness'] upload_to_tp = optionsform.cleaned_data['upload_to_TrainingPeaks'] makeprivate = optionsform.cleaned_data['makeprivate'] + landingpage = optionsform.cleaned_data['landingpage'] uploadoptions = { 'makeprivate':makeprivate, @@ -7687,6 +7692,7 @@ def workout_upload_view(request, 'upload_to_RunKeeper':upload_to_rk, 'upload_to_MapMyFitness':upload_to_ua, 'upload_to_TrainingPeaks':upload_to_tp, + 'landingpage':r.defaultlandingpage, } @@ -7809,8 +7815,8 @@ def workout_upload_view(request, messages.info(request,message) else: messages.error(request,message) - - url = reverse(workout_edit_view, + + url = reverse(landingpage, kwargs = { 'id':w.id, }) @@ -7826,6 +7832,7 @@ def workout_upload_view(request, return response else: form = DocumentsForm(initial=docformoptions) + print uploadoptions optionsform = UploadOptionsForm(initial=uploadoptions) return render(request, 'document_form.html', {'form':form, @@ -8778,6 +8785,7 @@ def rower_edit_view(request,message=""): first_name = ucd['first_name'] last_name = ucd['last_name'] email = ucd['email'] + defaultlandingpage = cd['defaultlandingpage'] weightcategory = cd['weightcategory'] getemailnotifications = cd['getemailnotifications'] defaulttimezone=cd['defaulttimezone'] @@ -8794,6 +8802,7 @@ def rower_edit_view(request,message=""): r.defaulttimezone=defaulttimezone r.weightcategory = weightcategory r.getemailnotifications = getemailnotifications + r.defaultlandingpage = defaultlandingpage r.save() form = RowerForm(instance=r) powerform = RowerPowerForm(instance=r)