diff --git a/rowers/rower_rules.py b/rowers/rower_rules.py index c66a37ee..f584c5a5 100644 --- a/rowers/rower_rules.py +++ b/rowers/rower_rules.py @@ -83,6 +83,10 @@ def user_is_not_basic(user): return False +@rules.predicate +def user_is_basic(user): + return not user_is_not_basic(user) + @rules.predicate def can_start_trial(user): if user.is_anonymous: diff --git a/rowers/teams.py b/rowers/teams.py index 3ecefcd4..5e81b424 100644 --- a/rowers/teams.py +++ b/rowers/teams.py @@ -27,7 +27,7 @@ from rowers.models import ( CoachingGroup ) -from rowers.rower_rules import is_team_manager,is_team_member,is_coach +from rowers.rower_rules import is_team_manager,is_team_member,is_coach, user_is_basic from rowers.tasks import ( handle_sendemail_invite, @@ -79,9 +79,8 @@ def update_team(t,name,manager,private,notes,viewing): def create_team(name,manager,private='open',notes='',viewing='allmembers'): # needs some error testing - if manager.rower.rowerplan == 'basic': - if manager.rower.protrialexpires < timezone.now().date() and manager.rower.plantrialexpires < timezone.now().date(): - return (0,'You need to upgrade to a paid plan to establish a team') + if user_is_basic(manager.rower.user): + return (0,'You need to upgrade to a paid plan to establish a team') if not is_coach(manager): ts = Team.objects.filter(manager=manager) if len(ts)>=1: