From 40ec94d5b0f4276490b07476defcc417b72daa33 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Tue, 9 Oct 2018 22:03:07 +0200 Subject: [PATCH] multicompare view line 330 urls.py --- rowers/templates/multicompare.html | 71 +++---- rowers/templates/team_compare_select.html | 106 +++++------ rowers/templates/workout_form.html | 3 - rowers/urls.py | 4 +- rowers/views.py | 217 ++++++++++++++-------- 5 files changed, 209 insertions(+), 192 deletions(-) diff --git a/rowers/templates/multicompare.html b/rowers/templates/multicompare.html index 8901fa8c..2907d8d4 100644 --- a/rowers/templates/multicompare.html +++ b/rowers/templates/multicompare.html @@ -1,10 +1,10 @@ -{% extends "base.html" %} +{% extends "newbase.html" %} {% load staticfiles %} {% load rowerfilters %} {% block title %}View Comparison {% endblock %} -{% block content %} +{% block main %} +

Interactive Comparison

+ {% endblock %} + +{% block sidebar %} +{% include 'menu_workouts.html' %} +{% endblock %} diff --git a/rowers/templates/team_compare_select.html b/rowers/templates/team_compare_select.html index 7aba7ec6..abdde333 100644 --- a/rowers/templates/team_compare_select.html +++ b/rowers/templates/team_compare_select.html @@ -29,7 +29,9 @@ hidden.hide(); - + if (modality.val() == 'water') { + hidden.show(); + } // Setup an event listener for when the state of the // checkbox changes. @@ -68,12 +70,25 @@ {% endblock %} diff --git a/rowers/templates/workout_form.html b/rowers/templates/workout_form.html index c59810a9..026721ab 100644 --- a/rowers/templates/workout_form.html +++ b/rowers/templates/workout_form.html @@ -107,9 +107,6 @@ $('#id_workouttype').change(); {{ workout.summary }}

-

- Update Summary -

{% if mapdiv %}
  • diff --git a/rowers/urls.py b/rowers/urls.py index e7b87ba1..15545a03 100644 --- a/rowers/urls.py +++ b/rowers/urls.py @@ -240,9 +240,9 @@ urlpatterns = [ url(r'^workout/(?P\d+)/edit$',views.workout_edit_view, name='workout_edit_view'), url(r'^workout/(?P\d+)/map$',views.workout_map_view), - url(r'^workout/(?P\d+)/setprivate$',views.workout_setprivate_view), +# url(r'^workout/(?P\d+)/setprivate$',views.workout_setprivate_view), url(r'^workout/(?P\d+)/updatecp$',views.workout_update_cp_view), - url(r'^workout/(?P\d+)/makepublic$',views.workout_makepublic_view), +# url(r'^workout/(?P\d+)/makepublic$',views.workout_makepublic_view), # url(r'^workout/(?P\d+)/geeky$',views.workout_geeky_view), # url(r'^workout/(?P\d+)/advanced$',views.workout_advanced_view), url(r'^workout/(?P\d+)/instroke/(?P\w+.*)$',views.instroke_chart), diff --git a/rowers/views.py b/rowers/views.py index d2179531..23949385 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -5136,21 +5136,16 @@ def team_comparison_select(request, modalities = [m[0] for m in types.workouttypes] modality = 'all' - if request.method == 'POST' and 'daterange' in request.POST: + if request.method == 'POST': dateform = DateRangeForm(request.POST) if dateform.is_valid(): startdate = dateform.cleaned_data['startdate'] enddate = dateform.cleaned_data['enddate'] startdatestring = startdate.strftime('%Y-%m-%d') enddatestring = enddate.strftime('%Y-%m-%d') - else: - dateform = DateRangeForm(initial={ - 'startdate':startdate, - 'enddate':enddate, - }) + request.session['startdate'] = startdatestring + request.session['enddate'] = enddatestring - - if request.method == 'POST' and 'modality' in request.POST: modalityform = TrendFlexModalForm(request.POST) if modalityform.is_valid(): modality = modalityform.cleaned_data['modality'] @@ -5171,6 +5166,19 @@ def team_comparison_select(request, request.session['modalities'] = modalities request.session['waterboattype'] = waterboattype + else: + dateform = DateRangeForm(initial={ + 'startdate':startdate, + 'enddate':enddate, + }) + modalityform = TrendFlexModalForm(initial={ + 'modality':modality, + 'waterboattype':waterboattype, + 'rankingonly':rankingonly, + }) + + + negtypes = [] for b in types.boattypes: @@ -5241,16 +5249,23 @@ def team_comparison_select(request, theid = 0 chartform = ChartParamChoiceForm(initial={'teamid':0}) - modalityform = TrendFlexModalForm(initial={ - 'modality':modality, - 'waterboattype':waterboattype, - 'rankingonly':rankingonly, - }) - messages.info(request,successmessage) messages.error(request,message) + r = getrower(request.user) + breadcrumbs = [ + { + 'url':'/rowers/list-workouts', + 'name':'Workouts' + }, + { + 'url':reverse(team_comparison_select,kwargs={'teamid':teamid}), + 'name': 'Compare Select' + }, + + ] + return render(request, 'team_compare_select.html', {'workouts': workouts, 'dateform':dateform, @@ -5258,6 +5273,8 @@ def team_comparison_select(request, 'enddate':enddate, 'team':theteam, 'form':form, + 'rower':r, + 'breadcrumbs':breadcrumbs, 'active':'nav-workouts', 'chartform':chartform, 'modalityform':modalityform, @@ -5303,9 +5320,27 @@ def multi_compare_view(request): if errormessage != '': messages.error(request,errormessage) + r = getrower(request.user) + breadcrumbs = [ + { + 'url':'/rowers/list-workouts', + 'name':'Workouts' + }, + { + 'url':reverse(team_comparison_select,kwargs={'teamid':teamid}), + 'name': 'Compare Select' + }, + { + 'url':reverse(multi_compare_view), + 'name': 'Comparison Chart' + } + ] return render(request,'multicompare.html', {'interactiveplot':script, 'the_div':div, + 'breadcrumbs':breadcrumbs, + 'rower':r, + 'active':'nav-workouts', 'promember':promember, 'teamid':teamid, 'chartform':chartform, @@ -5335,9 +5370,29 @@ def multi_compare_view(request): script = res[0] div = res[1] + r = getrower(request.user) + breadcrumbs = [ + { + 'url':'/rowers/list-workouts', + 'name':'Workouts' + }, + { + 'url':reverse(team_comparison_select,kwargs={'teamid':teamid}), + 'name': 'Compare Select' + }, + { + 'url':reverse(multi_compare_view), + 'name': 'Comparison Chart' + } + ] + + return render(request,'multicompare.html', {'interactiveplot':script, 'the_div':div, + 'breadcrumbs':breadcrumbs, + 'rower':r, + 'active':'nav-workouts', 'promember':promember, 'teamid':teamid, 'chartform':chartform, @@ -6475,74 +6530,76 @@ def workout_comparison_list(request,id=0,message='',successmessage='', try: r = getrower(request.user) - u = User.objects.get(id=r.user.id) - if request.method == 'POST': - dateform = DateRangeForm(request.POST) - if dateform.is_valid(): - startdate = dateform.cleaned_data['startdate'] - enddate = dateform.cleaned_data['enddate'] - else: - dateform = DateRangeForm(initial={ - 'startdate':startdate, - 'enddate':enddate, - }) - - if startdatestring: - startdate = iso8601.parse_date(startdatestring) - if enddatestring: - enddate = iso8601.parse_date(enddatestring) - - startdate = datetime.datetime.combine(startdate,datetime.time()) - enddate = datetime.datetime.combine(enddate,datetime.time(23,59,59)) - #enddate = enddate+datetime.timedelta(days=1) - - if enddate < startdate: - s = enddate - enddate = startdate - startdate = s - - workouts = Workout.objects.filter(user=r, - startdatetime__gte=startdate, - startdatetime__lte=enddate).order_by("-date", "-starttime").exclude(id=id) - - query = request.GET.get('q') - if query: - query_list = query.split() - workouts = workouts.filter( - reduce(operator.and_, - (Q(name__icontains=q) for q in query_list)) | - reduce(operator.and_, - (Q(notes__icontains=q) for q in query_list)) - ) - - paginator = Paginator(workouts,15) # show 25 workouts per page - page = request.GET.get('page') - - try: - workouts = paginator.page(page) - except PageNotAnInteger: - workouts = paginator.page(1) - except EmptyPage: - workouts = paginator.page(paginator.num_pages) - - row = get_workout(id) - - messages.error(request,message) - messages.info(request,successmessage) - - return render(request, 'comparison_list.html', - {'id':int(id), - 'workout':row, - 'workouts': workouts, - 'last_name':u.last_name, - 'first_name':u.first_name, - 'dateform':dateform, - 'startdate':startdate, - 'enddate':enddate, - 'teams':get_my_teams(request.user), - }) except Rower.DoesNotExist: raise Http404("User has no rower instance") + u = User.objects.get(id=r.user.id) + + if request.method == 'POST': + dateform = DateRangeForm(request.POST) + if dateform.is_valid(): + startdate = dateform.cleaned_data['startdate'] + enddate = dateform.cleaned_data['enddate'] + else: + dateform = DateRangeForm(initial={ + 'startdate':startdate, + 'enddate':enddate, + }) + + if startdatestring: + startdate = iso8601.parse_date(startdatestring) + if enddatestring: + enddate = iso8601.parse_date(enddatestring) + + startdate = datetime.datetime.combine(startdate,datetime.time()) + enddate = datetime.datetime.combine(enddate,datetime.time(23,59,59)) + #enddate = enddate+datetime.timedelta(days=1) + + if enddate < startdate: + s = enddate + enddate = startdate + startdate = s + + workouts = Workout.objects.filter(user=r, + startdatetime__gte=startdate, + startdatetime__lte=enddate).order_by("-date", "-starttime").exclude(id=id) + + query = request.GET.get('q') + if query: + query_list = query.split() + workouts = workouts.filter( + reduce(operator.and_, + (Q(name__icontains=q) for q in query_list)) | + reduce(operator.and_, + (Q(notes__icontains=q) for q in query_list)) + ) + + paginator = Paginator(workouts,15) # show 25 workouts per page + page = request.GET.get('page') + + try: + workouts = paginator.page(page) + except PageNotAnInteger: + workouts = paginator.page(1) + except EmptyPage: + workouts = paginator.page(paginator.num_pages) + + row = get_workout(id) + + messages.error(request,message) + messages.info(request,successmessage) + + return render(request, 'comparison_list.html', + {'id':int(id), + 'workout':row, + 'workouts': workouts, + 'last_name':u.last_name, + 'first_name':u.first_name, + 'dateform':dateform, + 'startdate':startdate, + 'enddate':enddate, + 'teams':get_my_teams(request.user), + }) + # List of workouts to compare a selected workout to @user_passes_test(ispromember,login_url="/",redirect_field_name=None)