"""Manager — manages own tryouts, all org teams, all contracts.""" from app.models.user_model.user import User class Manager(User): """Manager — manages own tryouts, all org teams, all contracts.""" __mapper_args__ = {'polymorphic_identity': 'manager'} def can_evaluate(self): return True def can_manage_teams(self): return True def can_manage_tryouts(self): return True def can_schedule_matches(self): return True def can_manage_this_tryout(self, tryout): return tryout.created_by == self.id or tryout.manager_id == self.id def can_manage_this_org_team(self, org_team): return True def get_visible_tryouts(self): from sqlalchemy import or_ from app.models.tryout.tryout import Tryout return ( Tryout.query.filter(or_(Tryout.created_by == self.id, Tryout.manager_id == self.id)) .order_by(Tryout.date) .all() )