From 28710dbdd6366076b2f6a8e89811cba0b1dd092a Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Thu, 16 Jan 2020 17:07:41 +0100 Subject: [PATCH] fix --- rowers/views/analysisviews.py | 1 + rowers/views/statements.py | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/rowers/views/analysisviews.py b/rowers/views/analysisviews.py index d7792db5..10f5672f 100644 --- a/rowers/views/analysisviews.py +++ b/rowers/views/analysisviews.py @@ -33,6 +33,7 @@ defaultoptions = { @user_passes_test(ispromember, login_url="/rowers/paidplans", message="This functionality requires a Pro plan or higher. If you are already a Pro user, please log in to access this functionality", redirect_field_name=None) +@permission_required('rower.is_coach',fn=get_user_by_userid,raise_exception=True) def analysis_new(request,userid=0,function='boxplot',teamid=0): r = getrequestrower(request, userid=userid) user = r.user diff --git a/rowers/views/statements.py b/rowers/views/statements.py index 1ea3b63b..e1a1f627 100644 --- a/rowers/views/statements.py +++ b/rowers/views/statements.py @@ -340,6 +340,14 @@ def get_workout_default_page(request,id): else: return reverse('workout_workflow_view',kwargs={'id':id}) +def get_user_by_userid(*args,**kwargs): + try: + id = kwargs['userid'] + except KeyError: + id = request.user.id + + return get_object_or_404(User,pk=id) + def get_user_by_id(*args,**kwargs): request = args[0] try: