From e388d5617704c385928f515cbdb393ccd2da55ba Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Tue, 19 Feb 2019 21:04:40 +0100 Subject: [PATCH] finally making admin widgets work --- rowers/models.py | 7 ++++++- rowers/templates/list_workouts.html | 19 ++++++++++++++++++- rowers/views/planviews.py | 2 ++ rowers/views/workoutviews.py | 2 +- rowsandall_app/urls.py | 1 + templates/newbase.html | 6 ++++-- 6 files changed, 32 insertions(+), 5 deletions(-) diff --git a/rowers/models.py b/rowers/models.py index a162479f..500c5ad9 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -1042,7 +1042,12 @@ def checkaccessplanuser(user,rower): if rower == r: return True team_managers = [t.manager for t in rower.team.all() if t.manager.rower.rowerplan in ['plan','coach']] - return user in team_managers + if user.rower.rowerplan != 'basic': + return user in team_managers + else: + return False + + return False except Rower.DoesNotExist: return False diff --git a/rowers/templates/list_workouts.html b/rowers/templates/list_workouts.html index 7a42b7c2..bfac39a8 100644 --- a/rowers/templates/list_workouts.html +++ b/rowers/templates/list_workouts.html @@ -189,7 +189,7 @@ {{ workout.date|date:"Y-m-d" }} {{ workout.starttime|date:"H:i" }} - {% if workout.user.user == user or user == team.manager %} + {% if workout|may_edit:request %} {% if workout.name != '' %} @@ -215,18 +215,27 @@ {{ workout.maxhr }} {% if team %} + {% if workout|may_edit:request %} {{ workout.user.user.first_name }} {{ workout.user.user.last_name }} + {% else %} + {{ workout.user.user.first_name }} + {{ workout.user.user.last_name }} + {% endif %} {% endif %} + {% if workout|may_edit:request %} + {% else %} +   + {% endif %} + {% if workout|may_edit:request %} + {% else %} +   + {% endif %} + {% if workout.user.user == user or user == team.manager %} + {% else %} +   + {% endif %} diff --git a/rowers/views/planviews.py b/rowers/views/planviews.py index 6af68022..83f1678a 100644 --- a/rowers/views/planviews.py +++ b/rowers/views/planviews.py @@ -548,6 +548,7 @@ def plannedsession_multicreate_view(request, # Manager creates sessions for entire team @user_passes_test(hasplannedsessions,login_url="/rowers/paidplans/", + message="This functionality requires a Coach or Self-Coach plan", redirect_field_name=None) def plannedsession_teamcreate_view(request, teamid=0,userid=0): @@ -716,6 +717,7 @@ def plannedsession_teamcreate_view(request, # Manager edits sessions for entire team @user_passes_test(iscoachmember,login_url="/rowers/paidplans/", + message="This functionality requires a Coach or Self-Coach plan", redirect_field_name=None) def plannedsession_teamedit_view(request, sessionid=0,userid=0): diff --git a/rowers/views/workoutviews.py b/rowers/views/workoutviews.py index 0a577e51..ed1435a6 100644 --- a/rowers/views/workoutviews.py +++ b/rowers/views/workoutviews.py @@ -856,7 +856,7 @@ def virtualevent_compare_view(request,id=0): workouts = [] for id in workoutids: try: - workouts.append(Workout.objects.get(id=encode.decode_hex(id))) + workouts.append(Workout.objects.get(id=id)) except Workout.DoesNotExist: pass diff --git a/rowsandall_app/urls.py b/rowsandall_app/urls.py index 2d5fd3a6..7a5ab265 100644 --- a/rowsandall_app/urls.py +++ b/rowsandall_app/urls.py @@ -75,6 +75,7 @@ urlpatterns += [ url(r'^twitter\_callback',rowersviews.rower_process_twittercallback), url(r'^i18n/', include('django.conf.urls.i18n')), url(r'^tz_detect/', include('tz_detect.urls')), + url(r'^jsi18n/', 'django.views.i18n.javascript_catalog',name='jsi18n'), ] diff --git a/templates/newbase.html b/templates/newbase.html index 05596f32..34ccbcc9 100644 --- a/templates/newbase.html +++ b/templates/newbase.html @@ -12,7 +12,7 @@ {% block title %}Rowsandall Rowing Data Analytics{% endblock %} {% block scripts %} {% endblock %} - + @@ -31,7 +31,9 @@ - + + +