From 89b3ec5e4f14f8c11265bc48ecae82cbc9e7ca5b Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Sun, 4 Sep 2022 21:11:00 +0200 Subject: [PATCH] fixes --- rowers/admin.py | 2 +- rowers/rower_rules.py | 6 ++++++ rowers/teams.py | 1 + rowers/views/userviews.py | 5 +++-- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/rowers/admin.py b/rowers/admin.py index 9a8d76a7..775d8383 100644 --- a/rowers/admin.py +++ b/rowers/admin.py @@ -25,7 +25,7 @@ class RowerInline(admin.StackedInline): ('Billing Details', {'fields': ('street_address', 'city', 'postal_code', 'country', 'paymentprocessor', 'customer_id')}), ('Rower Plan', - {'fields': ('paidplan', 'rowerplan', 'paymenttype', 'planexpires', 'teamplanexpires', 'protrialexpires', 'plantrialexpires', 'eurocredits', 'clubsize', 'offercoaching')}), + {'fields': ('paidplan', 'rowerplan', 'paymenttype', 'planexpires', 'teamplanexpires', 'protrialexpires', 'plantrialexpires', 'coachtrialexpires', 'eurocredits', 'clubsize', 'offercoaching')}), ('Rower Settings', {'fields': ('surveydone', 'surveydonedate', 'gdproptin', 'gdproptindate', 'weightcategory', 'sex', 'adaptiveclass', 'birthdate', 'getemailnotifications', diff --git a/rowers/rower_rules.py b/rowers/rower_rules.py index 9a9327a7..c8a14c14 100644 --- a/rowers/rower_rules.py +++ b/rowers/rower_rules.py @@ -99,6 +99,8 @@ def user_is_coachee(user): for coach in coaches: if coach.rowerplan == 'coach': return True + if coach.coachtrialexpires >= timezone.now().date(): + return True return False @@ -153,6 +155,8 @@ def is_not_freecoach(user): def is_paid_coach(user): + if user.rower.coachtrialexpires >= timezone.now().date(): + return True return user.rower.rowerplan == 'coach' @@ -750,6 +754,8 @@ def is_team_member(user, team): # pragma: no cover @rules.predicate def can_view_team(user, team): # user based - below untested + if team.manager.rower.coachtrialexpires >= timezone.now().date(): + return True if user.rower.rowerplan == 'basic' and team.manager.rower.rowerplan != 'coach': # pragma: no cover return is_plantrial(user) or is_protrial(user) or is_coachtrial(user) # team is public diff --git a/rowers/teams.py b/rowers/teams.py index 0218ce8f..7a663031 100644 --- a/rowers/teams.py +++ b/rowers/teams.py @@ -646,6 +646,7 @@ def process_invite_code(user, code): # pragma: no cover result, comment = add_member(t.id, r) + if not result: return (result, "The member couldn't be added") diff --git a/rowers/views/userviews.py b/rowers/views/userviews.py index 392545af..50574afb 100644 --- a/rowers/views/userviews.py +++ b/rowers/views/userviews.py @@ -383,8 +383,9 @@ def rower_exportsettings_view(request, userid=0): cd = form.cleaned_data if r.rowerplan == 'basic': # pragma: no cover messages.error( - request, 'These settings can only be set if you are a user" \ - " on one of the paid plans.') + request, 'This setting will only be effective if you are a user \ + on one of the paid plans \ + or part of a coaching group.') for attr, value in cd.items(): doset = True