small changes
This commit is contained in:
@@ -1,7 +1,26 @@
|
||||
import rules
|
||||
import datetime
|
||||
|
||||
# PERMISSIONS
|
||||
|
||||
# USER permissions
|
||||
|
||||
@rules.predicate
|
||||
def user_is_not_basic(user):
|
||||
if user.rower.rowerplan != 'basic':
|
||||
return True
|
||||
|
||||
if user.rower.protrialexpires >= datetime.date.today() and user.rower.plantrialexpires >= datetime.date.today():
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
@rules.predicate
|
||||
def is_coach(user):
|
||||
return user.rower.rowerplan in ['coach','freecoach']
|
||||
|
||||
# TEAM permissions
|
||||
|
||||
@rules.predicate
|
||||
def is_team_manager(user,team):
|
||||
return team.manager == user
|
||||
@@ -11,10 +30,6 @@ def is_team_member(user,team):
|
||||
members = team.rower.all()
|
||||
return user in [member.user for member in members]
|
||||
|
||||
@rules.predicate
|
||||
def is_coach(user):
|
||||
return user.rower.rowerplan in ['coach','freecoach']
|
||||
|
||||
@rules.predicate
|
||||
def can_view_team(user,team):
|
||||
# user based
|
||||
@@ -26,8 +41,9 @@ def can_view_team(user,team):
|
||||
# team is private
|
||||
return is_team_member(user,team) | is_team_manager(user,team)
|
||||
|
||||
|
||||
# For Team functionality
|
||||
rules.add_perm('teams.view_team',can_view_team)
|
||||
rules.add_perm('teams.add_team',is_coach)
|
||||
rules.add_perm('teams.add_team',user_is_not_basic)
|
||||
rules.add_perm('teams.change_team',is_team_manager)
|
||||
rules.add_perm('teams.delete_team',is_team_manager)
|
||||
|
||||
Reference in New Issue
Block a user