From c30ec4b570e7283a33af9aef38aeb0cd4dd5ef19 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Mon, 5 Feb 2018 20:07:35 +0100 Subject: [PATCH] add plan to member plans --- rowers/models.py | 1 + rowers/views.py | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/rowers/models.py b/rowers/models.py index 44d0380f..e847d31c 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -483,6 +483,7 @@ class Rower(models.Model): plans = ( ('basic','basic'), ('pro','pro'), + ('plan','plan'), ('coach','coach') ) diff --git a/rowers/views.py b/rowers/views.py index 75d2600f..0986c9fd 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -752,7 +752,20 @@ def iscoachmember(user): return result +# Check if a user can create planned sessions +def hasplannedsessions(user): + if not user.is_anonymous(): + try: + r = Rower.objects.get(user=user) + except Rower.DoesNotExist: + r = Rower(user=user) + r.save() + result = user.is_authenticated() and (r.rowerplan=='coach' or r.rowerplan=='plan') + else: + result = False + + return result def getrower(user): try: @@ -774,7 +787,7 @@ def ispromember(user): r = Rower(user=user) r.save() - result = user.is_authenticated() and (r.rowerplan=='pro' or r.rowerplan=='coach') + result = user.is_authenticated() and (r.rowerplan=='pro' or r.rowerplan=='coach' or r.rowerplan=='plan') else: result = False return result @@ -11679,3 +11692,6 @@ def agegrouprecordview(request,sex='male',weightcategory='hwt', 'the_div':div, }) +@user_passes_test(hasplannedsessions,login_url="/",redirect_field_name=None) +def session_create_view(request): + return 1