diff --git a/rowers/rower_rules.py b/rowers/rower_rules.py index f7e84f80..b41bf069 100644 --- a/rowers/rower_rules.py +++ b/rowers/rower_rules.py @@ -147,8 +147,10 @@ def is_protrial(user): return False + ispromember = is_promember | is_protrial + can_have_teams = ispromember | is_coach @rules.predicate @@ -202,8 +204,13 @@ def can_add_session(user): def can_plan(user): if user.is_anonymous: return False - - return user.rower.rowerplan in ['plan','coach','freecoach'] + if user.rower.rowerplan in ['plan','coach']: + return True + if user.rower.rowerplan in ['basic','pro']: + return user.rower.plantrialexpires >= datetime.date.today() + if user.rower.rowerplan == 'freecoach': + if user.rower.mycoachgroup is not None: + return len(user.rower.mycoachgroup)>=4 # checks if rower is coach of user (or is user himself) @rules.predicate