diff --git a/rowers/templates/menu_workout.html b/rowers/templates/menu_workout.html index d79def7f..937218e7 100644 --- a/rowers/templates/menu_workout.html +++ b/rowers/templates/menu_workout.html @@ -41,13 +41,11 @@  Statistics - + {% if user.is_authenticated and workout|may_edit:request %}
  • diff --git a/rowers/templates/team_compare_select.html b/rowers/templates/team_compare_select.html index abdde333..133f62e4 100644 --- a/rowers/templates/team_compare_select.html +++ b/rowers/templates/team_compare_select.html @@ -83,6 +83,31 @@ your workouts. That makes it easy to search.

  • +
  • +
    + + {{ dateform.as_table }} +
    + + {{ modalityform.as_table }} +
    + {% csrf_token %} +

    + +

    +
    +
  • +
  • +
    + + +
    +
  • {% if workouts %}
    @@ -109,42 +134,6 @@

  • -
  • - {% if team %} -
    - {% else %} - - {% endif %} - - {{ dateform.as_table }} -
    - - {{ modalityform.as_table }} -
    - {% csrf_token %} -

    - -

    -
    -
  • -
  • - {% if team %} -
    - {% else %} - - {% endif %} - - -
    -
  • {% endblock %} diff --git a/rowers/urls.py b/rowers/urls.py index d9856a97..18cc1ae3 100644 --- a/rowers/urls.py +++ b/rowers/urls.py @@ -156,8 +156,13 @@ urlpatterns = [ url(r'^courses/upload$',views.course_upload_view), url(r'^addmanual/$',views.addmanual_view), url(r'^team-compare-select/team/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.team_comparison_select), - url(r'^team-compare-select/team/(?P\d+)/$',views.team_comparison_select), + url(r'^team-compare-select/workout/(?P\d+)/team/(?P\d+)/$',views.team_comparison_select), + url(r'^team-compare-select/team/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.team_comparison_select), + url(r'^team-compare-select/workout/(?P\d+)/team/(?P\d+)/$',views.team_comparison_select), + url(r'^team-compare-select/workout/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.team_comparison_select), url(r'^team-compare-select/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.team_comparison_select), + url(r'^team-compare-select/workout/(?P\d+)/$',views.team_comparison_select), + url(r'^team-compare-select/team/(?P\d+)$',views.team_comparison_select), url(r'^team-compare-select/$',views.team_comparison_select), url(r'^workouts-join-select/team/(?P\d+)/(?P\d+-\d+-\d+)/(?P\d+-\d+-\d+)$',views.workouts_join_select), url(r'^workouts-join$',views.workouts_join_view), @@ -328,6 +333,7 @@ urlpatterns = [ url(r'^workout/(?P\d+)/runkeeperuploadw/$',views.workout_runkeeper_upload_view), url(r'^workout/(?P\d+)/underarmouruploadw/$',views.workout_underarmour_upload_view), url(r'^workout/(?P\d+)/tpuploadw/$',views.workout_tp_upload_view), + url(r'^multi-compare/workout/(?P\d+)$',views.multi_compare_view), url(r'^multi-compare$',views.multi_compare_view), url(r'^user-boxplot/user/(?P\d+)$',views.boxplot_view), url(r'^user-boxplot$',views.boxplot_view), diff --git a/rowers/views.py b/rowers/views.py index 98b2d564..f0cda92f 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -5250,6 +5250,7 @@ def team_comparison_select(request, successmessage='', startdate=timezone.now()-datetime.timedelta(days=30), enddate=timezone.now(), + id=0, teamid=0): try: @@ -5371,7 +5372,7 @@ def team_comparison_select(request, if rankingonly: workouts = [w for w in workouts if w.rankingpiece] - + query = request.GET.get('q') if query: query_list = query.split() @@ -5382,8 +5383,22 @@ def team_comparison_select(request, (Q(notes__icontains=q) for q in query_list)) ) + if id: + firstworkout = get_workout(id) + if not checkworkoutuser(request.user,firstworkout): + raise PermissionDenied("You are not allowed to sue this workout") + + firstworkoutquery = Workout.objects.filter(id=id) + workouts = firstworkoutquery | workouts + else: + firstworkout = None + form = WorkoutMultipleCompareForm() form.fields["workouts"].queryset = workouts + if id: + form.fields["workouts"].initial = [firstworkout] + + if theteam: theid = theteam.id @@ -5396,20 +5411,38 @@ def team_comparison_select(request, 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' - }, + if id: + breadcrumbs = [ + { + 'url':'/rowers/list-workouts', + 'name':'Workouts' + }, + { + 'url':get_workout_default_page(request,id), + 'name': str(id) + }, + { + 'url':reverse(team_comparison_select,kwargs={'id':id,'teamid':teamid}), + 'name':'Compare Select' + }, ] + else: + 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, + 'workout':firstworkout, 'dateform':dateform, 'startdate':startdate, 'enddate':enddate, @@ -5426,7 +5459,7 @@ def team_comparison_select(request, # Team comparison @login_required() -def multi_compare_view(request): +def multi_compare_view(request,id=0): promember=0 if not request.user.is_anonymous(): r = getrower(request.user) @@ -5542,7 +5575,10 @@ def multi_compare_view(request): }) else: - url = reverse(workouts_view) + url = reverse(team_comparison_select, + kwargs={ + 'id':id, + 'teamid':0}) return HttpResponseRedirect(url) # Multi Flex Chart with Grouping